From a54faf331b98e27fe1f592672c57a8f03d8257d2 Mon Sep 17 00:00:00 2001 From: johnson452 Date: Sat, 14 Sep 2024 01:01:41 -0400 Subject: [PATCH 01/16] Added a dynvector for computing the total energy per can-pb species --- apps/gkyl_vlasov.h | 16 + apps/gkyl_vlasov_priv.h | 14 + apps/vlasov.c | 45 ++ apps/vlasov_lw.c | 34 ++ apps/vm_species.c | 71 ++- .../rt_can_pb_bgk_surf_annulus_sodshock_im.c | 386 ++++++++++++++ .../rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c | 482 ++++++++++++++++++ 7 files changed, 1047 insertions(+), 1 deletion(-) create mode 100644 regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c create mode 100644 regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c diff --git a/apps/gkyl_vlasov.h b/apps/gkyl_vlasov.h index da3cd35d6..d604fd571 100644 --- a/apps/gkyl_vlasov.h +++ b/apps/gkyl_vlasov.h @@ -410,6 +410,14 @@ void gkyl_vlasov_app_calc_mom(gkyl_vlasov_app *app); */ void gkyl_vlasov_app_calc_integrated_mom(gkyl_vlasov_app* app, double tm); +/** + * Calculate integrated energy of the distribution function. + * + * @param tm Time at which integrated diagnostic are to be computed + * @param app App object. + */ +void gkyl_vlasov_app_calc_integrated_total_energy_f(gkyl_vlasov_app* app, double tm); + /** * Calculate integrated L2 norm of the distribution function, f^2. * @@ -491,6 +499,14 @@ void gkyl_vlasov_app_write_mom(gkyl_vlasov_app *app, double tm, int frame); */ void gkyl_vlasov_app_write_integrated_mom(gkyl_vlasov_app *app); +/** + * Write integrated energy of the species distribution function to file. Integrated + * energy is appended to the same file. + * + * @param app App object. + */ +void gkyl_vlasov_app_write_integrated_energy_f(gkyl_vlasov_app *app); + /** * Write integrated L2 norm of the species distribution function to file. Integrated * L2 norm is appended to the same file. diff --git a/apps/gkyl_vlasov_priv.h b/apps/gkyl_vlasov_priv.h index 8afe98ef6..5f80f6283 100644 --- a/apps/gkyl_vlasov_priv.h +++ b/apps/gkyl_vlasov_priv.h @@ -333,11 +333,15 @@ struct vm_species { struct vm_species_moment integ_moms; // integrated moments struct vm_species_moment *moms; // diagnostic moments struct gkyl_array *L2_f; // L2 norm f^2 + struct gkyl_array *energy_f; // total_energy double *red_L2_f; // for reduction of integrated L^2 norm on GPU + double *red_energy_f; // for reduction of integrated total_energy norm on GPU double *red_integ_diag; // for reduction of integrated moments on GPU gkyl_dynvec integ_L2_f; // integrated L^2 norm reduced across grid + gkyl_dynvec integ_energy_f; // integrated total_energy norm reduced across grid gkyl_dynvec integ_diag; // integrated moments reduced across grid bool is_first_integ_L2_write_call; // flag for integrated L^2 norm dynvec written first time + bool is_first_integ_energy_write_call; // flag for integrated L^2 norm dynvec written first time bool is_first_integ_write_call; // flag for integrated moments dynvec written first time gkyl_dg_updater_vlasov *slvr; // Vlasov solver @@ -1062,6 +1066,16 @@ double vm_species_rhs_implicit(gkyl_vlasov_app *app, struct vm_species *species, */ void vm_species_apply_bc(gkyl_vlasov_app *app, const struct vm_species *species, struct gkyl_array *f); +/** + * Compute the total energy of the distribution function diagnostic + * + * @param app Vlasov app object + * @param tm Time at which diagnostic is computed + * @param species Pointer to species + */ +void vm_species_calc_total_energy(gkyl_vlasov_app *app, double tm, const struct vm_species *species); + + /** * Compute L2 norm (f^2) of the distribution function diagnostic * diff --git a/apps/vlasov.c b/apps/vlasov.c index 5bd19b0fe..155c3482c 100644 --- a/apps/vlasov.c +++ b/apps/vlasov.c @@ -438,6 +438,19 @@ gkyl_vlasov_app_calc_integrated_mom(gkyl_vlasov_app* app, double tm) app->stat.ndiag += 1; } + +void +gkyl_vlasov_app_calc_integrated_total_energy_f(gkyl_vlasov_app* app, double tm) +{ + struct timespec wst = gkyl_wall_clock(); + for (int i=0; inum_species; ++i) { + struct vm_species *vm_s = &app->species[i]; + vm_species_calc_total_energy(app, tm, vm_s); + } + app->stat.diag_tm += gkyl_time_diff_now_sec(wst); + app->stat.ndiag += 1; +} + void gkyl_vlasov_app_calc_integrated_L2_f(gkyl_vlasov_app* app, double tm) { @@ -665,6 +678,38 @@ gkyl_vlasov_app_write_integrated_mom(gkyl_vlasov_app *app) } } +void +gkyl_vlasov_app_write_integrated_energy_f(gkyl_vlasov_app* app) +{ + for (int i=0; inum_species; ++i) { + struct vm_species *vm_s = &app->species[i]; + vm_species_calc_total_energy(app, 0.0, vm_s); + + int rank; + gkyl_comm_get_rank(app->comm, &rank); + if (rank == 0) { + // write out integrated energy + const char *fmt = "%s-%s-%s.gkyl"; + int sz = gkyl_calc_strlen(fmt, app->name, vm_s->info.name, + "energy"); + char fileNm[sz+1]; // ensures no buffer overflow + snprintf(fileNm, sizeof fileNm, fmt, app->name, vm_s->info.name, + "energy"); + + if (vm_s->is_first_integ_energy_write_call) { + // write to a new file (this ensure previous output is removed) + gkyl_dynvec_write(vm_s->integ_energy_f, fileNm); + vm_s->is_first_integ_energy_write_call = false; + } + else { + // append to existing file + gkyl_dynvec_awrite(vm_s->integ_energy_f, fileNm); + } + } + gkyl_dynvec_clear(vm_s->integ_energy_f); + } +} + void gkyl_vlasov_app_write_integrated_L2_f(gkyl_vlasov_app* app) { diff --git a/apps/vlasov_lw.c b/apps/vlasov_lw.c index 2f8016318..a2835c1e0 100644 --- a/apps/vlasov_lw.c +++ b/apps/vlasov_lw.c @@ -448,6 +448,23 @@ vm_app_calc_integrated_mom(lua_State *L) return 1; } +// Compute integrated energy of distribution function. (tm) -> bool +static int +gkyl_vlasov_app_calc_integrated_total_energy_f(lua_State *L) +{ + bool status = true; + + struct vlasov_app_lw **l_app_lw = GKYL_CHECK_UDATA(L, VLASOV_APP_METATABLE_NM); + struct vlasov_app_lw *app_lw = *l_app_lw; + + double tm = luaL_checknumber(L, 2); + gkyl_vlasov_app_calc_integrated_energy_f(app_lw->app, tm); + + lua_pushboolean(L, status); + return 1; +} + + // Compute integrated L2 norm of distribution function. (tm) -> bool static int vm_app_calc_integrated_L2_f(lua_State *L) @@ -565,6 +582,21 @@ vm_app_write_integrated_mom(lua_State *L) return 1; } +// Write integrated energy norm of f to file () -> bool +static int +vm_app_write_integrated_energy_f(lua_State *L) +{ + bool status = true; + + struct vlasov_app_lw **l_app_lw = GKYL_CHECK_UDATA(L, VLASOV_APP_METATABLE_NM); + struct vlasov_app_lw *app_lw = *l_app_lw; + + gkyl_vlasov_app_write_integrated_energy_f(app_lw->app); + + lua_pushboolean(L, status); + return 1; +} + // Write integrated L2 norm of f to file () -> bool static int vm_app_write_integrated_L2_f(lua_State *L) @@ -701,6 +733,7 @@ static struct luaL_Reg vm_app_funcs[] = { { "apply_ic_species", vm_app_apply_ic_species }, { "calc_mom", vm_app_calc_mom }, { "calc_integrated_mom", vm_app_calc_integrated_mom }, + { "calc_integrated_energy_f", vm_app_calc_integrated_energy_f }, { "calc_integrated_L2_f", vm_app_calc_integrated_L2_f }, { "calc_field_energy", vm_app_calc_field_energy }, { "write", vm_app_write }, @@ -708,6 +741,7 @@ static struct luaL_Reg vm_app_funcs[] = { { "write_species", vm_app_write_species }, { "write_mom", vm_app_write_mom }, { "write_integrated_mom", vm_app_write_integrated_mom }, + { "write_integrated_energy_f", vm_app_write_integrated_energy_f }, { "write_integrated_L2_f", vm_app_write_integrated_L2_f }, { "write_field_energy", vm_app_write_field_energy }, { "stat_write", vm_app_stat_write }, diff --git a/apps/vm_species.c b/apps/vm_species.c index 2fb04bf7d..4eadfc1b4 100644 --- a/apps/vm_species.c +++ b/apps/vm_species.c @@ -218,16 +218,20 @@ vm_species_init(struct gkyl_vm *vm, struct gkyl_vlasov_app *app, struct vm_speci for (int m=0; mmoms[m], s->info.diag_moments[m]); - // array for storing f^2 in each cell + // array for storing f^2 and energy in each cell s->L2_f = mkarr(app->use_gpu, 1, s->local_ext.volume); + s->energy_f = mkarr(app->use_gpu, 1, s->local_ext.volume); if (app->use_gpu) { s->red_L2_f = gkyl_cu_malloc(sizeof(double)); + s->red_energy_f = gkyl_cu_malloc(sizeof(double)); s->red_integ_diag = gkyl_cu_malloc(sizeof(double[vdim+2])); } // allocate dynamic-vector to store all-reduced integrated moments and f^2 s->integ_L2_f = gkyl_dynvec_new(GKYL_DOUBLE, 1); + s->integ_energy_f = gkyl_dynvec_new(GKYL_DOUBLE, 1); s->integ_diag = gkyl_dynvec_new(GKYL_DOUBLE, vdim+2); s->is_first_integ_L2_write_call = true; + s->is_first_integ_energy_write_call = true; s->is_first_integ_write_call = true; // Initialize applied acceleration for use in force update. @@ -539,6 +543,68 @@ vm_species_apply_bc(gkyl_vlasov_app *app, const struct vm_species *species, stru app->stat.species_bc_tm += gkyl_time_diff_now_sec(wst); } + + +static void +calc_op_range(struct gkyl_basis basis, struct gkyl_array *out, + const struct gkyl_array *distf, const struct gkyl_array *hamil, + struct gkyl_range range) +{ +#ifdef GKYL_HAVE_CUDA + // if (gkyl_array_is_cu_dev(out)) { + // return gkyl_dg_calc_op_range_cu(basis, c_oop, out, c_distf, distf, range, op); + // } +#endif + + int num_basis = basis.num_basis; + + struct gkyl_range_iter iter; + gkyl_range_iter_init(&iter, &range); + + while (gkyl_range_iter_next(&iter)) { + long loc = gkyl_range_idx(&range, iter.idx); + + const double *distf_d = gkyl_array_cfetch(distf, loc); + const double *hamil_d = gkyl_array_cfetch(hamil, loc); + double *out_d = gkyl_array_fetch(out, loc); + + out_d[0] = 0.0; + for (int i=0; imodel_id == GKYL_MODEL_CANONICAL_PB){ + calc_energy_range(app->basis, species->energy_f, species->f, species->hamil, species->local); + gkyl_array_scale_range(species->energy_f, species->grid.cellVolume, &species->local); + + double energy[1] = { 0.0 }; + if (app->use_gpu) { + gkyl_array_reduce_range(species->red_energy_f, species->energy_f, GKYL_SUM, &species->local); + gkyl_cu_memcpy(energy, species->red_energy_f, sizeof(double), GKYL_CU_MEMCPY_D2H); + } + else { + gkyl_array_reduce_range(energy, species->energy_f, GKYL_SUM, &species->local); + } + double energy_global[1] = { 0.0 }; + gkyl_comm_all_reduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, energy, energy_global); + + gkyl_dynvec_append(species->integ_energy_f, tm, energy_global); + } +} + void vm_species_calc_L2(gkyl_vlasov_app *app, double tm, const struct vm_species *species) { @@ -667,6 +733,8 @@ vm_species_release(const gkyl_vlasov_app* app, const struct vm_species *s) gkyl_free(s->moms); vm_species_moment_release(app, &s->integ_moms); + gkyl_array_release(s->energy_f); + gkyl_dynvec_release(s->integ_energy_f); gkyl_array_release(s->L2_f); gkyl_dynvec_release(s->integ_L2_f); gkyl_dynvec_release(s->integ_diag); @@ -704,6 +772,7 @@ vm_species_release(const gkyl_vlasov_app* app, const struct vm_species *s) if (app->use_gpu) { gkyl_cu_free(s->omegaCfl_ptr); + gkyl_cu_free(s->red_energy_f); gkyl_cu_free(s->red_L2_f); gkyl_cu_free(s->red_integ_diag); } diff --git a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c new file mode 100644 index 000000000..3ab4479f0 --- /dev/null +++ b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c @@ -0,0 +1,386 @@ +#include +#include +#include + +#include +#include +#include + + +static inline double sq(double x) { return x*x; } + +struct annulus_sodshock_ctx +{ + // Mathematical constants (dimensionless). + double pi; + + double rhol; // Left/inner density. + double ul; // Left/inner velocity (r-direction). + double ul_theta; // Left/inner velocity (theta-direction). + double templ; // Left/inner temperature. + + double rhor; // Right/outer density. + double ur; // Right/outer velocity (r-direction). + double ur_theta; // Right/outer velocity (theta-direction). + double tempr; // Right/outer temperature. + + // Simulation parameters. + int Nr; // Cell count (configuration space: r-direction). + int Ntheta; // Cell count (configuration space: theta-direction). + int Nv; // Cell count (velocity space: all directions). + double Rmin; // Domain size (configuration space: r-direction, min value). + double Rmax; // Domain size (configuration space: r-direction, max value). + double theta_min; // Domain size (configuration space: theta-direction, min value). + double theta_max; // Domain size (configuration space: theta-direction, max value). + int poly_order; // Polynomial order. + double cfl_frac; // CFL coefficient. + + double t_end; // Final simulation time. + int num_frames; // Number of output frames. + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. + + double charge; // charge + double mass; // mass + double vt; // thermal velocity + double midplane; // midplane of the theta coord. +}; + +struct annulus_sodshock_ctx +create_ctx(void) +{ + // Mathematical constants (dimensionless). + double pi = M_PI; + + double rhol = 1.0; // Left/inner density. + double ul = 0.0; // Left/inner velocity (r-direction). + double ul_theta = 0.0; // Left/inner velocity (theta-direction). + double templ = 1.0; // Left/inner temperature. + + double rhor = 0.125; // Right/outer density. + double ur = 0.0; // Right/outer velocity (r-direction). + double ur_theta = 0.0; // Right/outer velocity (theta-direction). + double tempr = sqrt(0.1 / 0.125); // Right/outer temperature. + + // Simulation parameters. + int Nr = 64; // Cell count (configuration space: x-direction). + int Ntheta = 1; // Cell count (configuration space: y-direction). + int Nv = 12; // Cell count (velocity space: all directions). + double Rmin = 0.5; // Domain size (configuration space: r-direction, min value). + double Rmax = 1.5; // Domain size (configuration space: r-direction, max value). + double theta_min = 0.0; // Domain size (configuration space: theta-direction, min value). + double theta_max = 2*pi; // Domain size (configuration space: theta-direction, max value). + int poly_order = 2; // Polynomial order. + double cfl_frac = 0.9; // CFL coefficient. + + double t_end = 0.1; // Final simulation time. + int num_frames = 5; // Number of output frames. + 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. + + double charge = 1.0; // charge + double mass = 1.0; // mass + double vt = 1.0; // thermal velocity + double midplane = 1.0; // Midplane location in R for the jump in quantities + + struct annulus_sodshock_ctx ctx = { + .pi = pi, + .rhol = rhol, + .ul = ul, + .ul_theta = ul_theta, + .templ = templ, + .rhor = rhor, + .ur = ur, + .ur_theta = ur_theta, + .tempr = tempr, + .Nr = Nr, + .Ntheta = Ntheta, + .Nv = Nv, + .Rmin = Rmin, + .Rmax = Rmax, + .theta_min = theta_min, + .theta_max = theta_max, + .poly_order = poly_order, + .cfl_frac = cfl_frac, + .t_end = t_end, + .num_frames = num_frames, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + .charge = charge, + .mass = mass, + .vt = vt, + .midplane = midplane, + }; + + return ctx; +} + + +void +evalNu(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + double theta = xn[0], v = xn[1]; + fout[0] = 15000.0; +} + +void +h_ij_inv(double t, const double* xn, double* fout, void* ctx) +{ + // Inverse metric tensor, must be symmetric! + // [h^{xx},h^{xy},h^{yy}] + struct annulus_sodshock_ctx *app = (struct annulus_sodshock_ctx *)ctx; + double q_R = xn[0], q_theta = xn[1]; + const double q[2] = {q_R, q_theta}; + + // [h^{thetatheta},h^{thetaphi},h^{phiphi}] + fout[0] = 1.0; + fout[1] = 0.0; + fout[2] = 1.0 / pow(q[0], 2); +} + +void +det_h(double t, const double* xn, double* fout, void* ctx) +{ + // determinant of the metric tensor: J = det(h_{ij}) + struct annulus_sodshock_ctx *app = (struct annulus_sodshock_ctx *)ctx; + double q_R = xn[0], q_theta = xn[1]; + const double q[2] = {q_R, q_theta}; + fout[0] = q_R; +} + +void +hamil(double t, const double* xn, double* fout, void* ctx) +{ + // Canonical coordinates: + double q_R = xn[0], q_theta = xn[1], p_R_dot = xn[2], p_theta_dot = xn[3]; + const double q[2] = {q_R, q_theta}; + const double w[2] = {p_R_dot, p_theta_dot}; + struct annulus_sodshock_ctx *app = (struct annulus_sodshock_ctx *)ctx; + double *h_inv = malloc(3 * sizeof(double)); + h_ij_inv(t, xn, h_inv, ctx); + fout[0] = 0.5 * h_inv[0] * w[0] * w[0] + + 0.5 * (2.0* h_inv[1] * w[1] * w[0]) + + 0.5 * h_inv[2] * w[1] * w[1]; + free(h_inv); +} + +void +evalDensityInit(double t, const double* GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void* ctx) +{ + double R = xn[0], theta = xn[1]; + struct annulus_sodshock_ctx *app = ctx; + double pi = app -> pi; + double rhol = app -> rhol; + double rhor = app -> rhor; + double midplane = app -> midplane; + + double rho = 0.0; + + if (R < midplane) { + rho = rhol; // Density (left/inner). + } + else { + rho = rhor; // Density (right/outer). + } + + // Set the density. + double det_h_val; + det_h(t, xn, &det_h_val, ctx); + fout[0] = rho*det_h_val; +} + +void +evalVDriftInit(double t, const double* GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void* ctx) +{ + double R = xn[0], theta = xn[1]; + struct annulus_sodshock_ctx *app = ctx; + double pi = app -> pi; + double ul_R = app -> ul; + double ur_R = app -> ur; + double ul_theta = app -> ul_theta; + double ur_theta = app -> ur_theta; + double midplane = app -> midplane; + + double u_R = 0.0; + double u_theta = 0.0; + + + if (R < midplane) { + u_R = ul_R; // r-velocity (left/inner). + u_theta = ul_theta; // theta-velocity (left/inner). + } + else { + u_R = ur_R; // r-velocity (right/outer). + u_theta = ur_theta; // theta-velocity (right-outer). + } + + // Set the velocity. + fout[0] = u_R; + fout[1] = u_theta; +} + +void +evalTempInit(double t, const double* GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void* ctx) +{ + double R = xn[0], theta = xn[1]; + struct annulus_sodshock_ctx *app = ctx; + double pi = app -> pi; + double templ = app -> templ; + double tempr = app -> tempr; + double midplane = app -> midplane; + + double rho = 0.0; + double temperature = 0.0; + + if (R < midplane) { + temperature = templ; // Temperature (left/inner). + } + else { + temperature = tempr; // Temperature (right/outer). + } + + // Set temperature + fout[0] = temperature; +} + +void +write_data(struct gkyl_tm_trigger *iot, gkyl_vlasov_app *app, double tcurr) +{ + if (gkyl_tm_trigger_check_and_bump(iot, tcurr)) { + gkyl_vlasov_app_write(app, tcurr, iot->curr-1); + gkyl_vlasov_app_calc_mom(app); gkyl_vlasov_app_write_mom(app, tcurr, iot->curr-1); + } +} + +int +main(int argc, char **argv) +{ + struct gkyl_app_args app_args = parse_app_args(argc, argv); + + if (app_args.trace_mem) { + gkyl_cu_dev_mem_debug_set(true); + gkyl_mem_debug_set(true); + } + struct annulus_sodshock_ctx ctx = create_ctx(); // context for init functions + + int NR = APP_ARGS_CHOOSE(app_args.xcells[0], ctx.Nr); + int NTHETA = APP_ARGS_CHOOSE(app_args.xcells[1], ctx.Ntheta); + + // electrons + struct gkyl_vlasov_species neut = { + .name = "neut", + .model_id = GKYL_MODEL_CANONICAL_PB, + .charge = ctx.charge, .mass = ctx.mass, + .lower = { -8.0*ctx.vt, -8.0*ctx.vt}, + .upper = { 8.0*ctx.vt, 8.0*ctx.vt}, + .cells = { ctx.Nv, ctx.Nv }, + .hamil = hamil, + .h_ij_inv = h_ij_inv, + .det_h = det_h, + .hamil_ctx = &ctx, + .h_ij_inv_ctx = &ctx, + .det_h_ctx = &ctx, + + // Reflective boundary condition + .bcx = {GKYL_SPECIES_REFLECT, GKYL_SPECIES_REFLECT}, + + .num_init = 1, + .projection[0] = { + .proj_id = GKYL_PROJ_VLASOV_LTE, + .density = evalDensityInit, + .ctx_density = &ctx, + .V_drift = evalVDriftInit, + .ctx_V_drift = &ctx, + .temp = evalTempInit, + .ctx_temp = &ctx, + .correct_all_moms = true, + }, + + // .collisions = { + // .collision_id = GKYL_BGK_COLLISIONS, + + // .ctx = &ctx, + // .self_nu = evalNu, + // .has_implicit_coll_scheme = true, + // .correct_all_moms = true, + // }, + + .num_diag_moments = 3, + .diag_moments = { "M0", "M1i", "LTEMoments" }, + }; + + // VM app + struct gkyl_vm vm = { + .name = "can_pb_bgk_surf_annulus_sodshock_p2", + + .cdim = 2, .vdim = 2, + .lower = { ctx.Rmin, ctx.theta_min }, + .upper = { ctx.Rmax, ctx.theta_max }, + .cells = { NR, NTHETA }, + .poly_order = ctx.poly_order, + .basis_type = app_args.basis_type, + + .num_periodic_dir = 1, + .periodic_dirs = {1}, + + .num_species = 1, + .species = { neut }, + .skip_field = true, + + .use_gpu = app_args.use_gpu, + }; + + // create app object + gkyl_vlasov_app *app = gkyl_vlasov_app_new(&vm); + + // start, end and initial time-step + double tcurr = 0.0, tend = ctx.t_end; + double dt = tend-tcurr; + int nframe = ctx.num_frames; + struct gkyl_tm_trigger io_trig = { .dt = tend/nframe }; + + // initialize simulation + gkyl_vlasov_app_apply_ic(app, tcurr); + + // Write the inital timestep + write_data(&io_trig, app, tcurr); + + long step = 1, num_steps = app_args.num_steps; + while ((tcurr < tend) && (step <= num_steps)) { + printf("Taking time-step at t = %g ...", tcurr); + struct gkyl_update_status status = gkyl_vlasov_update(app, dt); + printf(" dt = %g\n", status.dt_actual); + gkyl_vlasov_app_write_integrated_energy_f(app); + + if (!status.success) { + printf("** Update method failed! Aborting simulation ....\n"); + break; + } + tcurr += status.dt_actual; + dt = status.dt_suggested; + write_data(&io_trig, app, tcurr); + + step += 1; + } + gkyl_vlasov_app_stat_write(app); + + // fetch simulation statistics + struct gkyl_vlasov_stat stat = gkyl_vlasov_app_stat(app); + + // simulation complete, free app + gkyl_vlasov_app_release(app); + + printf("\n"); + printf("Number of update calls %ld\n", stat.nup); + printf("Number of forward-Euler calls %ld\n", stat.nfeuler); + printf("Number of RK stage-2 failures %ld\n", stat.nstage_2_fail); + if (stat.nstage_2_fail > 0) { + printf("Max rel dt diff for RK stage-2 failures %g\n", stat.stage_2_dt_diff[1]); + printf("Min rel dt diff for RK stage-2 failures %g\n", stat.stage_2_dt_diff[0]); + } + printf("Number of RK stage-3 failures %ld\n", stat.nstage_3_fail); + printf("Species RHS calc took %g secs\n", stat.species_rhs_tm); + printf("Updates took %g secs\n", stat.total_tm); + + return 0; +} diff --git a/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c b/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c new file mode 100644 index 000000000..f84daf0fc --- /dev/null +++ b/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c @@ -0,0 +1,482 @@ +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#ifdef GKYL_HAVE_MPI +#include +#include +#ifdef GKYL_HAVE_NCCL +#include +#endif +#endif + +#include + +struct sodshock_ctx +{ + // Physical constants (using normalized code units). + double mass; // Neutral mass. + double charge; // Neutral charge. + + double nl; // Left number density. + double Tl; // Left temperature. + + double nr; // Right number density. + double Tr; // Right temperature. + + double vt; // Thermal velocity. + double Vx_drift; // Drift velocity (x-direction). + double nu; // Collision frequency. + + // Simulation parameters. + int Nx; // Cell count (configuration space: x-direction). + int Nvx; // Cell count (velocity space: vx-direction). + double Lx; // Domain size (configuration space: x-direction). + double vx_max; // Domain boundary (velocity space: vx-direction). + int poly_order; // Polynomial order. + double cfl_frac; // CFL coefficient. + + double t_end; // Final simulation time. + int num_frames; // Number of output frames. + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. +}; + +struct sodshock_ctx +create_ctx(void) +{ + // Physical constants (using normalized code units). + double mass = 1.0; // Neutral mass. + double charge = 0.0; // Neutral charge. + + double nl = 1.0; // Left number density. + double Tl = 1.0; // Left temperature. + + double nr = 0.125; // Right number density. + double Tr = sqrt(0.1 / 0.125); // Right temperature. + + double vt = 1.0; // Thermal velocity. + double Vx_drift = 0.0; // Drift velocity (x-direction). + double nu = 15000.0; // Collision frequency. + + // Simulation parameters. + int Nx = 128; // Cell count (configuration space: x-direction). + int Nvx = 32; // Cell count (velocity space: vx-direction). + double Lx = 1.0; // Domain size (configuration space: x-direction). + double vx_max = 8.0 * vt; // Domain boundary (velocity space: vx-direction). + int poly_order = 2; // Polynomial order. + double cfl_frac = 1.0; // CFL coefficient. + + double t_end = 0.1; // Final simulation time. + int num_frames = 1; // Number of output frames. + 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 sodshock_ctx ctx = { + .mass = mass, + .charge = charge, + .nl = nl, + .Tl = Tl, + .nr = nr, + .Tr = Tr, + .vt = vt, + .Vx_drift = Vx_drift, + .nu = nu, + .Nx = Nx, + .Nvx = Nvx, + .Lx = Lx, + .vx_max = vx_max, + .poly_order = poly_order, + .cfl_frac = cfl_frac, + .t_end = t_end, + .num_frames = num_frames, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + }; + + return ctx; +} + +void +h_ij_inv(double t, const double* xn, double* fout, void* ctx) +{ + fout[0] = 1; +} + +void +det_h(double t, const double* xn, double* fout, void* ctx) +{ + fout[0] = 1; +} + + +void +hamil(double t, const double* xn, double* fout, void* ctx) +{ + double x = xn[0], v = xn[1]; + fout[0] = 0.5*v*v; +} + +void +evalDensityInit(double t, const double* GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void* ctx) +{ + struct sodshock_ctx *app = ctx; + double x = xn[0]; + + double nl = app->nl; + double nr = app->nr; + + double n = 0.0; + + if (x < 0.5) { + n = nl; + } + else { + n = nr; + } + + // Set distribution function. + fout[0] = n; +} + +void +evalTempInit(double t, const double* GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void* ctx) +{ + struct sodshock_ctx *app = ctx; + double x = xn[0]; + + double Tl = app->Tl; + double Tr = app->Tr; + + double T = 0.0; + + if (x < 0.5) { + T = Tl; + } + else { + T = Tr; + } + + // Set temperature. + fout[0] = T; +} + +void +evalVDriftInit(double t, const double* GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void* ctx) +{ + struct sodshock_ctx *app = ctx; + + double Vx_drift = app->Vx_drift; + + // Set drift velocity. + fout[0] = Vx_drift; +} + +void +evalNu(double t, const double* GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void* ctx) +{ + struct sodshock_ctx *app = ctx; + + double nu = app->nu; + + // Set collision frequency. + fout[0] = nu; +} + +void +write_data(struct gkyl_tm_trigger* iot, gkyl_vlasov_app* app, double t_curr, bool force_write) +{ + if (gkyl_tm_trigger_check_and_bump(iot, t_curr)) { + int frame = iot->curr - 1; + if (force_write) { + frame = iot->curr; + } + + gkyl_vlasov_app_write(app, t_curr, iot->curr - 1); + + gkyl_vlasov_app_calc_mom(app); + gkyl_vlasov_app_write_mom(app, t_curr, iot->curr - 1); + } +} + +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 sodshock_ctx ctx = create_ctx(); // Context for initialization functions. + + int NX = APP_ARGS_CHOOSE(app_args.xcells[0], ctx.Nx); + int NVX = APP_ARGS_CHOOSE(app_args.vcells[0], ctx.Nvx); + + int nrank = 1; // Number of processors in simulation. +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) { + MPI_Comm_size(MPI_COMM_WORLD, &nrank); + } +#endif + + // Create global range. + int ccells[] = { NX }; + int cdim = sizeof(ccells) / sizeof(ccells[0]); + struct gkyl_range cglobal_r; + gkyl_create_global_range(cdim, ccells, &cglobal_r); + + // Create decomposition. + int cuts[cdim]; +#ifdef GKYL_HAVE_MPI + for (int d = 0; d < cdim; d++) { + if (app_args.use_mpi) { + cuts[d] = app_args.cuts[d]; + } + else { + cuts[d] = 1; + } + } +#else + for (int d = 0; d < cdim; d++) { + cuts[d] = 1; + } +#endif + + struct gkyl_rect_decomp *decomp = gkyl_rect_decomp_new_from_cuts(cdim, cuts, &cglobal_r); + + // Construct communicator for use in app. + struct gkyl_comm *comm; +#ifdef GKYL_HAVE_MPI + if (app_args.use_gpu && app_args.use_mpi) { +#ifdef GKYL_HAVE_NCCL + comm = gkyl_nccl_comm_new( &(struct gkyl_nccl_comm_inp) { + .mpi_comm = MPI_COMM_WORLD, + .decomp = decomp + } + ); +#else + printf(" Using -g and -M together requires NCCL.\n"); + assert(0 == 1); +#endif + } + else if (app_args.use_mpi) { + comm = gkyl_mpi_comm_new( &(struct gkyl_mpi_comm_inp) { + .mpi_comm = MPI_COMM_WORLD, + .decomp = decomp + } + ); + } + else { + comm = gkyl_null_comm_inew( &(struct gkyl_null_comm_inp) { + .decomp = decomp, + .use_gpu = app_args.use_gpu + } + ); + } +#else + comm = gkyl_null_comm_inew( &(struct gkyl_null_comm_inp) { + .decomp = decomp, + .use_gpu = app_args.use_gpu + } + ); +#endif + + int my_rank; + gkyl_comm_get_rank(comm, &my_rank); + int comm_size; + gkyl_comm_get_size(comm, &comm_size); + + int ncuts = 1; + for (int d = 0; d < cdim; d++) { + ncuts *= cuts[d]; + } + + if (ncuts != comm_size) { + if (my_rank == 0) { + fprintf(stderr, "*** Number of ranks, %d, does not match total cuts, %d!\n", comm_size, ncuts); + } + goto mpifinalize; + } + + // Neutral species. + struct gkyl_vlasov_species neut = { + .name = "neut", + .model_id = GKYL_MODEL_CANONICAL_PB, + .charge = ctx.charge, .mass = ctx.mass, + .lower = { -ctx.vx_max }, + .upper = { ctx.vx_max }, + .cells = { NVX }, + .hamil = hamil, + .h_ij_inv = h_ij_inv, + .det_h = det_h, + .hamil_ctx = &ctx, + .h_ij_inv_ctx = &ctx, + .det_h_ctx = &ctx, + .output_f_lte = true, + + .num_init = 1, + .projection[0] = { + .proj_id = GKYL_PROJ_VLASOV_LTE, + .density = evalDensityInit, + .ctx_density = &ctx, + .temp = evalTempInit, + .ctx_temp = &ctx, + .V_drift = evalVDriftInit, + .ctx_V_drift = &ctx, + .correct_all_moms = true, + }, + .collisions = { + .collision_id = GKYL_BGK_COLLISIONS, + .has_implicit_coll_scheme = true, + .self_nu = evalNu, + .ctx = &ctx, + .correct_all_moms = true, + }, + + .num_diag_moments = 3, + .diag_moments = { "M0", "M1i", "LTEMoments" }, + }; + + // Vlasov-Maxwell app. + struct gkyl_vm app_inp = { + .name = "can_pb_neut_bgk_sodshock_im_1x1v_p2", + + .cdim = 1, .vdim = 1, + .lower = { 0.0 }, + .upper = { ctx.Lx }, + .cells = { NX }, + + .poly_order = ctx.poly_order, + .basis_type = app_args.basis_type, + .cfl_frac = ctx.cfl_frac, + + .num_periodic_dir = 0, + .periodic_dirs = { }, + + .num_species = 1, + .species = { neut }, + + .skip_field = true, + + .use_gpu = app_args.use_gpu, + + .has_low_inp = true, + .low_inp = { + .local_range = decomp->ranges[my_rank], + .comm = comm + } + }; + + // Create app object. + gkyl_vlasov_app *app = gkyl_vlasov_app_new(&app_inp); + + // Initial and final simulation times. + double t_curr = 0.0, t_end = ctx.t_end; + + // Create trigger for IO. + int num_frames = ctx.num_frames; + struct gkyl_tm_trigger io_trig = { .dt = t_end / num_frames }; + + // Initialize simulation. + gkyl_vlasov_app_apply_ic(app, t_curr); + write_data(&io_trig, app, t_curr, false); + + // Compute initial guess of maximum stable time-step. + double dt = t_end - t_curr; + + // Initialize small time-step check. + double dt_init = -1.0, dt_failure_tol = ctx.dt_failure_tol; + int num_failures = 0, num_failures_max = ctx.num_failures_max; + + long step = 1; + while ((t_curr < t_end) && (step <= app_args.num_steps)) { + gkyl_vlasov_app_cout(app, stdout, "Taking time-step %ld at t = %g ...", step, t_curr); + struct gkyl_update_status status = gkyl_vlasov_update(app, dt); + gkyl_vlasov_app_cout(app, stdout, " dt = %g\n", status.dt_actual); + gkyl_vlasov_app_write_integrated_energy_f(app); + + if (!status.success) { + gkyl_vlasov_app_cout(app, stdout, "** Update method failed! Aborting simulation ....\n"); + break; + } + + t_curr += status.dt_actual; + dt = status.dt_suggested; + + write_data(&io_trig, app, t_curr, false); + + if (dt_init < 0.0) { + dt_init = status.dt_actual; + } + else if (status.dt_actual < dt_failure_tol * dt_init) { + num_failures += 1; + + gkyl_vlasov_app_cout(app, stdout, "WARNING: Time-step dt = %g", status.dt_actual); + gkyl_vlasov_app_cout(app, stdout, " is below %g*dt_init ...", dt_failure_tol); + gkyl_vlasov_app_cout(app, stdout, " num_failures = %d\n", num_failures); + if (num_failures >= num_failures_max) { + gkyl_vlasov_app_cout(app, stdout, "ERROR: Time-step was below %g*dt_init ", dt_failure_tol); + gkyl_vlasov_app_cout(app, stdout, "%d consecutive times. Aborting simulation ....\n", num_failures_max); + break; + } + } + else { + num_failures = 0; + } + + step += 1; + } + + write_data(&io_trig, app, t_curr, false); + gkyl_vlasov_app_stat_write(app); + + struct gkyl_vlasov_stat stat = gkyl_vlasov_app_stat(app); + + gkyl_vlasov_app_cout(app, stdout, "\n"); + gkyl_vlasov_app_cout(app, stdout, "Number of update calls %ld\n", stat.nup); + gkyl_vlasov_app_cout(app, stdout, "Number of forward-Euler calls %ld\n", stat.nfeuler); + gkyl_vlasov_app_cout(app, stdout, "Number of RK stage-2 failures %ld\n", stat.nstage_2_fail); + if (stat.nstage_2_fail > 0) { + gkyl_vlasov_app_cout(app, stdout, " Max rel dt diff for RK stage-2 failures %g\n", stat.stage_2_dt_diff[1]); + gkyl_vlasov_app_cout(app, stdout, " Min rel dt diff for RK stage-2 failures %g\n", stat.stage_2_dt_diff[0]); + } + gkyl_vlasov_app_cout(app, stdout, "Number of RK stage-3 failures %ld\n", stat.nstage_3_fail); + gkyl_vlasov_app_cout(app, stdout, "Species RHS calc took %g secs\n", stat.species_rhs_tm); + gkyl_vlasov_app_cout(app, stdout, "Species collisions RHS calc took %g secs\n", stat.species_coll_tm); + gkyl_vlasov_app_cout(app, stdout, "Field RHS calc took %g secs\n", stat.field_rhs_tm); + gkyl_vlasov_app_cout(app, stdout, "Species collisional moments took %g secs\n", stat.species_coll_mom_tm); + gkyl_vlasov_app_cout(app, stdout, "Total updates took %g secs\n", stat.total_tm); + + gkyl_vlasov_app_cout(app, stdout, "Number of write calls %ld\n", stat.nio); + gkyl_vlasov_app_cout(app, stdout, "IO time took %g secs \n", stat.io_tm); + + // Free resources after simulation completion. + gkyl_rect_decomp_release(decomp); + gkyl_comm_release(comm); + gkyl_vlasov_app_release(app); + +mpifinalize: +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) { + MPI_Finalize(); + } +#endif + + return 0; +} \ No newline at end of file From b984d22582889ddd5a9ffec37d3f10e497e4b2ea Mon Sep 17 00:00:00 2001 From: johnson452 Date: Tue, 17 Sep 2024 02:33:28 -0400 Subject: [PATCH 02/16] Added energy moment for canonical-pb --- apps/vm_species_lte.c | 2 + apps/vm_species_moment.c | 4 +- apps/vm_species_projection.c | 2 + .../gkyl_mom_canonical_pb_kernels.h | 21 ++ .../mom_canonical_pb_1x1v_ser_p1.c | 15 ++ .../mom_canonical_pb_1x1v_ser_p2.c | 16 ++ .../mom_canonical_pb_2x2v_ser_p1.c | 19 ++ .../mom_canonical_pb_2x2v_ser_p2.c | 23 ++ .../mom_canonical_pb_3x3v_ser_p1.c | 25 +++ .../rt_can_pb_bgk_surf_annulus_sodshock_im.c | 16 +- .../rt_can_pb_neut_bgk_sodshock_1x1v_p2.c | 2 +- unit/ctest_canonical_pb_equilibrium.c | 3 + unit/ctest_correct_maxwellian.c | 3 + unit/ctest_correct_mj_integrated.c | 12 + unit/ctest_proj_mj_on_basis.c | 5 + zero/dg_updater_moment.c | 11 +- zero/gkyl_dg_updater_moment.h | 2 + zero/gkyl_mom_canonical_pb.h | 77 +++++++ zero/gkyl_mom_canonical_pb_priv.h | 184 ++++++++++++++++ zero/gkyl_vlasov_lte_correct.h | 1 + zero/gkyl_vlasov_lte_moments.h | 1 + zero/gkyl_vlasov_lte_proj_on_basis.h | 1 + zero/mom_canonical_pb.c | 165 ++++++++++++++ zero/mom_canonical_pb_cu.cu | 207 ++++++++++++++++++ zero/vlasov_lte_correct.c | 2 + zero/vlasov_lte_moments.c | 16 +- zero/vlasov_lte_proj_on_basis.c | 3 +- 27 files changed, 816 insertions(+), 22 deletions(-) create mode 100644 kernels/canonical_pb/gkyl_mom_canonical_pb_kernels.h create mode 100644 kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p1.c create mode 100644 kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p2.c create mode 100644 kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p1.c create mode 100644 kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p2.c create mode 100644 kernels/canonical_pb/mom_canonical_pb_3x3v_ser_p1.c create mode 100644 zero/gkyl_mom_canonical_pb.h create mode 100644 zero/gkyl_mom_canonical_pb_priv.h create mode 100644 zero/mom_canonical_pb.c create mode 100644 zero/mom_canonical_pb_cu.cu diff --git a/apps/vm_species_lte.c b/apps/vm_species_lte.c index 947fd3e92..cb1b346cb 100644 --- a/apps/vm_species_lte.c +++ b/apps/vm_species_lte.c @@ -19,6 +19,7 @@ vm_species_lte_init(struct gkyl_vlasov_app *app, struct vm_species *s, struct vm .conf_range = &app->local, .conf_range_ext = &app->local_ext, .vel_range = &s->local_vel, + .phase_range = &s->local, .gamma = s->gamma, .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, @@ -43,6 +44,7 @@ vm_species_lte_init(struct gkyl_vlasov_app *app, struct vm_species *s, struct vm .conf_range = &app->local, .conf_range_ext = &app->local_ext, .vel_range = &s->local_vel, + .phase_range = &s->local, .gamma = s->gamma, .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, diff --git a/apps/vm_species_moment.c b/apps/vm_species_moment.c index 38d310845..0f731ba14 100644 --- a/apps/vm_species_moment.c +++ b/apps/vm_species_moment.c @@ -37,14 +37,14 @@ vm_species_moment_init(struct gkyl_vlasov_app *app, struct vm_species *s, if (s->model_id == GKYL_MODEL_SR) { struct gkyl_mom_vlasov_sr_auxfields sr_inp = {.gamma = s->gamma}; sm->mcalc = gkyl_dg_updater_moment_new(&s->grid, &app->confBasis, - &app->basis, &app->local, &s->local_vel, s->model_id, &sr_inp, + &app->basis, &app->local, &s->local_vel, &s->local, s->model_id, &sr_inp, nm, is_integrated, app->use_gpu); num_mom = gkyl_dg_updater_moment_num_mom(sm->mcalc); } else { // No auxiliary fields for moments if not SR sm->mcalc = gkyl_dg_updater_moment_new(&s->grid, &app->confBasis, - &app->basis, &app->local, &s->local_vel, s->model_id, 0, + &app->basis, &app->local, &s->local_vel, &s->local, s->model_id, 0, nm, is_integrated, app->use_gpu); num_mom = gkyl_dg_updater_moment_num_mom(sm->mcalc); } diff --git a/apps/vm_species_projection.c b/apps/vm_species_projection.c index abcebae8d..0a567de04 100644 --- a/apps/vm_species_projection.c +++ b/apps/vm_species_projection.c @@ -47,6 +47,7 @@ vm_species_projection_init(struct gkyl_vlasov_app *app, struct vm_species *s, .conf_range = &app->local, .conf_range_ext = &app->local_ext, .vel_range = &s->local_vel, + .phase_range = &s->local, .gamma = s->gamma, .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, @@ -73,6 +74,7 @@ vm_species_projection_init(struct gkyl_vlasov_app *app, struct vm_species *s, .conf_range = &app->local, .conf_range_ext = &app->local_ext, .vel_range = &s->local_vel, + .phase_range = &s->local, .gamma = s->gamma, .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, diff --git a/kernels/canonical_pb/gkyl_mom_canonical_pb_kernels.h b/kernels/canonical_pb/gkyl_mom_canonical_pb_kernels.h new file mode 100644 index 000000000..759792ea6 --- /dev/null +++ b/kernels/canonical_pb/gkyl_mom_canonical_pb_kernels.h @@ -0,0 +1,21 @@ +#pragma once +#include +#include +EXTERN_C_BEG + +GKYL_CU_DH void canonical_pb_MEnergy_1x1v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); +GKYL_CU_DH void canonical_pb_int_mom_1x1v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); + +GKYL_CU_DH void canonical_pb_MEnergy_1x1v_ser_p2(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); +GKYL_CU_DH void canonical_pb_int_mom_1x1v_ser_p2(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); + +GKYL_CU_DH void canonical_pb_MEnergy_2x2v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); +GKYL_CU_DH void canonical_pb_int_mom_2x2v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); + +GKYL_CU_DH void canonical_pb_MEnergy_2x2v_ser_p2(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); +GKYL_CU_DH void canonical_pb_int_mom_2x2v_ser_p2(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); + +GKYL_CU_DH void canonical_pb_MEnergy_3x3v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); +GKYL_CU_DH void canonical_pb_int_mom_3x3v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out); + +EXTERN_C_END diff --git a/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p1.c b/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p1.c new file mode 100644 index 000000000..26f237c54 --- /dev/null +++ b/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p1.c @@ -0,0 +1,15 @@ +#include +GKYL_CU_DH void canonical_pb_MEnergy_1x1v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[1]/2; + const double dv10 = 2.0/dxv[1]; + + out[0] += (0.7071067811865475*f[5]*hamil[5]+0.7071067811865475*f[4]*hamil[4]+0.7071067811865475*f[3]*hamil[3]+0.7071067811865475*f[2]*hamil[2]+0.7071067811865475*f[1]*hamil[1]+0.7071067811865475*f[0]*hamil[0])*volFact; + out[1] += (0.7071067811865475*f[4]*hamil[5]+0.7071067811865475*hamil[4]*f[5]+0.7071067811865475*f[2]*hamil[3]+0.7071067811865475*hamil[2]*f[3]+0.7071067811865475*f[0]*hamil[1]+0.7071067811865475*hamil[0]*f[1])*volFact; +} +GKYL_CU_DH void canonical_pb_int_mom_1x1v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[0]*dxv[1]*0.25; + const double dv1 = dxv[1]; + out[0] += (f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; +} diff --git a/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p2.c b/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p2.c new file mode 100644 index 000000000..ccc94141b --- /dev/null +++ b/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p2.c @@ -0,0 +1,16 @@ +#include +GKYL_CU_DH void canonical_pb_MEnergy_1x1v_ser_p2(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[1]/2; + const double dv10 = 2.0/dxv[1]; + + out[0] += (0.7071067811865475*f[7]*hamil[7]+0.7071067811865475*f[6]*hamil[6]+0.7071067811865475*f[5]*hamil[5]+0.7071067811865475*f[4]*hamil[4]+0.7071067811865475*f[3]*hamil[3]+0.7071067811865475*f[2]*hamil[2]+0.7071067811865475*f[1]*hamil[1]+0.7071067811865475*f[0]*hamil[0])*volFact; + out[1] += (0.7071067811865475*f[5]*hamil[7]+0.7071067811865475*hamil[5]*f[7]+0.632455532033676*f[3]*hamil[6]+0.632455532033676*hamil[3]*f[6]+0.6324555320336759*f[1]*hamil[4]+0.6324555320336759*hamil[1]*f[4]+0.7071067811865475*f[2]*hamil[3]+0.7071067811865475*hamil[2]*f[3]+0.7071067811865475*f[0]*hamil[1]+0.7071067811865475*hamil[0]*f[1])*volFact; + out[2] += (0.6324555320336759*f[7]*hamil[7]+0.4517539514526256*f[6]*hamil[6]+0.7071067811865475*f[2]*hamil[6]+0.7071067811865475*hamil[2]*f[6]+0.4517539514526256*f[4]*hamil[4]+0.7071067811865475*f[0]*hamil[4]+0.7071067811865475*hamil[0]*f[4]+0.6324555320336759*f[3]*hamil[3]+0.6324555320336759*f[1]*hamil[1])*volFact; +} +GKYL_CU_DH void canonical_pb_int_mom_1x1v_ser_p2(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[0]*dxv[1]*0.25; + const double dv1 = dxv[1]; + out[0] += (f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; +} diff --git a/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p1.c b/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p1.c new file mode 100644 index 000000000..12a8e2aa4 --- /dev/null +++ b/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p1.c @@ -0,0 +1,19 @@ +#include +GKYL_CU_DH void canonical_pb_MEnergy_2x2v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[2]*dxv[3]/4; + const double dv10 = 2.0/dxv[2]; + const double dv11 = 2.0/dxv[3]; + + out[0] += (0.5*f[31]*hamil[31]+0.5*f[30]*hamil[30]+0.5*f[29]*hamil[29]+0.5*f[28]*hamil[28]+0.5*f[27]*hamil[27]+0.5*f[26]*hamil[26]+0.5*f[25]*hamil[25]+0.5*f[24]*hamil[24]+0.5*f[23]*hamil[23]+0.5*f[22]*hamil[22]+0.5*f[21]*hamil[21]+0.5*f[20]*hamil[20]+0.5*f[19]*hamil[19]+0.5*f[18]*hamil[18]+0.5*f[17]*hamil[17]+0.5*f[16]*hamil[16]+0.5*f[15]*hamil[15]+0.5*f[14]*hamil[14]+0.5*f[13]*hamil[13]+0.5*f[12]*hamil[12]+0.5*f[11]*hamil[11]+0.5*f[10]*hamil[10]+0.5*f[9]*hamil[9]+0.5*f[8]*hamil[8]+0.5*f[7]*hamil[7]+0.5*f[6]*hamil[6]+0.5*f[5]*hamil[5]+0.5*f[4]*hamil[4]+0.5*f[3]*hamil[3]+0.5*f[2]*hamil[2]+0.5*f[1]*hamil[1]+0.5*f[0]*hamil[0])*volFact; + out[1] += (0.5000000000000001*f[30]*hamil[31]+0.5000000000000001*hamil[30]*f[31]+0.5000000000000001*f[27]*hamil[29]+0.5000000000000001*hamil[27]*f[29]+0.5000000000000001*f[26]*hamil[28]+0.5000000000000001*hamil[26]*f[28]+0.5000000000000001*f[24]*hamil[25]+0.5000000000000001*hamil[24]*f[25]+0.5000000000000001*f[22]*hamil[23]+0.5000000000000001*hamil[22]*f[23]+0.5000000000000001*f[19]*hamil[21]+0.5000000000000001*hamil[19]*f[21]+0.5000000000000001*f[18]*hamil[20]+0.5000000000000001*hamil[18]*f[20]+0.5000000000000001*f[16]*hamil[17]+0.5000000000000001*hamil[16]*f[17]+0.5*f[14]*hamil[15]+0.5*hamil[14]*f[15]+0.5*f[10]*hamil[13]+0.5*hamil[10]*f[13]+0.5*f[9]*hamil[12]+0.5*hamil[9]*f[12]+0.5*f[7]*hamil[11]+0.5*hamil[7]*f[11]+0.5*f[4]*hamil[8]+0.5*hamil[4]*f[8]+0.5*f[3]*hamil[6]+0.5*hamil[3]*f[6]+0.5*f[2]*hamil[5]+0.5*hamil[2]*f[5]+0.5*f[0]*hamil[1]+0.5*hamil[0]*f[1])*volFact; + out[2] += (0.5000000000000001*f[29]*hamil[31]+0.5000000000000001*hamil[29]*f[31]+0.5000000000000001*f[27]*hamil[30]+0.5000000000000001*hamil[27]*f[30]+0.5000000000000001*f[25]*hamil[28]+0.5000000000000001*hamil[25]*f[28]+0.5000000000000001*f[24]*hamil[26]+0.5000000000000001*hamil[24]*f[26]+0.5000000000000001*f[21]*hamil[23]+0.5000000000000001*hamil[21]*f[23]+0.5000000000000001*f[19]*hamil[22]+0.5000000000000001*hamil[19]*f[22]+0.5000000000000001*f[17]*hamil[20]+0.5000000000000001*hamil[17]*f[20]+0.5000000000000001*f[16]*hamil[18]+0.5000000000000001*hamil[16]*f[18]+0.5*f[13]*hamil[15]+0.5*hamil[13]*f[15]+0.5*f[10]*hamil[14]+0.5*hamil[10]*f[14]+0.5*f[8]*hamil[12]+0.5*hamil[8]*f[12]+0.5*f[6]*hamil[11]+0.5*hamil[6]*f[11]+0.5*f[4]*hamil[9]+0.5*hamil[4]*f[9]+0.5*f[3]*hamil[7]+0.5*hamil[3]*f[7]+0.5*f[1]*hamil[5]+0.5*hamil[1]*f[5]+0.5*f[0]*hamil[2]+0.5*hamil[0]*f[2])*volFact; + out[3] += (0.5*f[27]*hamil[31]+0.5*hamil[27]*f[31]+0.5*f[29]*hamil[30]+0.5*hamil[29]*f[30]+0.5*f[24]*hamil[28]+0.5*hamil[24]*f[28]+0.5*f[25]*hamil[26]+0.5*hamil[25]*f[26]+0.5*f[19]*hamil[23]+0.5*hamil[19]*f[23]+0.5*f[21]*hamil[22]+0.5*hamil[21]*f[22]+0.5*f[16]*hamil[20]+0.5*hamil[16]*f[20]+0.5*f[17]*hamil[18]+0.5*hamil[17]*f[18]+0.5*f[10]*hamil[15]+0.5*hamil[10]*f[15]+0.5*f[13]*hamil[14]+0.5*hamil[13]*f[14]+0.5*f[4]*hamil[12]+0.5*hamil[4]*f[12]+0.5*f[3]*hamil[11]+0.5*hamil[3]*f[11]+0.5*f[8]*hamil[9]+0.5*hamil[8]*f[9]+0.5*f[6]*hamil[7]+0.5*hamil[6]*f[7]+0.5*f[0]*hamil[5]+0.5*hamil[0]*f[5]+0.5*f[1]*hamil[2]+0.5*hamil[1]*f[2])*volFact; +} +GKYL_CU_DH void canonical_pb_int_mom_2x2v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[0]*dxv[1]*dxv[2]*dxv[3]*0.0625; + const double dv1 = dxv[2]; + const double dv2 = dxv[3]; + out[0] += (f[31]*hamil[31]+f[30]*hamil[30]+f[29]*hamil[29]+f[28]*hamil[28]+f[27]*hamil[27]+f[26]*hamil[26]+f[25]*hamil[25]+f[24]*hamil[24]+f[23]*hamil[23]+f[22]*hamil[22]+f[21]*hamil[21]+f[20]*hamil[20]+f[19]*hamil[19]+f[18]*hamil[18]+f[17]*hamil[17]+f[16]*hamil[16]+f[15]*hamil[15]+f[14]*hamil[14]+f[13]*hamil[13]+f[12]*hamil[12]+f[11]*hamil[11]+f[10]*hamil[10]+f[9]*hamil[9]+f[8]*hamil[8]+f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; +} diff --git a/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p2.c b/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p2.c new file mode 100644 index 000000000..6171576ff --- /dev/null +++ b/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p2.c @@ -0,0 +1,23 @@ +#include +GKYL_CU_DH void canonical_pb_MEnergy_2x2v_ser_p2(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[2]*dxv[3]/4; + const double dv10 = 2.0/dxv[2]; + const double dv11 = 2.0/dxv[3]; + + out[0] += (0.5*f[47]*hamil[47]+0.5*f[46]*hamil[46]+0.5*f[45]*hamil[45]+0.5*f[44]*hamil[44]+0.5*f[43]*hamil[43]+0.5*f[42]*hamil[42]+0.5*f[41]*hamil[41]+0.5*f[40]*hamil[40]+0.5*f[39]*hamil[39]+0.5*f[38]*hamil[38]+0.5*f[37]*hamil[37]+0.5*f[36]*hamil[36]+0.5*f[35]*hamil[35]+0.5*f[34]*hamil[34]+0.5*f[33]*hamil[33]+0.5*f[32]*hamil[32]+0.5*f[31]*hamil[31]+0.5*f[30]*hamil[30]+0.5*f[29]*hamil[29]+0.5*f[28]*hamil[28]+0.5*f[27]*hamil[27]+0.5*f[26]*hamil[26]+0.5*f[25]*hamil[25]+0.5*f[24]*hamil[24]+0.5*f[23]*hamil[23]+0.5*f[22]*hamil[22]+0.5*f[21]*hamil[21]+0.5*f[20]*hamil[20]+0.5*f[19]*hamil[19]+0.5*f[18]*hamil[18]+0.5*f[17]*hamil[17]+0.5*f[16]*hamil[16]+0.5*f[15]*hamil[15]+0.5*f[14]*hamil[14]+0.5*f[13]*hamil[13]+0.5*f[12]*hamil[12]+0.5*f[11]*hamil[11]+0.5*f[10]*hamil[10]+0.5*f[9]*hamil[9]+0.5*f[8]*hamil[8]+0.5*f[7]*hamil[7]+0.5*f[6]*hamil[6]+0.5*f[5]*hamil[5]+0.5*f[4]*hamil[4]+0.5*f[3]*hamil[3]+0.5*f[2]*hamil[2]+0.5*f[1]*hamil[1]+0.5*f[0]*hamil[0])*volFact; + out[1] += (0.5000000000000001*f[43]*hamil[47]+0.5000000000000001*hamil[43]*f[47]+0.5000000000000001*f[40]*hamil[46]+0.5000000000000001*hamil[40]*f[46]+0.5000000000000001*f[38]*hamil[45]+0.5000000000000001*hamil[38]*f[45]+0.447213595499958*f[31]*hamil[44]+0.447213595499958*hamil[31]*f[44]+0.5000000000000001*f[30]*hamil[42]+0.5000000000000001*hamil[30]*f[42]+0.5000000000000001*f[29]*hamil[41]+0.5000000000000001*hamil[29]*f[41]+0.5000000000000001*f[27]*hamil[39]+0.5000000000000001*hamil[27]*f[39]+0.4472135954999579*f[17]*hamil[37]+0.4472135954999579*hamil[17]*f[37]+0.5000000000000001*f[26]*hamil[36]+0.5000000000000001*hamil[26]*f[36]+0.4472135954999579*f[16]*hamil[35]+0.4472135954999579*hamil[16]*f[35]+0.5000000000000001*f[24]*hamil[34]+0.5000000000000001*hamil[24]*f[34]+0.5000000000000001*f[22]*hamil[33]+0.5000000000000001*hamil[22]*f[33]+0.4472135954999579*f[15]*hamil[32]+0.4472135954999579*hamil[15]*f[32]+0.5*f[18]*hamil[31]+0.5*hamil[18]*f[31]+0.5000000000000001*f[14]*hamil[28]+0.5000000000000001*hamil[14]*f[28]+0.447213595499958*f[8]*hamil[25]+0.447213595499958*hamil[8]*f[25]+0.5000000000000001*f[13]*hamil[23]+0.5000000000000001*hamil[13]*f[23]+0.447213595499958*f[6]*hamil[21]+0.447213595499958*hamil[6]*f[21]+0.5000000000000001*f[12]*hamil[20]+0.5000000000000001*hamil[12]*f[20]+0.447213595499958*f[5]*hamil[19]+0.447213595499958*hamil[5]*f[19]+0.5*f[10]*hamil[17]+0.5*hamil[10]*f[17]+0.5*f[9]*hamil[16]+0.5*hamil[9]*f[16]+0.5*f[7]*hamil[15]+0.5*hamil[7]*f[15]+0.4472135954999579*f[1]*hamil[11]+0.4472135954999579*hamil[1]*f[11]+0.5*f[4]*hamil[8]+0.5*hamil[4]*f[8]+0.5*f[3]*hamil[6]+0.5*hamil[3]*f[6]+0.5*f[2]*hamil[5]+0.5*hamil[2]*f[5]+0.5*f[0]*hamil[1]+0.5*hamil[0]*f[1])*volFact; + out[2] += (0.5000000000000001*f[42]*hamil[47]+0.5000000000000001*hamil[42]*f[47]+0.5000000000000001*f[39]*hamil[46]+0.5000000000000001*hamil[39]*f[46]+0.447213595499958*f[31]*hamil[45]+0.447213595499958*hamil[31]*f[45]+0.5000000000000001*f[37]*hamil[44]+0.5000000000000001*hamil[37]*f[44]+0.5000000000000001*f[30]*hamil[43]+0.5000000000000001*hamil[30]*f[43]+0.5000000000000001*f[28]*hamil[41]+0.5000000000000001*hamil[28]*f[41]+0.5000000000000001*f[27]*hamil[40]+0.5000000000000001*hamil[27]*f[40]+0.4472135954999579*f[18]*hamil[38]+0.4472135954999579*hamil[18]*f[38]+0.4472135954999579*f[16]*hamil[36]+0.4472135954999579*hamil[16]*f[36]+0.5000000000000001*f[25]*hamil[35]+0.5000000000000001*hamil[25]*f[35]+0.5000000000000001*f[23]*hamil[34]+0.5000000000000001*hamil[23]*f[34]+0.4472135954999579*f[15]*hamil[33]+0.4472135954999579*hamil[15]*f[33]+0.5000000000000001*f[21]*hamil[32]+0.5000000000000001*hamil[21]*f[32]+0.5*f[17]*hamil[31]+0.5*hamil[17]*f[31]+0.5000000000000001*f[14]*hamil[29]+0.5000000000000001*hamil[14]*f[29]+0.447213595499958*f[9]*hamil[26]+0.447213595499958*hamil[9]*f[26]+0.5000000000000001*f[13]*hamil[24]+0.5000000000000001*hamil[13]*f[24]+0.447213595499958*f[7]*hamil[22]+0.447213595499958*hamil[7]*f[22]+0.447213595499958*f[5]*hamil[20]+0.447213595499958*hamil[5]*f[20]+0.5000000000000001*f[11]*hamil[19]+0.5000000000000001*hamil[11]*f[19]+0.5*f[10]*hamil[18]+0.5*hamil[10]*f[18]+0.5*f[8]*hamil[16]+0.5*hamil[8]*f[16]+0.5*f[6]*hamil[15]+0.5*hamil[6]*f[15]+0.4472135954999579*f[2]*hamil[12]+0.4472135954999579*hamil[2]*f[12]+0.5*f[4]*hamil[9]+0.5*hamil[4]*f[9]+0.5*f[3]*hamil[7]+0.5*hamil[3]*f[7]+0.5*f[1]*hamil[5]+0.5*hamil[1]*f[5]+0.5*f[0]*hamil[2]+0.5*hamil[0]*f[2])*volFact; + out[3] += (0.5*f[30]*hamil[47]+0.5*hamil[30]*f[47]+0.5*f[27]*hamil[46]+0.5*hamil[27]*f[46]+0.4*f[44]*hamil[45]+0.447213595499958*f[18]*hamil[45]+0.4*hamil[44]*f[45]+0.447213595499958*hamil[18]*f[45]+0.447213595499958*f[17]*hamil[44]+0.447213595499958*hamil[17]*f[44]+0.5*f[42]*hamil[43]+0.5*hamil[42]*f[43]+0.5*f[14]*hamil[41]+0.5*hamil[14]*f[41]+0.5*f[39]*hamil[40]+0.5*hamil[39]*f[40]+0.4472135954999579*f[31]*hamil[38]+0.4472135954999579*hamil[31]*f[38]+0.4472135954999579*f[31]*hamil[37]+0.4472135954999579*hamil[31]*f[37]+0.4*f[35]*hamil[36]+0.4472135954999579*f[9]*hamil[36]+0.4*hamil[35]*f[36]+0.4472135954999579*hamil[9]*f[36]+0.4472135954999579*f[8]*hamil[35]+0.4472135954999579*hamil[8]*f[35]+0.5*f[13]*hamil[34]+0.5*hamil[13]*f[34]+0.4*f[32]*hamil[33]+0.4472135954999579*f[7]*hamil[33]+0.4*hamil[32]*f[33]+0.4472135954999579*hamil[7]*f[33]+0.4472135954999579*f[6]*hamil[32]+0.4472135954999579*hamil[6]*f[32]+0.5*f[10]*hamil[31]+0.5*hamil[10]*f[31]+0.5*f[28]*hamil[29]+0.5*hamil[28]*f[29]+0.447213595499958*f[16]*hamil[26]+0.447213595499958*hamil[16]*f[26]+0.447213595499958*f[16]*hamil[25]+0.447213595499958*hamil[16]*f[25]+0.5*f[23]*hamil[24]+0.5*hamil[23]*f[24]+0.447213595499958*f[15]*hamil[22]+0.447213595499958*hamil[15]*f[22]+0.447213595499958*f[15]*hamil[21]+0.447213595499958*hamil[15]*f[21]+0.4*f[19]*hamil[20]+0.447213595499958*f[2]*hamil[20]+0.4*hamil[19]*f[20]+0.447213595499958*hamil[2]*f[20]+0.447213595499958*f[1]*hamil[19]+0.447213595499958*hamil[1]*f[19]+0.5*f[17]*hamil[18]+0.5*hamil[17]*f[18]+0.5*f[4]*hamil[16]+0.5*hamil[4]*f[16]+0.5*f[3]*hamil[15]+0.5*hamil[3]*f[15]+0.4472135954999579*f[5]*hamil[12]+0.4472135954999579*hamil[5]*f[12]+0.4472135954999579*f[5]*hamil[11]+0.4472135954999579*hamil[5]*f[11]+0.5*f[8]*hamil[9]+0.5*hamil[8]*f[9]+0.5*f[6]*hamil[7]+0.5*hamil[6]*f[7]+0.5*f[0]*hamil[5]+0.5*hamil[0]*f[5]+0.5*f[1]*hamil[2]+0.5*hamil[1]*f[2])*volFact; + out[4] += (0.4472135954999579*f[47]*hamil[47]+0.4472135954999579*f[46]*hamil[46]+0.4472135954999579*f[45]*hamil[45]+0.31943828249997*f[44]*hamil[44]+0.5000000000000001*f[18]*hamil[44]+0.5000000000000001*hamil[18]*f[44]+0.4472135954999579*f[42]*hamil[42]+0.4472135954999579*f[41]*hamil[41]+0.4472135954999579*f[39]*hamil[39]+0.31943828249997*f[37]*hamil[37]+0.5*f[10]*hamil[37]+0.5*hamil[10]*f[37]+0.4472135954999579*f[36]*hamil[36]+0.31943828249997*f[35]*hamil[35]+0.5*f[9]*hamil[35]+0.5*hamil[9]*f[35]+0.4472135954999579*f[34]*hamil[34]+0.4472135954999579*f[33]*hamil[33]+0.31943828249997*f[32]*hamil[32]+0.5*f[7]*hamil[32]+0.5*hamil[7]*f[32]+0.4472135954999579*f[31]*hamil[31]+0.4472135954999579*f[28]*hamil[28]+0.31943828249997*f[25]*hamil[25]+0.5000000000000001*f[4]*hamil[25]+0.5000000000000001*hamil[4]*f[25]+0.4472135954999579*f[23]*hamil[23]+0.31943828249997*f[21]*hamil[21]+0.5000000000000001*f[3]*hamil[21]+0.5000000000000001*hamil[3]*f[21]+0.4472135954999579*f[20]*hamil[20]+0.31943828249997*f[19]*hamil[19]+0.5000000000000001*f[2]*hamil[19]+0.5000000000000001*hamil[2]*f[19]+0.4472135954999579*f[17]*hamil[17]+0.4472135954999579*f[16]*hamil[16]+0.4472135954999579*f[15]*hamil[15]+0.31943828249997*f[11]*hamil[11]+0.5*f[0]*hamil[11]+0.5*hamil[0]*f[11]+0.4472135954999579*f[8]*hamil[8]+0.4472135954999579*f[6]*hamil[6]+0.4472135954999579*f[5]*hamil[5]+0.4472135954999579*f[1]*hamil[1])*volFact; + out[5] += (0.4472135954999579*f[47]*hamil[47]+0.4472135954999579*f[46]*hamil[46]+0.31943828249997*f[45]*hamil[45]+0.5000000000000001*f[17]*hamil[45]+0.5000000000000001*hamil[17]*f[45]+0.4472135954999579*f[44]*hamil[44]+0.4472135954999579*f[43]*hamil[43]+0.4472135954999579*f[41]*hamil[41]+0.4472135954999579*f[40]*hamil[40]+0.31943828249997*f[38]*hamil[38]+0.5*f[10]*hamil[38]+0.5*hamil[10]*f[38]+0.31943828249997*f[36]*hamil[36]+0.5*f[8]*hamil[36]+0.5*hamil[8]*f[36]+0.4472135954999579*f[35]*hamil[35]+0.4472135954999579*f[34]*hamil[34]+0.31943828249997*f[33]*hamil[33]+0.5*f[6]*hamil[33]+0.5*hamil[6]*f[33]+0.4472135954999579*f[32]*hamil[32]+0.4472135954999579*f[31]*hamil[31]+0.4472135954999579*f[29]*hamil[29]+0.31943828249997*f[26]*hamil[26]+0.5000000000000001*f[4]*hamil[26]+0.5000000000000001*hamil[4]*f[26]+0.4472135954999579*f[24]*hamil[24]+0.31943828249997*f[22]*hamil[22]+0.5000000000000001*f[3]*hamil[22]+0.5000000000000001*hamil[3]*f[22]+0.31943828249997*f[20]*hamil[20]+0.5000000000000001*f[1]*hamil[20]+0.5000000000000001*hamil[1]*f[20]+0.4472135954999579*f[19]*hamil[19]+0.4472135954999579*f[18]*hamil[18]+0.4472135954999579*f[16]*hamil[16]+0.4472135954999579*f[15]*hamil[15]+0.31943828249997*f[12]*hamil[12]+0.5*f[0]*hamil[12]+0.5*hamil[0]*f[12]+0.4472135954999579*f[9]*hamil[9]+0.4472135954999579*f[7]*hamil[7]+0.4472135954999579*f[5]*hamil[5]+0.4472135954999579*f[2]*hamil[2])*volFact; + out[6] += (0.4472135954999579*f[42]*hamil[47]+0.4472135954999579*hamil[42]*f[47]+0.4472135954999579*f[39]*hamil[46]+0.4472135954999579*hamil[39]*f[46]+0.4*f[31]*hamil[45]+0.4*hamil[31]*f[45]+0.4472135954999579*f[38]*hamil[44]+0.31943828249997*f[37]*hamil[44]+0.5*f[10]*hamil[44]+0.4472135954999579*hamil[38]*f[44]+0.31943828249997*hamil[37]*f[44]+0.5*hamil[10]*f[44]+0.4472135954999579*f[28]*hamil[41]+0.4472135954999579*hamil[28]*f[41]+0.5000000000000001*f[18]*hamil[37]+0.5000000000000001*hamil[18]*f[37]+0.4*f[16]*hamil[36]+0.4*hamil[16]*f[36]+0.4472135954999579*f[26]*hamil[35]+0.31943828249997*f[25]*hamil[35]+0.5000000000000001*f[4]*hamil[35]+0.4472135954999579*hamil[26]*f[35]+0.31943828249997*hamil[25]*f[35]+0.5000000000000001*hamil[4]*f[35]+0.4472135954999579*f[23]*hamil[34]+0.4472135954999579*hamil[23]*f[34]+0.4*f[15]*hamil[33]+0.4*hamil[15]*f[33]+0.4472135954999579*f[22]*hamil[32]+0.31943828249997*f[21]*hamil[32]+0.5000000000000001*f[3]*hamil[32]+0.4472135954999579*hamil[22]*f[32]+0.31943828249997*hamil[21]*f[32]+0.5000000000000001*hamil[3]*f[32]+0.447213595499958*f[17]*hamil[31]+0.447213595499958*hamil[17]*f[31]+0.5*f[9]*hamil[25]+0.5*hamil[9]*f[25]+0.5*f[7]*hamil[21]+0.5*hamil[7]*f[21]+0.4*f[5]*hamil[20]+0.4*hamil[5]*f[20]+0.4472135954999579*f[12]*hamil[19]+0.31943828249997*f[11]*hamil[19]+0.5*f[0]*hamil[19]+0.4472135954999579*hamil[12]*f[19]+0.31943828249997*hamil[11]*f[19]+0.5*hamil[0]*f[19]+0.447213595499958*f[8]*hamil[16]+0.447213595499958*hamil[8]*f[16]+0.447213595499958*f[6]*hamil[15]+0.447213595499958*hamil[6]*f[15]+0.5000000000000001*f[2]*hamil[11]+0.5000000000000001*hamil[2]*f[11]+0.447213595499958*f[1]*hamil[5]+0.447213595499958*hamil[1]*f[5])*volFact; + out[7] += (0.4472135954999579*f[43]*hamil[47]+0.4472135954999579*hamil[43]*f[47]+0.4472135954999579*f[40]*hamil[46]+0.4472135954999579*hamil[40]*f[46]+0.31943828249997*f[38]*hamil[45]+0.4472135954999579*f[37]*hamil[45]+0.5*f[10]*hamil[45]+0.31943828249997*hamil[38]*f[45]+0.4472135954999579*hamil[37]*f[45]+0.5*hamil[10]*f[45]+0.4*f[31]*hamil[44]+0.4*hamil[31]*f[44]+0.4472135954999579*f[29]*hamil[41]+0.4472135954999579*hamil[29]*f[41]+0.5000000000000001*f[17]*hamil[38]+0.5000000000000001*hamil[17]*f[38]+0.31943828249997*f[26]*hamil[36]+0.4472135954999579*f[25]*hamil[36]+0.5000000000000001*f[4]*hamil[36]+0.31943828249997*hamil[26]*f[36]+0.4472135954999579*hamil[25]*f[36]+0.5000000000000001*hamil[4]*f[36]+0.4*f[16]*hamil[35]+0.4*hamil[16]*f[35]+0.4472135954999579*f[24]*hamil[34]+0.4472135954999579*hamil[24]*f[34]+0.31943828249997*f[22]*hamil[33]+0.4472135954999579*f[21]*hamil[33]+0.5000000000000001*f[3]*hamil[33]+0.31943828249997*hamil[22]*f[33]+0.4472135954999579*hamil[21]*f[33]+0.5000000000000001*hamil[3]*f[33]+0.4*f[15]*hamil[32]+0.4*hamil[15]*f[32]+0.447213595499958*f[18]*hamil[31]+0.447213595499958*hamil[18]*f[31]+0.5*f[8]*hamil[26]+0.5*hamil[8]*f[26]+0.5*f[6]*hamil[22]+0.5*hamil[6]*f[22]+0.31943828249997*f[12]*hamil[20]+0.4472135954999579*f[11]*hamil[20]+0.5*f[0]*hamil[20]+0.31943828249997*hamil[12]*f[20]+0.4472135954999579*hamil[11]*f[20]+0.5*hamil[0]*f[20]+0.4*f[5]*hamil[19]+0.4*hamil[5]*f[19]+0.447213595499958*f[9]*hamil[16]+0.447213595499958*hamil[9]*f[16]+0.447213595499958*f[7]*hamil[15]+0.447213595499958*hamil[7]*f[15]+0.5000000000000001*f[1]*hamil[12]+0.5000000000000001*hamil[1]*f[12]+0.447213595499958*f[2]*hamil[5]+0.447213595499958*hamil[2]*f[5])*volFact; +} +GKYL_CU_DH void canonical_pb_int_mom_2x2v_ser_p2(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[0]*dxv[1]*dxv[2]*dxv[3]*0.0625; + const double dv1 = dxv[2]; + const double dv2 = dxv[3]; + out[0] += (f[47]*hamil[47]+f[46]*hamil[46]+f[45]*hamil[45]+f[44]*hamil[44]+f[43]*hamil[43]+f[42]*hamil[42]+f[41]*hamil[41]+f[40]*hamil[40]+f[39]*hamil[39]+f[38]*hamil[38]+f[37]*hamil[37]+f[36]*hamil[36]+f[35]*hamil[35]+f[34]*hamil[34]+f[33]*hamil[33]+f[32]*hamil[32]+f[31]*hamil[31]+f[30]*hamil[30]+f[29]*hamil[29]+f[28]*hamil[28]+f[27]*hamil[27]+f[26]*hamil[26]+f[25]*hamil[25]+f[24]*hamil[24]+f[23]*hamil[23]+f[22]*hamil[22]+f[21]*hamil[21]+f[20]*hamil[20]+f[19]*hamil[19]+f[18]*hamil[18]+f[17]*hamil[17]+f[16]*hamil[16]+f[15]*hamil[15]+f[14]*hamil[14]+f[13]*hamil[13]+f[12]*hamil[12]+f[11]*hamil[11]+f[10]*hamil[10]+f[9]*hamil[9]+f[8]*hamil[8]+f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; +} diff --git a/kernels/canonical_pb/mom_canonical_pb_3x3v_ser_p1.c b/kernels/canonical_pb/mom_canonical_pb_3x3v_ser_p1.c new file mode 100644 index 000000000..bc507273e --- /dev/null +++ b/kernels/canonical_pb/mom_canonical_pb_3x3v_ser_p1.c @@ -0,0 +1,25 @@ +#include +GKYL_CU_DH void canonical_pb_MEnergy_3x3v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[3]*dxv[4]*dxv[5]/8; + const double dv10 = 2.0/dxv[3]; + const double dv11 = 2.0/dxv[4]; + const double dv12 = 2.0/dxv[5]; + + out[0] += (0.3535533905932737*f[159]*hamil[159]+0.3535533905932737*f[158]*hamil[158]+0.3535533905932737*f[157]*hamil[157]+0.3535533905932737*f[156]*hamil[156]+0.3535533905932737*f[155]*hamil[155]+0.3535533905932737*f[154]*hamil[154]+0.3535533905932737*f[153]*hamil[153]+0.3535533905932737*f[152]*hamil[152]+0.3535533905932737*f[151]*hamil[151]+0.3535533905932737*f[150]*hamil[150]+0.3535533905932737*f[149]*hamil[149]+0.3535533905932737*f[148]*hamil[148]+0.3535533905932737*f[147]*hamil[147]+0.3535533905932737*f[146]*hamil[146]+0.3535533905932737*f[145]*hamil[145]+0.3535533905932737*f[144]*hamil[144]+0.3535533905932737*f[143]*hamil[143]+0.3535533905932737*f[142]*hamil[142]+0.3535533905932737*f[141]*hamil[141]+0.3535533905932737*f[140]*hamil[140]+0.3535533905932737*f[139]*hamil[139]+0.3535533905932737*f[138]*hamil[138]+0.3535533905932737*f[137]*hamil[137]+0.3535533905932737*f[136]*hamil[136]+0.3535533905932737*f[135]*hamil[135]+0.3535533905932737*f[134]*hamil[134]+0.3535533905932737*f[133]*hamil[133]+0.3535533905932737*f[132]*hamil[132]+0.3535533905932737*f[131]*hamil[131]+0.3535533905932737*f[130]*hamil[130]+0.3535533905932737*f[129]*hamil[129]+0.3535533905932737*f[128]*hamil[128]+0.3535533905932737*f[127]*hamil[127]+0.3535533905932737*f[126]*hamil[126]+0.3535533905932737*f[125]*hamil[125]+0.3535533905932737*f[124]*hamil[124]+0.3535533905932737*f[123]*hamil[123]+0.3535533905932737*f[122]*hamil[122]+0.3535533905932737*f[121]*hamil[121]+0.3535533905932737*f[120]*hamil[120]+0.3535533905932737*f[119]*hamil[119]+0.3535533905932737*f[118]*hamil[118]+0.3535533905932737*f[117]*hamil[117]+0.3535533905932737*f[116]*hamil[116]+0.3535533905932737*f[115]*hamil[115]+0.3535533905932737*f[114]*hamil[114]+0.3535533905932737*f[113]*hamil[113]+0.3535533905932737*f[112]*hamil[112]+0.3535533905932737*f[111]*hamil[111]+0.3535533905932737*f[110]*hamil[110]+0.3535533905932737*f[109]*hamil[109]+0.3535533905932737*f[108]*hamil[108]+0.3535533905932737*f[107]*hamil[107]+0.3535533905932737*f[106]*hamil[106]+0.3535533905932737*f[105]*hamil[105]+0.3535533905932737*f[104]*hamil[104]+0.3535533905932737*f[103]*hamil[103]+0.3535533905932737*f[102]*hamil[102]+0.3535533905932737*f[101]*hamil[101]+0.3535533905932737*f[100]*hamil[100]+0.3535533905932737*f[99]*hamil[99]+0.3535533905932737*f[98]*hamil[98]+0.3535533905932737*f[97]*hamil[97]+0.3535533905932737*f[96]*hamil[96]+0.3535533905932737*f[95]*hamil[95]+0.3535533905932737*f[94]*hamil[94]+0.3535533905932737*f[93]*hamil[93]+0.3535533905932737*f[92]*hamil[92]+0.3535533905932737*f[91]*hamil[91]+0.3535533905932737*f[90]*hamil[90]+0.3535533905932737*f[89]*hamil[89]+0.3535533905932737*f[88]*hamil[88]+0.3535533905932737*f[87]*hamil[87]+0.3535533905932737*f[86]*hamil[86]+0.3535533905932737*f[85]*hamil[85]+0.3535533905932737*f[84]*hamil[84]+0.3535533905932737*f[83]*hamil[83]+0.3535533905932737*f[82]*hamil[82]+0.3535533905932737*f[81]*hamil[81]+0.3535533905932737*f[80]*hamil[80]+0.3535533905932737*f[79]*hamil[79]+0.3535533905932737*f[78]*hamil[78]+0.3535533905932737*f[77]*hamil[77]+0.3535533905932737*f[76]*hamil[76]+0.3535533905932737*f[75]*hamil[75]+0.3535533905932737*f[74]*hamil[74]+0.3535533905932737*f[73]*hamil[73]+0.3535533905932737*f[72]*hamil[72]+0.3535533905932737*f[71]*hamil[71]+0.3535533905932737*f[70]*hamil[70]+0.3535533905932737*f[69]*hamil[69]+0.3535533905932737*f[68]*hamil[68]+0.3535533905932737*f[67]*hamil[67]+0.3535533905932737*f[66]*hamil[66]+0.3535533905932737*f[65]*hamil[65]+0.3535533905932737*f[64]*hamil[64]+0.3535533905932737*f[63]*hamil[63]+0.3535533905932737*f[62]*hamil[62]+0.3535533905932737*f[61]*hamil[61]+0.3535533905932737*f[60]*hamil[60]+0.3535533905932737*f[59]*hamil[59]+0.3535533905932737*f[58]*hamil[58]+0.3535533905932737*f[57]*hamil[57]+0.3535533905932737*f[56]*hamil[56]+0.3535533905932737*f[55]*hamil[55]+0.3535533905932737*f[54]*hamil[54]+0.3535533905932737*f[53]*hamil[53]+0.3535533905932737*f[52]*hamil[52]+0.3535533905932737*f[51]*hamil[51]+0.3535533905932737*f[50]*hamil[50]+0.3535533905932737*f[49]*hamil[49]+0.3535533905932737*f[48]*hamil[48]+0.3535533905932737*f[47]*hamil[47]+0.3535533905932737*f[46]*hamil[46]+0.3535533905932737*f[45]*hamil[45]+0.3535533905932737*f[44]*hamil[44]+0.3535533905932737*f[43]*hamil[43]+0.3535533905932737*f[42]*hamil[42]+0.3535533905932737*f[41]*hamil[41]+0.3535533905932737*f[40]*hamil[40]+0.3535533905932737*f[39]*hamil[39]+0.3535533905932737*f[38]*hamil[38]+0.3535533905932737*f[37]*hamil[37]+0.3535533905932737*f[36]*hamil[36]+0.3535533905932737*f[35]*hamil[35]+0.3535533905932737*f[34]*hamil[34]+0.3535533905932737*f[33]*hamil[33]+0.3535533905932737*f[32]*hamil[32]+0.3535533905932737*f[31]*hamil[31]+0.3535533905932737*f[30]*hamil[30]+0.3535533905932737*f[29]*hamil[29]+0.3535533905932737*f[28]*hamil[28]+0.3535533905932737*f[27]*hamil[27]+0.3535533905932737*f[26]*hamil[26]+0.3535533905932737*f[25]*hamil[25]+0.3535533905932737*f[24]*hamil[24]+0.3535533905932737*f[23]*hamil[23]+0.3535533905932737*f[22]*hamil[22]+0.3535533905932737*f[21]*hamil[21]+0.3535533905932737*f[20]*hamil[20]+0.3535533905932737*f[19]*hamil[19]+0.3535533905932737*f[18]*hamil[18]+0.3535533905932737*f[17]*hamil[17]+0.3535533905932737*f[16]*hamil[16]+0.3535533905932737*f[15]*hamil[15]+0.3535533905932737*f[14]*hamil[14]+0.3535533905932737*f[13]*hamil[13]+0.3535533905932737*f[12]*hamil[12]+0.3535533905932737*f[11]*hamil[11]+0.3535533905932737*f[10]*hamil[10]+0.3535533905932737*f[9]*hamil[9]+0.3535533905932737*f[8]*hamil[8]+0.3535533905932737*f[7]*hamil[7]+0.3535533905932737*f[6]*hamil[6]+0.3535533905932737*f[5]*hamil[5]+0.3535533905932737*f[4]*hamil[4]+0.3535533905932737*f[3]*hamil[3]+0.3535533905932737*f[2]*hamil[2]+0.3535533905932737*f[1]*hamil[1]+0.3535533905932737*f[0]*hamil[0])*volFact; + out[1] += (0.3535533905932737*f[158]*hamil[159]+0.3535533905932737*hamil[158]*f[159]+0.3535533905932737*f[153]*hamil[157]+0.3535533905932737*hamil[153]*f[157]+0.3535533905932737*f[152]*hamil[156]+0.3535533905932737*hamil[152]*f[156]+0.3535533905932737*f[150]*hamil[155]+0.3535533905932737*hamil[150]*f[155]+0.3535533905932737*f[147]*hamil[154]+0.3535533905932737*hamil[147]*f[154]+0.3535533905932737*f[143]*hamil[151]+0.3535533905932737*hamil[143]*f[151]+0.3535533905932737*f[142]*hamil[149]+0.3535533905932737*hamil[142]*f[149]+0.3535533905932737*f[141]*hamil[148]+0.3535533905932737*hamil[141]*f[148]+0.3535533905932737*f[139]*hamil[146]+0.3535533905932737*hamil[139]*f[146]+0.3535533905932737*f[138]*hamil[145]+0.3535533905932737*hamil[138]*f[145]+0.3535533905932737*f[136]*hamil[144]+0.3535533905932737*hamil[136]*f[144]+0.3535533905932737*f[133]*hamil[140]+0.3535533905932737*hamil[133]*f[140]+0.3535533905932737*f[132]*hamil[137]+0.3535533905932737*hamil[132]*f[137]+0.3535533905932737*f[131]*hamil[135]+0.3535533905932737*hamil[131]*f[135]+0.3535533905932737*f[130]*hamil[134]+0.3535533905932737*hamil[130]*f[134]+0.3535533905932737*f[128]*hamil[129]+0.3535533905932737*hamil[128]*f[129]+0.3535533905932737*f[126]*hamil[127]+0.3535533905932737*hamil[126]*f[127]+0.3535533905932737*f[121]*hamil[125]+0.3535533905932737*hamil[121]*f[125]+0.3535533905932737*f[120]*hamil[124]+0.3535533905932737*hamil[120]*f[124]+0.3535533905932737*f[118]*hamil[123]+0.3535533905932737*hamil[118]*f[123]+0.3535533905932737*f[115]*hamil[122]+0.3535533905932737*hamil[115]*f[122]+0.3535533905932737*f[111]*hamil[119]+0.3535533905932737*hamil[111]*f[119]+0.3535533905932737*f[110]*hamil[117]+0.3535533905932737*hamil[110]*f[117]+0.3535533905932737*f[109]*hamil[116]+0.3535533905932737*hamil[109]*f[116]+0.3535533905932737*f[107]*hamil[114]+0.3535533905932737*hamil[107]*f[114]+0.3535533905932737*f[106]*hamil[113]+0.3535533905932737*hamil[106]*f[113]+0.3535533905932737*f[104]*hamil[112]+0.3535533905932737*hamil[104]*f[112]+0.3535533905932737*f[101]*hamil[108]+0.3535533905932737*hamil[101]*f[108]+0.3535533905932737*f[100]*hamil[105]+0.3535533905932737*hamil[100]*f[105]+0.3535533905932737*f[99]*hamil[103]+0.3535533905932737*hamil[99]*f[103]+0.3535533905932737*f[98]*hamil[102]+0.3535533905932737*hamil[98]*f[102]+0.3535533905932737*f[96]*hamil[97]+0.3535533905932737*hamil[96]*f[97]+0.3535533905932737*f[94]*hamil[95]+0.3535533905932737*hamil[94]*f[95]+0.3535533905932737*f[89]*hamil[93]+0.3535533905932737*hamil[89]*f[93]+0.3535533905932737*f[88]*hamil[92]+0.3535533905932737*hamil[88]*f[92]+0.3535533905932737*f[86]*hamil[91]+0.3535533905932737*hamil[86]*f[91]+0.3535533905932737*f[83]*hamil[90]+0.3535533905932737*hamil[83]*f[90]+0.3535533905932737*f[79]*hamil[87]+0.3535533905932737*hamil[79]*f[87]+0.3535533905932737*f[78]*hamil[85]+0.3535533905932737*hamil[78]*f[85]+0.3535533905932737*f[77]*hamil[84]+0.3535533905932737*hamil[77]*f[84]+0.3535533905932737*f[75]*hamil[82]+0.3535533905932737*hamil[75]*f[82]+0.3535533905932737*f[74]*hamil[81]+0.3535533905932737*hamil[74]*f[81]+0.3535533905932737*f[72]*hamil[80]+0.3535533905932737*hamil[72]*f[80]+0.3535533905932737*f[69]*hamil[76]+0.3535533905932737*hamil[69]*f[76]+0.3535533905932737*f[68]*hamil[73]+0.3535533905932737*hamil[68]*f[73]+0.3535533905932737*f[67]*hamil[71]+0.3535533905932737*hamil[67]*f[71]+0.3535533905932737*f[66]*hamil[70]+0.3535533905932737*hamil[66]*f[70]+0.3535533905932737*f[64]*hamil[65]+0.3535533905932737*hamil[64]*f[65]+0.3535533905932737*f[62]*hamil[63]+0.3535533905932737*hamil[62]*f[63]+0.3535533905932737*f[56]*hamil[61]+0.3535533905932737*hamil[56]*f[61]+0.3535533905932737*f[55]*hamil[60]+0.3535533905932737*hamil[55]*f[60]+0.3535533905932737*f[53]*hamil[59]+0.3535533905932737*hamil[53]*f[59]+0.3535533905932737*f[50]*hamil[58]+0.3535533905932737*hamil[50]*f[58]+0.3535533905932737*f[46]*hamil[57]+0.3535533905932737*hamil[46]*f[57]+0.3535533905932737*f[41]*hamil[54]+0.3535533905932737*hamil[41]*f[54]+0.3535533905932737*f[40]*hamil[52]+0.3535533905932737*hamil[40]*f[52]+0.3535533905932737*f[39]*hamil[51]+0.3535533905932737*hamil[39]*f[51]+0.3535533905932737*f[37]*hamil[49]+0.3535533905932737*hamil[37]*f[49]+0.3535533905932737*f[36]*hamil[48]+0.3535533905932737*hamil[36]*f[48]+0.3535533905932737*f[34]*hamil[47]+0.3535533905932737*hamil[34]*f[47]+0.3535533905932737*f[31]*hamil[45]+0.3535533905932737*hamil[31]*f[45]+0.3535533905932737*f[30]*hamil[44]+0.3535533905932737*hamil[30]*f[44]+0.3535533905932737*f[28]*hamil[43]+0.3535533905932737*hamil[28]*f[43]+0.3535533905932737*f[25]*hamil[42]+0.3535533905932737*hamil[25]*f[42]+0.3535533905932737*f[21]*hamil[38]+0.3535533905932737*hamil[21]*f[38]+0.3535533905932737*f[20]*hamil[35]+0.3535533905932737*hamil[20]*f[35]+0.3535533905932737*f[19]*hamil[33]+0.3535533905932737*hamil[19]*f[33]+0.3535533905932737*f[18]*hamil[32]+0.3535533905932737*hamil[18]*f[32]+0.3535533905932737*f[16]*hamil[29]+0.3535533905932737*hamil[16]*f[29]+0.3535533905932737*f[15]*hamil[27]+0.3535533905932737*hamil[15]*f[27]+0.3535533905932737*f[14]*hamil[26]+0.3535533905932737*hamil[14]*f[26]+0.3535533905932737*f[12]*hamil[24]+0.3535533905932737*hamil[12]*f[24]+0.3535533905932737*f[11]*hamil[23]+0.3535533905932737*hamil[11]*f[23]+0.3535533905932737*f[9]*hamil[22]+0.3535533905932737*hamil[9]*f[22]+0.3535533905932737*f[6]*hamil[17]+0.3535533905932737*hamil[6]*f[17]+0.3535533905932737*f[5]*hamil[13]+0.3535533905932737*hamil[5]*f[13]+0.3535533905932737*f[4]*hamil[10]+0.3535533905932737*hamil[4]*f[10]+0.3535533905932737*f[3]*hamil[8]+0.3535533905932737*hamil[3]*f[8]+0.3535533905932737*f[2]*hamil[7]+0.3535533905932737*hamil[2]*f[7]+0.3535533905932737*f[0]*hamil[1]+0.3535533905932737*hamil[0]*f[1])*volFact; + out[2] += (0.3535533905932737*f[157]*hamil[159]+0.3535533905932737*hamil[157]*f[159]+0.3535533905932737*f[153]*hamil[158]+0.3535533905932737*hamil[153]*f[158]+0.3535533905932737*f[151]*hamil[156]+0.3535533905932737*hamil[151]*f[156]+0.3535533905932737*f[149]*hamil[155]+0.3535533905932737*hamil[149]*f[155]+0.3535533905932737*f[146]*hamil[154]+0.3535533905932737*hamil[146]*f[154]+0.3535533905932737*f[143]*hamil[152]+0.3535533905932737*hamil[143]*f[152]+0.3535533905932737*f[142]*hamil[150]+0.3535533905932737*hamil[142]*f[150]+0.3535533905932737*f[140]*hamil[148]+0.3535533905932737*hamil[140]*f[148]+0.3535533905932737*f[139]*hamil[147]+0.3535533905932737*hamil[139]*f[147]+0.3535533905932737*f[137]*hamil[145]+0.3535533905932737*hamil[137]*f[145]+0.3535533905932737*f[135]*hamil[144]+0.3535533905932737*hamil[135]*f[144]+0.3535533905932737*f[133]*hamil[141]+0.3535533905932737*hamil[133]*f[141]+0.3535533905932737*f[132]*hamil[138]+0.3535533905932737*hamil[132]*f[138]+0.3535533905932737*f[131]*hamil[136]+0.3535533905932737*hamil[131]*f[136]+0.3535533905932737*f[129]*hamil[134]+0.3535533905932737*hamil[129]*f[134]+0.3535533905932737*f[128]*hamil[130]+0.3535533905932737*hamil[128]*f[130]+0.3535533905932737*f[125]*hamil[127]+0.3535533905932737*hamil[125]*f[127]+0.3535533905932737*f[121]*hamil[126]+0.3535533905932737*hamil[121]*f[126]+0.3535533905932737*f[119]*hamil[124]+0.3535533905932737*hamil[119]*f[124]+0.3535533905932737*f[117]*hamil[123]+0.3535533905932737*hamil[117]*f[123]+0.3535533905932737*f[114]*hamil[122]+0.3535533905932737*hamil[114]*f[122]+0.3535533905932737*f[111]*hamil[120]+0.3535533905932737*hamil[111]*f[120]+0.3535533905932737*f[110]*hamil[118]+0.3535533905932737*hamil[110]*f[118]+0.3535533905932737*f[108]*hamil[116]+0.3535533905932737*hamil[108]*f[116]+0.3535533905932737*f[107]*hamil[115]+0.3535533905932737*hamil[107]*f[115]+0.3535533905932737*f[105]*hamil[113]+0.3535533905932737*hamil[105]*f[113]+0.3535533905932737*f[103]*hamil[112]+0.3535533905932737*hamil[103]*f[112]+0.3535533905932737*f[101]*hamil[109]+0.3535533905932737*hamil[101]*f[109]+0.3535533905932737*f[100]*hamil[106]+0.3535533905932737*hamil[100]*f[106]+0.3535533905932737*f[99]*hamil[104]+0.3535533905932737*hamil[99]*f[104]+0.3535533905932737*f[97]*hamil[102]+0.3535533905932737*hamil[97]*f[102]+0.3535533905932737*f[96]*hamil[98]+0.3535533905932737*hamil[96]*f[98]+0.3535533905932737*f[93]*hamil[95]+0.3535533905932737*hamil[93]*f[95]+0.3535533905932737*f[89]*hamil[94]+0.3535533905932737*hamil[89]*f[94]+0.3535533905932737*f[87]*hamil[92]+0.3535533905932737*hamil[87]*f[92]+0.3535533905932737*f[85]*hamil[91]+0.3535533905932737*hamil[85]*f[91]+0.3535533905932737*f[82]*hamil[90]+0.3535533905932737*hamil[82]*f[90]+0.3535533905932737*f[79]*hamil[88]+0.3535533905932737*hamil[79]*f[88]+0.3535533905932737*f[78]*hamil[86]+0.3535533905932737*hamil[78]*f[86]+0.3535533905932737*f[76]*hamil[84]+0.3535533905932737*hamil[76]*f[84]+0.3535533905932737*f[75]*hamil[83]+0.3535533905932737*hamil[75]*f[83]+0.3535533905932737*f[73]*hamil[81]+0.3535533905932737*hamil[73]*f[81]+0.3535533905932737*f[71]*hamil[80]+0.3535533905932737*hamil[71]*f[80]+0.3535533905932737*f[69]*hamil[77]+0.3535533905932737*hamil[69]*f[77]+0.3535533905932737*f[68]*hamil[74]+0.3535533905932737*hamil[68]*f[74]+0.3535533905932737*f[67]*hamil[72]+0.3535533905932737*hamil[67]*f[72]+0.3535533905932737*f[65]*hamil[70]+0.3535533905932737*hamil[65]*f[70]+0.3535533905932737*f[64]*hamil[66]+0.3535533905932737*hamil[64]*f[66]+0.3535533905932737*f[61]*hamil[63]+0.3535533905932737*hamil[61]*f[63]+0.3535533905932737*f[56]*hamil[62]+0.3535533905932737*hamil[56]*f[62]+0.3535533905932737*f[54]*hamil[60]+0.3535533905932737*hamil[54]*f[60]+0.3535533905932737*f[52]*hamil[59]+0.3535533905932737*hamil[52]*f[59]+0.3535533905932737*f[49]*hamil[58]+0.3535533905932737*hamil[49]*f[58]+0.3535533905932737*f[45]*hamil[57]+0.3535533905932737*hamil[45]*f[57]+0.3535533905932737*f[41]*hamil[55]+0.3535533905932737*hamil[41]*f[55]+0.3535533905932737*f[40]*hamil[53]+0.3535533905932737*hamil[40]*f[53]+0.3535533905932737*f[38]*hamil[51]+0.3535533905932737*hamil[38]*f[51]+0.3535533905932737*f[37]*hamil[50]+0.3535533905932737*hamil[37]*f[50]+0.3535533905932737*f[35]*hamil[48]+0.3535533905932737*hamil[35]*f[48]+0.3535533905932737*f[33]*hamil[47]+0.3535533905932737*hamil[33]*f[47]+0.3535533905932737*f[31]*hamil[46]+0.3535533905932737*hamil[31]*f[46]+0.3535533905932737*f[29]*hamil[44]+0.3535533905932737*hamil[29]*f[44]+0.3535533905932737*f[27]*hamil[43]+0.3535533905932737*hamil[27]*f[43]+0.3535533905932737*f[24]*hamil[42]+0.3535533905932737*hamil[24]*f[42]+0.3535533905932737*f[21]*hamil[39]+0.3535533905932737*hamil[21]*f[39]+0.3535533905932737*f[20]*hamil[36]+0.3535533905932737*hamil[20]*f[36]+0.3535533905932737*f[19]*hamil[34]+0.3535533905932737*hamil[19]*f[34]+0.3535533905932737*f[17]*hamil[32]+0.3535533905932737*hamil[17]*f[32]+0.3535533905932737*f[16]*hamil[30]+0.3535533905932737*hamil[16]*f[30]+0.3535533905932737*f[15]*hamil[28]+0.3535533905932737*hamil[15]*f[28]+0.3535533905932737*f[13]*hamil[26]+0.3535533905932737*hamil[13]*f[26]+0.3535533905932737*f[12]*hamil[25]+0.3535533905932737*hamil[12]*f[25]+0.3535533905932737*f[10]*hamil[23]+0.3535533905932737*hamil[10]*f[23]+0.3535533905932737*f[8]*hamil[22]+0.3535533905932737*hamil[8]*f[22]+0.3535533905932737*f[6]*hamil[18]+0.3535533905932737*hamil[6]*f[18]+0.3535533905932737*f[5]*hamil[14]+0.3535533905932737*hamil[5]*f[14]+0.3535533905932737*f[4]*hamil[11]+0.3535533905932737*hamil[4]*f[11]+0.3535533905932737*f[3]*hamil[9]+0.3535533905932737*hamil[3]*f[9]+0.3535533905932737*f[1]*hamil[7]+0.3535533905932737*hamil[1]*f[7]+0.3535533905932737*f[0]*hamil[2]+0.3535533905932737*hamil[0]*f[2])*volFact; + out[3] += (0.3535533905932737*f[156]*hamil[159]+0.3535533905932737*hamil[156]*f[159]+0.3535533905932737*f[152]*hamil[158]+0.3535533905932737*hamil[152]*f[158]+0.3535533905932737*f[151]*hamil[157]+0.3535533905932737*hamil[151]*f[157]+0.3535533905932737*f[148]*hamil[155]+0.3535533905932737*hamil[148]*f[155]+0.3535533905932737*f[145]*hamil[154]+0.3535533905932737*hamil[145]*f[154]+0.3535533905932737*f[143]*hamil[153]+0.3535533905932737*hamil[143]*f[153]+0.3535533905932737*f[141]*hamil[150]+0.3535533905932737*hamil[141]*f[150]+0.3535533905932737*f[140]*hamil[149]+0.3535533905932737*hamil[140]*f[149]+0.3535533905932737*f[138]*hamil[147]+0.3535533905932737*hamil[138]*f[147]+0.3535533905932737*f[137]*hamil[146]+0.3535533905932737*hamil[137]*f[146]+0.3535533905932737*f[134]*hamil[144]+0.3535533905932737*hamil[134]*f[144]+0.3535533905932737*f[133]*hamil[142]+0.3535533905932737*hamil[133]*f[142]+0.3535533905932737*f[132]*hamil[139]+0.3535533905932737*hamil[132]*f[139]+0.3535533905932737*f[130]*hamil[136]+0.3535533905932737*hamil[130]*f[136]+0.3535533905932737*f[129]*hamil[135]+0.3535533905932737*hamil[129]*f[135]+0.3535533905932737*f[128]*hamil[131]+0.3535533905932737*hamil[128]*f[131]+0.3535533905932737*f[124]*hamil[127]+0.3535533905932737*hamil[124]*f[127]+0.3535533905932737*f[120]*hamil[126]+0.3535533905932737*hamil[120]*f[126]+0.3535533905932737*f[119]*hamil[125]+0.3535533905932737*hamil[119]*f[125]+0.3535533905932737*f[116]*hamil[123]+0.3535533905932737*hamil[116]*f[123]+0.3535533905932737*f[113]*hamil[122]+0.3535533905932737*hamil[113]*f[122]+0.3535533905932737*f[111]*hamil[121]+0.3535533905932737*hamil[111]*f[121]+0.3535533905932737*f[109]*hamil[118]+0.3535533905932737*hamil[109]*f[118]+0.3535533905932737*f[108]*hamil[117]+0.3535533905932737*hamil[108]*f[117]+0.3535533905932737*f[106]*hamil[115]+0.3535533905932737*hamil[106]*f[115]+0.3535533905932737*f[105]*hamil[114]+0.3535533905932737*hamil[105]*f[114]+0.3535533905932737*f[102]*hamil[112]+0.3535533905932737*hamil[102]*f[112]+0.3535533905932737*f[101]*hamil[110]+0.3535533905932737*hamil[101]*f[110]+0.3535533905932737*f[100]*hamil[107]+0.3535533905932737*hamil[100]*f[107]+0.3535533905932737*f[98]*hamil[104]+0.3535533905932737*hamil[98]*f[104]+0.3535533905932737*f[97]*hamil[103]+0.3535533905932737*hamil[97]*f[103]+0.3535533905932737*f[96]*hamil[99]+0.3535533905932737*hamil[96]*f[99]+0.3535533905932737*f[92]*hamil[95]+0.3535533905932737*hamil[92]*f[95]+0.3535533905932737*f[88]*hamil[94]+0.3535533905932737*hamil[88]*f[94]+0.3535533905932737*f[87]*hamil[93]+0.3535533905932737*hamil[87]*f[93]+0.3535533905932737*f[84]*hamil[91]+0.3535533905932737*hamil[84]*f[91]+0.3535533905932737*f[81]*hamil[90]+0.3535533905932737*hamil[81]*f[90]+0.3535533905932737*f[79]*hamil[89]+0.3535533905932737*hamil[79]*f[89]+0.3535533905932737*f[77]*hamil[86]+0.3535533905932737*hamil[77]*f[86]+0.3535533905932737*f[76]*hamil[85]+0.3535533905932737*hamil[76]*f[85]+0.3535533905932737*f[74]*hamil[83]+0.3535533905932737*hamil[74]*f[83]+0.3535533905932737*f[73]*hamil[82]+0.3535533905932737*hamil[73]*f[82]+0.3535533905932737*f[70]*hamil[80]+0.3535533905932737*hamil[70]*f[80]+0.3535533905932737*f[69]*hamil[78]+0.3535533905932737*hamil[69]*f[78]+0.3535533905932737*f[68]*hamil[75]+0.3535533905932737*hamil[68]*f[75]+0.3535533905932737*f[66]*hamil[72]+0.3535533905932737*hamil[66]*f[72]+0.3535533905932737*f[65]*hamil[71]+0.3535533905932737*hamil[65]*f[71]+0.3535533905932737*f[64]*hamil[67]+0.3535533905932737*hamil[64]*f[67]+0.3535533905932737*f[60]*hamil[63]+0.3535533905932737*hamil[60]*f[63]+0.3535533905932737*f[55]*hamil[62]+0.3535533905932737*hamil[55]*f[62]+0.3535533905932737*f[54]*hamil[61]+0.3535533905932737*hamil[54]*f[61]+0.3535533905932737*f[51]*hamil[59]+0.3535533905932737*hamil[51]*f[59]+0.3535533905932737*f[48]*hamil[58]+0.3535533905932737*hamil[48]*f[58]+0.3535533905932737*f[44]*hamil[57]+0.3535533905932737*hamil[44]*f[57]+0.3535533905932737*f[41]*hamil[56]+0.3535533905932737*hamil[41]*f[56]+0.3535533905932737*f[39]*hamil[53]+0.3535533905932737*hamil[39]*f[53]+0.3535533905932737*f[38]*hamil[52]+0.3535533905932737*hamil[38]*f[52]+0.3535533905932737*f[36]*hamil[50]+0.3535533905932737*hamil[36]*f[50]+0.3535533905932737*f[35]*hamil[49]+0.3535533905932737*hamil[35]*f[49]+0.3535533905932737*f[32]*hamil[47]+0.3535533905932737*hamil[32]*f[47]+0.3535533905932737*f[30]*hamil[46]+0.3535533905932737*hamil[30]*f[46]+0.3535533905932737*f[29]*hamil[45]+0.3535533905932737*hamil[29]*f[45]+0.3535533905932737*f[26]*hamil[43]+0.3535533905932737*hamil[26]*f[43]+0.3535533905932737*f[23]*hamil[42]+0.3535533905932737*hamil[23]*f[42]+0.3535533905932737*f[21]*hamil[40]+0.3535533905932737*hamil[21]*f[40]+0.3535533905932737*f[20]*hamil[37]+0.3535533905932737*hamil[20]*f[37]+0.3535533905932737*f[18]*hamil[34]+0.3535533905932737*hamil[18]*f[34]+0.3535533905932737*f[17]*hamil[33]+0.3535533905932737*hamil[17]*f[33]+0.3535533905932737*f[16]*hamil[31]+0.3535533905932737*hamil[16]*f[31]+0.3535533905932737*f[14]*hamil[28]+0.3535533905932737*hamil[14]*f[28]+0.3535533905932737*f[13]*hamil[27]+0.3535533905932737*hamil[13]*f[27]+0.3535533905932737*f[11]*hamil[25]+0.3535533905932737*hamil[11]*f[25]+0.3535533905932737*f[10]*hamil[24]+0.3535533905932737*hamil[10]*f[24]+0.3535533905932737*f[7]*hamil[22]+0.3535533905932737*hamil[7]*f[22]+0.3535533905932737*f[6]*hamil[19]+0.3535533905932737*hamil[6]*f[19]+0.3535533905932737*f[5]*hamil[15]+0.3535533905932737*hamil[5]*f[15]+0.3535533905932737*f[4]*hamil[12]+0.3535533905932737*hamil[4]*f[12]+0.3535533905932737*f[2]*hamil[9]+0.3535533905932737*hamil[2]*f[9]+0.3535533905932737*f[1]*hamil[8]+0.3535533905932737*hamil[1]*f[8]+0.3535533905932737*f[0]*hamil[3]+0.3535533905932737*hamil[0]*f[3])*volFact; + out[4] += (0.3535533905932737*f[153]*hamil[159]+0.3535533905932737*hamil[153]*f[159]+0.3535533905932737*f[157]*hamil[158]+0.3535533905932737*hamil[157]*f[158]+0.3535533905932737*f[143]*hamil[156]+0.3535533905932737*hamil[143]*f[156]+0.3535533905932737*f[142]*hamil[155]+0.3535533905932737*hamil[142]*f[155]+0.3535533905932737*f[139]*hamil[154]+0.3535533905932737*hamil[139]*f[154]+0.3535533905932737*f[151]*hamil[152]+0.3535533905932737*hamil[151]*f[152]+0.3535533905932737*f[149]*hamil[150]+0.3535533905932737*hamil[149]*f[150]+0.3535533905932737*f[133]*hamil[148]+0.3535533905932737*hamil[133]*f[148]+0.3535533905932737*f[146]*hamil[147]+0.3535533905932737*hamil[146]*f[147]+0.3535533905932737*f[132]*hamil[145]+0.3535533905932737*hamil[132]*f[145]+0.3535533905932737*f[131]*hamil[144]+0.3535533905932737*hamil[131]*f[144]+0.3535533905932737*f[140]*hamil[141]+0.3535533905932737*hamil[140]*f[141]+0.3535533905932737*f[137]*hamil[138]+0.3535533905932737*hamil[137]*f[138]+0.3535533905932737*f[135]*hamil[136]+0.3535533905932737*hamil[135]*f[136]+0.3535533905932737*f[128]*hamil[134]+0.3535533905932737*hamil[128]*f[134]+0.3535533905932737*f[129]*hamil[130]+0.3535533905932737*hamil[129]*f[130]+0.3535533905932737*f[121]*hamil[127]+0.3535533905932737*hamil[121]*f[127]+0.3535533905932737*f[125]*hamil[126]+0.3535533905932737*hamil[125]*f[126]+0.3535533905932737*f[111]*hamil[124]+0.3535533905932737*hamil[111]*f[124]+0.3535533905932737*f[110]*hamil[123]+0.3535533905932737*hamil[110]*f[123]+0.3535533905932737*f[107]*hamil[122]+0.3535533905932737*hamil[107]*f[122]+0.3535533905932737*f[119]*hamil[120]+0.3535533905932737*hamil[119]*f[120]+0.3535533905932737*f[117]*hamil[118]+0.3535533905932737*hamil[117]*f[118]+0.3535533905932737*f[101]*hamil[116]+0.3535533905932737*hamil[101]*f[116]+0.3535533905932737*f[114]*hamil[115]+0.3535533905932737*hamil[114]*f[115]+0.3535533905932737*f[100]*hamil[113]+0.3535533905932737*hamil[100]*f[113]+0.3535533905932737*f[99]*hamil[112]+0.3535533905932737*hamil[99]*f[112]+0.3535533905932737*f[108]*hamil[109]+0.3535533905932737*hamil[108]*f[109]+0.3535533905932737*f[105]*hamil[106]+0.3535533905932737*hamil[105]*f[106]+0.3535533905932737*f[103]*hamil[104]+0.3535533905932737*hamil[103]*f[104]+0.3535533905932737*f[96]*hamil[102]+0.3535533905932737*hamil[96]*f[102]+0.3535533905932737*f[97]*hamil[98]+0.3535533905932737*hamil[97]*f[98]+0.3535533905932737*f[89]*hamil[95]+0.3535533905932737*hamil[89]*f[95]+0.3535533905932737*f[93]*hamil[94]+0.3535533905932737*hamil[93]*f[94]+0.3535533905932737*f[79]*hamil[92]+0.3535533905932737*hamil[79]*f[92]+0.3535533905932737*f[78]*hamil[91]+0.3535533905932737*hamil[78]*f[91]+0.3535533905932737*f[75]*hamil[90]+0.3535533905932737*hamil[75]*f[90]+0.3535533905932737*f[87]*hamil[88]+0.3535533905932737*hamil[87]*f[88]+0.3535533905932737*f[85]*hamil[86]+0.3535533905932737*hamil[85]*f[86]+0.3535533905932737*f[69]*hamil[84]+0.3535533905932737*hamil[69]*f[84]+0.3535533905932737*f[82]*hamil[83]+0.3535533905932737*hamil[82]*f[83]+0.3535533905932737*f[68]*hamil[81]+0.3535533905932737*hamil[68]*f[81]+0.3535533905932737*f[67]*hamil[80]+0.3535533905932737*hamil[67]*f[80]+0.3535533905932737*f[76]*hamil[77]+0.3535533905932737*hamil[76]*f[77]+0.3535533905932737*f[73]*hamil[74]+0.3535533905932737*hamil[73]*f[74]+0.3535533905932737*f[71]*hamil[72]+0.3535533905932737*hamil[71]*f[72]+0.3535533905932737*f[64]*hamil[70]+0.3535533905932737*hamil[64]*f[70]+0.3535533905932737*f[65]*hamil[66]+0.3535533905932737*hamil[65]*f[66]+0.3535533905932737*f[56]*hamil[63]+0.3535533905932737*hamil[56]*f[63]+0.3535533905932737*f[61]*hamil[62]+0.3535533905932737*hamil[61]*f[62]+0.3535533905932737*f[41]*hamil[60]+0.3535533905932737*hamil[41]*f[60]+0.3535533905932737*f[40]*hamil[59]+0.3535533905932737*hamil[40]*f[59]+0.3535533905932737*f[37]*hamil[58]+0.3535533905932737*hamil[37]*f[58]+0.3535533905932737*f[31]*hamil[57]+0.3535533905932737*hamil[31]*f[57]+0.3535533905932737*f[54]*hamil[55]+0.3535533905932737*hamil[54]*f[55]+0.3535533905932737*f[52]*hamil[53]+0.3535533905932737*hamil[52]*f[53]+0.3535533905932737*f[21]*hamil[51]+0.3535533905932737*hamil[21]*f[51]+0.3535533905932737*f[49]*hamil[50]+0.3535533905932737*hamil[49]*f[50]+0.3535533905932737*f[20]*hamil[48]+0.3535533905932737*hamil[20]*f[48]+0.3535533905932737*f[19]*hamil[47]+0.3535533905932737*hamil[19]*f[47]+0.3535533905932737*f[45]*hamil[46]+0.3535533905932737*hamil[45]*f[46]+0.3535533905932737*f[16]*hamil[44]+0.3535533905932737*hamil[16]*f[44]+0.3535533905932737*f[15]*hamil[43]+0.3535533905932737*hamil[15]*f[43]+0.3535533905932737*f[12]*hamil[42]+0.3535533905932737*hamil[12]*f[42]+0.3535533905932737*f[38]*hamil[39]+0.3535533905932737*hamil[38]*f[39]+0.3535533905932737*f[35]*hamil[36]+0.3535533905932737*hamil[35]*f[36]+0.3535533905932737*f[33]*hamil[34]+0.3535533905932737*hamil[33]*f[34]+0.3535533905932737*f[6]*hamil[32]+0.3535533905932737*hamil[6]*f[32]+0.3535533905932737*f[29]*hamil[30]+0.3535533905932737*hamil[29]*f[30]+0.3535533905932737*f[27]*hamil[28]+0.3535533905932737*hamil[27]*f[28]+0.3535533905932737*f[5]*hamil[26]+0.3535533905932737*hamil[5]*f[26]+0.3535533905932737*f[24]*hamil[25]+0.3535533905932737*hamil[24]*f[25]+0.3535533905932737*f[4]*hamil[23]+0.3535533905932737*hamil[4]*f[23]+0.3535533905932737*f[3]*hamil[22]+0.3535533905932737*hamil[3]*f[22]+0.3535533905932737*f[17]*hamil[18]+0.3535533905932737*hamil[17]*f[18]+0.3535533905932737*f[13]*hamil[14]+0.3535533905932737*hamil[13]*f[14]+0.3535533905932737*f[10]*hamil[11]+0.3535533905932737*hamil[10]*f[11]+0.3535533905932737*f[8]*hamil[9]+0.3535533905932737*hamil[8]*f[9]+0.3535533905932737*f[0]*hamil[7]+0.3535533905932737*hamil[0]*f[7]+0.3535533905932737*f[1]*hamil[2]+0.3535533905932737*hamil[1]*f[2])*volFact; + out[5] += (0.3535533905932737*f[152]*hamil[159]+0.3535533905932737*hamil[152]*f[159]+0.3535533905932737*f[156]*hamil[158]+0.3535533905932737*hamil[156]*f[158]+0.3535533905932737*f[143]*hamil[157]+0.3535533905932737*hamil[143]*f[157]+0.3535533905932737*f[141]*hamil[155]+0.3535533905932737*hamil[141]*f[155]+0.3535533905932737*f[138]*hamil[154]+0.3535533905932737*hamil[138]*f[154]+0.3535533905932737*f[151]*hamil[153]+0.3535533905932737*hamil[151]*f[153]+0.3535533905932737*f[148]*hamil[150]+0.3535533905932737*hamil[148]*f[150]+0.3535533905932737*f[133]*hamil[149]+0.3535533905932737*hamil[133]*f[149]+0.3535533905932737*f[145]*hamil[147]+0.3535533905932737*hamil[145]*f[147]+0.3535533905932737*f[132]*hamil[146]+0.3535533905932737*hamil[132]*f[146]+0.3535533905932737*f[130]*hamil[144]+0.3535533905932737*hamil[130]*f[144]+0.3535533905932737*f[140]*hamil[142]+0.3535533905932737*hamil[140]*f[142]+0.3535533905932737*f[137]*hamil[139]+0.3535533905932737*hamil[137]*f[139]+0.3535533905932737*f[134]*hamil[136]+0.3535533905932737*hamil[134]*f[136]+0.3535533905932737*f[128]*hamil[135]+0.3535533905932737*hamil[128]*f[135]+0.3535533905932737*f[129]*hamil[131]+0.3535533905932737*hamil[129]*f[131]+0.3535533905932737*f[120]*hamil[127]+0.3535533905932737*hamil[120]*f[127]+0.3535533905932737*f[124]*hamil[126]+0.3535533905932737*hamil[124]*f[126]+0.3535533905932737*f[111]*hamil[125]+0.3535533905932737*hamil[111]*f[125]+0.3535533905932737*f[109]*hamil[123]+0.3535533905932737*hamil[109]*f[123]+0.3535533905932737*f[106]*hamil[122]+0.3535533905932737*hamil[106]*f[122]+0.3535533905932737*f[119]*hamil[121]+0.3535533905932737*hamil[119]*f[121]+0.3535533905932737*f[116]*hamil[118]+0.3535533905932737*hamil[116]*f[118]+0.3535533905932737*f[101]*hamil[117]+0.3535533905932737*hamil[101]*f[117]+0.3535533905932737*f[113]*hamil[115]+0.3535533905932737*hamil[113]*f[115]+0.3535533905932737*f[100]*hamil[114]+0.3535533905932737*hamil[100]*f[114]+0.3535533905932737*f[98]*hamil[112]+0.3535533905932737*hamil[98]*f[112]+0.3535533905932737*f[108]*hamil[110]+0.3535533905932737*hamil[108]*f[110]+0.3535533905932737*f[105]*hamil[107]+0.3535533905932737*hamil[105]*f[107]+0.3535533905932737*f[102]*hamil[104]+0.3535533905932737*hamil[102]*f[104]+0.3535533905932737*f[96]*hamil[103]+0.3535533905932737*hamil[96]*f[103]+0.3535533905932737*f[97]*hamil[99]+0.3535533905932737*hamil[97]*f[99]+0.3535533905932737*f[88]*hamil[95]+0.3535533905932737*hamil[88]*f[95]+0.3535533905932737*f[92]*hamil[94]+0.3535533905932737*hamil[92]*f[94]+0.3535533905932737*f[79]*hamil[93]+0.3535533905932737*hamil[79]*f[93]+0.3535533905932737*f[77]*hamil[91]+0.3535533905932737*hamil[77]*f[91]+0.3535533905932737*f[74]*hamil[90]+0.3535533905932737*hamil[74]*f[90]+0.3535533905932737*f[87]*hamil[89]+0.3535533905932737*hamil[87]*f[89]+0.3535533905932737*f[84]*hamil[86]+0.3535533905932737*hamil[84]*f[86]+0.3535533905932737*f[69]*hamil[85]+0.3535533905932737*hamil[69]*f[85]+0.3535533905932737*f[81]*hamil[83]+0.3535533905932737*hamil[81]*f[83]+0.3535533905932737*f[68]*hamil[82]+0.3535533905932737*hamil[68]*f[82]+0.3535533905932737*f[66]*hamil[80]+0.3535533905932737*hamil[66]*f[80]+0.3535533905932737*f[76]*hamil[78]+0.3535533905932737*hamil[76]*f[78]+0.3535533905932737*f[73]*hamil[75]+0.3535533905932737*hamil[73]*f[75]+0.3535533905932737*f[70]*hamil[72]+0.3535533905932737*hamil[70]*f[72]+0.3535533905932737*f[64]*hamil[71]+0.3535533905932737*hamil[64]*f[71]+0.3535533905932737*f[65]*hamil[67]+0.3535533905932737*hamil[65]*f[67]+0.3535533905932737*f[55]*hamil[63]+0.3535533905932737*hamil[55]*f[63]+0.3535533905932737*f[60]*hamil[62]+0.3535533905932737*hamil[60]*f[62]+0.3535533905932737*f[41]*hamil[61]+0.3535533905932737*hamil[41]*f[61]+0.3535533905932737*f[39]*hamil[59]+0.3535533905932737*hamil[39]*f[59]+0.3535533905932737*f[36]*hamil[58]+0.3535533905932737*hamil[36]*f[58]+0.3535533905932737*f[30]*hamil[57]+0.3535533905932737*hamil[30]*f[57]+0.3535533905932737*f[54]*hamil[56]+0.3535533905932737*hamil[54]*f[56]+0.3535533905932737*f[51]*hamil[53]+0.3535533905932737*hamil[51]*f[53]+0.3535533905932737*f[21]*hamil[52]+0.3535533905932737*hamil[21]*f[52]+0.3535533905932737*f[48]*hamil[50]+0.3535533905932737*hamil[48]*f[50]+0.3535533905932737*f[20]*hamil[49]+0.3535533905932737*hamil[20]*f[49]+0.3535533905932737*f[18]*hamil[47]+0.3535533905932737*hamil[18]*f[47]+0.3535533905932737*f[44]*hamil[46]+0.3535533905932737*hamil[44]*f[46]+0.3535533905932737*f[16]*hamil[45]+0.3535533905932737*hamil[16]*f[45]+0.3535533905932737*f[14]*hamil[43]+0.3535533905932737*hamil[14]*f[43]+0.3535533905932737*f[11]*hamil[42]+0.3535533905932737*hamil[11]*f[42]+0.3535533905932737*f[38]*hamil[40]+0.3535533905932737*hamil[38]*f[40]+0.3535533905932737*f[35]*hamil[37]+0.3535533905932737*hamil[35]*f[37]+0.3535533905932737*f[32]*hamil[34]+0.3535533905932737*hamil[32]*f[34]+0.3535533905932737*f[6]*hamil[33]+0.3535533905932737*hamil[6]*f[33]+0.3535533905932737*f[29]*hamil[31]+0.3535533905932737*hamil[29]*f[31]+0.3535533905932737*f[26]*hamil[28]+0.3535533905932737*hamil[26]*f[28]+0.3535533905932737*f[5]*hamil[27]+0.3535533905932737*hamil[5]*f[27]+0.3535533905932737*f[23]*hamil[25]+0.3535533905932737*hamil[23]*f[25]+0.3535533905932737*f[4]*hamil[24]+0.3535533905932737*hamil[4]*f[24]+0.3535533905932737*f[2]*hamil[22]+0.3535533905932737*hamil[2]*f[22]+0.3535533905932737*f[17]*hamil[19]+0.3535533905932737*hamil[17]*f[19]+0.3535533905932737*f[13]*hamil[15]+0.3535533905932737*hamil[13]*f[15]+0.3535533905932737*f[10]*hamil[12]+0.3535533905932737*hamil[10]*f[12]+0.3535533905932737*f[7]*hamil[9]+0.3535533905932737*hamil[7]*f[9]+0.3535533905932737*f[0]*hamil[8]+0.3535533905932737*hamil[0]*f[8]+0.3535533905932737*f[1]*hamil[3]+0.3535533905932737*hamil[1]*f[3])*volFact; + out[6] += (0.3535533905932737*f[151]*hamil[159]+0.3535533905932737*hamil[151]*f[159]+0.3535533905932737*f[143]*hamil[158]+0.3535533905932737*hamil[143]*f[158]+0.3535533905932737*f[156]*hamil[157]+0.3535533905932737*hamil[156]*f[157]+0.3535533905932737*f[140]*hamil[155]+0.3535533905932737*hamil[140]*f[155]+0.3535533905932737*f[137]*hamil[154]+0.3535533905932737*hamil[137]*f[154]+0.3535533905932737*f[152]*hamil[153]+0.3535533905932737*hamil[152]*f[153]+0.3535533905932737*f[133]*hamil[150]+0.3535533905932737*hamil[133]*f[150]+0.3535533905932737*f[148]*hamil[149]+0.3535533905932737*hamil[148]*f[149]+0.3535533905932737*f[132]*hamil[147]+0.3535533905932737*hamil[132]*f[147]+0.3535533905932737*f[145]*hamil[146]+0.3535533905932737*hamil[145]*f[146]+0.3535533905932737*f[129]*hamil[144]+0.3535533905932737*hamil[129]*f[144]+0.3535533905932737*f[141]*hamil[142]+0.3535533905932737*hamil[141]*f[142]+0.3535533905932737*f[138]*hamil[139]+0.3535533905932737*hamil[138]*f[139]+0.3535533905932737*f[128]*hamil[136]+0.3535533905932737*hamil[128]*f[136]+0.3535533905932737*f[134]*hamil[135]+0.3535533905932737*hamil[134]*f[135]+0.3535533905932737*f[130]*hamil[131]+0.3535533905932737*hamil[130]*f[131]+0.3535533905932737*f[119]*hamil[127]+0.3535533905932737*hamil[119]*f[127]+0.3535533905932737*f[111]*hamil[126]+0.3535533905932737*hamil[111]*f[126]+0.3535533905932737*f[124]*hamil[125]+0.3535533905932737*hamil[124]*f[125]+0.3535533905932737*f[108]*hamil[123]+0.3535533905932737*hamil[108]*f[123]+0.3535533905932737*f[105]*hamil[122]+0.3535533905932737*hamil[105]*f[122]+0.3535533905932737*f[120]*hamil[121]+0.3535533905932737*hamil[120]*f[121]+0.3535533905932737*f[101]*hamil[118]+0.3535533905932737*hamil[101]*f[118]+0.3535533905932737*f[116]*hamil[117]+0.3535533905932737*hamil[116]*f[117]+0.3535533905932737*f[100]*hamil[115]+0.3535533905932737*hamil[100]*f[115]+0.3535533905932737*f[113]*hamil[114]+0.3535533905932737*hamil[113]*f[114]+0.3535533905932737*f[97]*hamil[112]+0.3535533905932737*hamil[97]*f[112]+0.3535533905932737*f[109]*hamil[110]+0.3535533905932737*hamil[109]*f[110]+0.3535533905932737*f[106]*hamil[107]+0.3535533905932737*hamil[106]*f[107]+0.3535533905932737*f[96]*hamil[104]+0.3535533905932737*hamil[96]*f[104]+0.3535533905932737*f[102]*hamil[103]+0.3535533905932737*hamil[102]*f[103]+0.3535533905932737*f[98]*hamil[99]+0.3535533905932737*hamil[98]*f[99]+0.3535533905932737*f[87]*hamil[95]+0.3535533905932737*hamil[87]*f[95]+0.3535533905932737*f[79]*hamil[94]+0.3535533905932737*hamil[79]*f[94]+0.3535533905932737*f[92]*hamil[93]+0.3535533905932737*hamil[92]*f[93]+0.3535533905932737*f[76]*hamil[91]+0.3535533905932737*hamil[76]*f[91]+0.3535533905932737*f[73]*hamil[90]+0.3535533905932737*hamil[73]*f[90]+0.3535533905932737*f[88]*hamil[89]+0.3535533905932737*hamil[88]*f[89]+0.3535533905932737*f[69]*hamil[86]+0.3535533905932737*hamil[69]*f[86]+0.3535533905932737*f[84]*hamil[85]+0.3535533905932737*hamil[84]*f[85]+0.3535533905932737*f[68]*hamil[83]+0.3535533905932737*hamil[68]*f[83]+0.3535533905932737*f[81]*hamil[82]+0.3535533905932737*hamil[81]*f[82]+0.3535533905932737*f[65]*hamil[80]+0.3535533905932737*hamil[65]*f[80]+0.3535533905932737*f[77]*hamil[78]+0.3535533905932737*hamil[77]*f[78]+0.3535533905932737*f[74]*hamil[75]+0.3535533905932737*hamil[74]*f[75]+0.3535533905932737*f[64]*hamil[72]+0.3535533905932737*hamil[64]*f[72]+0.3535533905932737*f[70]*hamil[71]+0.3535533905932737*hamil[70]*f[71]+0.3535533905932737*f[66]*hamil[67]+0.3535533905932737*hamil[66]*f[67]+0.3535533905932737*f[54]*hamil[63]+0.3535533905932737*hamil[54]*f[63]+0.3535533905932737*f[41]*hamil[62]+0.3535533905932737*hamil[41]*f[62]+0.3535533905932737*f[60]*hamil[61]+0.3535533905932737*hamil[60]*f[61]+0.3535533905932737*f[38]*hamil[59]+0.3535533905932737*hamil[38]*f[59]+0.3535533905932737*f[35]*hamil[58]+0.3535533905932737*hamil[35]*f[58]+0.3535533905932737*f[29]*hamil[57]+0.3535533905932737*hamil[29]*f[57]+0.3535533905932737*f[55]*hamil[56]+0.3535533905932737*hamil[55]*f[56]+0.3535533905932737*f[21]*hamil[53]+0.3535533905932737*hamil[21]*f[53]+0.3535533905932737*f[51]*hamil[52]+0.3535533905932737*hamil[51]*f[52]+0.3535533905932737*f[20]*hamil[50]+0.3535533905932737*hamil[20]*f[50]+0.3535533905932737*f[48]*hamil[49]+0.3535533905932737*hamil[48]*f[49]+0.3535533905932737*f[17]*hamil[47]+0.3535533905932737*hamil[17]*f[47]+0.3535533905932737*f[16]*hamil[46]+0.3535533905932737*hamil[16]*f[46]+0.3535533905932737*f[44]*hamil[45]+0.3535533905932737*hamil[44]*f[45]+0.3535533905932737*f[13]*hamil[43]+0.3535533905932737*hamil[13]*f[43]+0.3535533905932737*f[10]*hamil[42]+0.3535533905932737*hamil[10]*f[42]+0.3535533905932737*f[39]*hamil[40]+0.3535533905932737*hamil[39]*f[40]+0.3535533905932737*f[36]*hamil[37]+0.3535533905932737*hamil[36]*f[37]+0.3535533905932737*f[6]*hamil[34]+0.3535533905932737*hamil[6]*f[34]+0.3535533905932737*f[32]*hamil[33]+0.3535533905932737*hamil[32]*f[33]+0.3535533905932737*f[30]*hamil[31]+0.3535533905932737*hamil[30]*f[31]+0.3535533905932737*f[5]*hamil[28]+0.3535533905932737*hamil[5]*f[28]+0.3535533905932737*f[26]*hamil[27]+0.3535533905932737*hamil[26]*f[27]+0.3535533905932737*f[4]*hamil[25]+0.3535533905932737*hamil[4]*f[25]+0.3535533905932737*f[23]*hamil[24]+0.3535533905932737*hamil[23]*f[24]+0.3535533905932737*f[1]*hamil[22]+0.3535533905932737*hamil[1]*f[22]+0.3535533905932737*f[18]*hamil[19]+0.3535533905932737*hamil[18]*f[19]+0.3535533905932737*f[14]*hamil[15]+0.3535533905932737*hamil[14]*f[15]+0.3535533905932737*f[11]*hamil[12]+0.3535533905932737*hamil[11]*f[12]+0.3535533905932737*f[0]*hamil[9]+0.3535533905932737*hamil[0]*f[9]+0.3535533905932737*f[7]*hamil[8]+0.3535533905932737*hamil[7]*f[8]+0.3535533905932737*f[2]*hamil[3]+0.3535533905932737*hamil[2]*f[3])*volFact; + out[7] += (0.3535533905932737*f[143]*hamil[159]+0.3535533905932737*hamil[143]*f[159]+0.3535533905932737*f[151]*hamil[158]+0.3535533905932737*hamil[151]*f[158]+0.3535533905932737*f[152]*hamil[157]+0.3535533905932737*hamil[152]*f[157]+0.3535533905932737*f[153]*hamil[156]+0.3535533905932737*hamil[153]*f[156]+0.3535533905932737*f[133]*hamil[155]+0.3535533905932737*hamil[133]*f[155]+0.3535533905932737*f[132]*hamil[154]+0.3535533905932737*hamil[132]*f[154]+0.3535533905932737*f[140]*hamil[150]+0.3535533905932737*hamil[140]*f[150]+0.3535533905932737*f[141]*hamil[149]+0.3535533905932737*hamil[141]*f[149]+0.3535533905932737*f[142]*hamil[148]+0.3535533905932737*hamil[142]*f[148]+0.3535533905932737*f[137]*hamil[147]+0.3535533905932737*hamil[137]*f[147]+0.3535533905932737*f[138]*hamil[146]+0.3535533905932737*hamil[138]*f[146]+0.3535533905932737*f[139]*hamil[145]+0.3535533905932737*hamil[139]*f[145]+0.3535533905932737*f[128]*hamil[144]+0.3535533905932737*hamil[128]*f[144]+0.3535533905932737*f[129]*hamil[136]+0.3535533905932737*hamil[129]*f[136]+0.3535533905932737*f[130]*hamil[135]+0.3535533905932737*hamil[130]*f[135]+0.3535533905932737*f[131]*hamil[134]+0.3535533905932737*hamil[131]*f[134]+0.3535533905932737*f[111]*hamil[127]+0.3535533905932737*hamil[111]*f[127]+0.3535533905932737*f[119]*hamil[126]+0.3535533905932737*hamil[119]*f[126]+0.3535533905932737*f[120]*hamil[125]+0.3535533905932737*hamil[120]*f[125]+0.3535533905932737*f[121]*hamil[124]+0.3535533905932737*hamil[121]*f[124]+0.3535533905932737*f[101]*hamil[123]+0.3535533905932737*hamil[101]*f[123]+0.3535533905932737*f[100]*hamil[122]+0.3535533905932737*hamil[100]*f[122]+0.3535533905932737*f[108]*hamil[118]+0.3535533905932737*hamil[108]*f[118]+0.3535533905932737*f[109]*hamil[117]+0.3535533905932737*hamil[109]*f[117]+0.3535533905932737*f[110]*hamil[116]+0.3535533905932737*hamil[110]*f[116]+0.3535533905932737*f[105]*hamil[115]+0.3535533905932737*hamil[105]*f[115]+0.3535533905932737*f[106]*hamil[114]+0.3535533905932737*hamil[106]*f[114]+0.3535533905932737*f[107]*hamil[113]+0.3535533905932737*hamil[107]*f[113]+0.3535533905932737*f[96]*hamil[112]+0.3535533905932737*hamil[96]*f[112]+0.3535533905932737*f[97]*hamil[104]+0.3535533905932737*hamil[97]*f[104]+0.3535533905932737*f[98]*hamil[103]+0.3535533905932737*hamil[98]*f[103]+0.3535533905932737*f[99]*hamil[102]+0.3535533905932737*hamil[99]*f[102]+0.3535533905932737*f[79]*hamil[95]+0.3535533905932737*hamil[79]*f[95]+0.3535533905932737*f[87]*hamil[94]+0.3535533905932737*hamil[87]*f[94]+0.3535533905932737*f[88]*hamil[93]+0.3535533905932737*hamil[88]*f[93]+0.3535533905932737*f[89]*hamil[92]+0.3535533905932737*hamil[89]*f[92]+0.3535533905932737*f[69]*hamil[91]+0.3535533905932737*hamil[69]*f[91]+0.3535533905932737*f[68]*hamil[90]+0.3535533905932737*hamil[68]*f[90]+0.3535533905932737*f[76]*hamil[86]+0.3535533905932737*hamil[76]*f[86]+0.3535533905932737*f[77]*hamil[85]+0.3535533905932737*hamil[77]*f[85]+0.3535533905932737*f[78]*hamil[84]+0.3535533905932737*hamil[78]*f[84]+0.3535533905932737*f[73]*hamil[83]+0.3535533905932737*hamil[73]*f[83]+0.3535533905932737*f[74]*hamil[82]+0.3535533905932737*hamil[74]*f[82]+0.3535533905932737*f[75]*hamil[81]+0.3535533905932737*hamil[75]*f[81]+0.3535533905932737*f[64]*hamil[80]+0.3535533905932737*hamil[64]*f[80]+0.3535533905932737*f[65]*hamil[72]+0.3535533905932737*hamil[65]*f[72]+0.3535533905932737*f[66]*hamil[71]+0.3535533905932737*hamil[66]*f[71]+0.3535533905932737*f[67]*hamil[70]+0.3535533905932737*hamil[67]*f[70]+0.3535533905932737*f[41]*hamil[63]+0.3535533905932737*hamil[41]*f[63]+0.3535533905932737*f[54]*hamil[62]+0.3535533905932737*hamil[54]*f[62]+0.3535533905932737*f[55]*hamil[61]+0.3535533905932737*hamil[55]*f[61]+0.3535533905932737*f[56]*hamil[60]+0.3535533905932737*hamil[56]*f[60]+0.3535533905932737*f[21]*hamil[59]+0.3535533905932737*hamil[21]*f[59]+0.3535533905932737*f[20]*hamil[58]+0.3535533905932737*hamil[20]*f[58]+0.3535533905932737*f[16]*hamil[57]+0.3535533905932737*hamil[16]*f[57]+0.3535533905932737*f[38]*hamil[53]+0.3535533905932737*hamil[38]*f[53]+0.3535533905932737*f[39]*hamil[52]+0.3535533905932737*hamil[39]*f[52]+0.3535533905932737*f[40]*hamil[51]+0.3535533905932737*hamil[40]*f[51]+0.3535533905932737*f[35]*hamil[50]+0.3535533905932737*hamil[35]*f[50]+0.3535533905932737*f[36]*hamil[49]+0.3535533905932737*hamil[36]*f[49]+0.3535533905932737*f[37]*hamil[48]+0.3535533905932737*hamil[37]*f[48]+0.3535533905932737*f[6]*hamil[47]+0.3535533905932737*hamil[6]*f[47]+0.3535533905932737*f[29]*hamil[46]+0.3535533905932737*hamil[29]*f[46]+0.3535533905932737*f[30]*hamil[45]+0.3535533905932737*hamil[30]*f[45]+0.3535533905932737*f[31]*hamil[44]+0.3535533905932737*hamil[31]*f[44]+0.3535533905932737*f[5]*hamil[43]+0.3535533905932737*hamil[5]*f[43]+0.3535533905932737*f[4]*hamil[42]+0.3535533905932737*hamil[4]*f[42]+0.3535533905932737*f[17]*hamil[34]+0.3535533905932737*hamil[17]*f[34]+0.3535533905932737*f[18]*hamil[33]+0.3535533905932737*hamil[18]*f[33]+0.3535533905932737*f[19]*hamil[32]+0.3535533905932737*hamil[19]*f[32]+0.3535533905932737*f[13]*hamil[28]+0.3535533905932737*hamil[13]*f[28]+0.3535533905932737*f[14]*hamil[27]+0.3535533905932737*hamil[14]*f[27]+0.3535533905932737*f[15]*hamil[26]+0.3535533905932737*hamil[15]*f[26]+0.3535533905932737*f[10]*hamil[25]+0.3535533905932737*hamil[10]*f[25]+0.3535533905932737*f[11]*hamil[24]+0.3535533905932737*hamil[11]*f[24]+0.3535533905932737*f[12]*hamil[23]+0.3535533905932737*hamil[12]*f[23]+0.3535533905932737*f[0]*hamil[22]+0.3535533905932737*hamil[0]*f[22]+0.3535533905932737*f[1]*hamil[9]+0.3535533905932737*hamil[1]*f[9]+0.3535533905932737*f[2]*hamil[8]+0.3535533905932737*hamil[2]*f[8]+0.3535533905932737*f[3]*hamil[7]+0.3535533905932737*hamil[3]*f[7])*volFact; +} +GKYL_CU_DH void canonical_pb_int_mom_3x3v_ser_p1(const double *dxv, const double *hamil, const double *f, double* GKYL_RESTRICT out) +{ + const double volFact = dxv[0]*dxv[1]*dxv[2]*dxv[3]*dxv[4]*dxv[5]*0.015625; + const double dv1 = dxv[3]; + const double dv2 = dxv[4]; + const double dv3 = dxv[5]; + out[0] += (f[159]*hamil[159]+f[158]*hamil[158]+f[157]*hamil[157]+f[156]*hamil[156]+f[155]*hamil[155]+f[154]*hamil[154]+f[153]*hamil[153]+f[152]*hamil[152]+f[151]*hamil[151]+f[150]*hamil[150]+f[149]*hamil[149]+f[148]*hamil[148]+f[147]*hamil[147]+f[146]*hamil[146]+f[145]*hamil[145]+f[144]*hamil[144]+f[143]*hamil[143]+f[142]*hamil[142]+f[141]*hamil[141]+f[140]*hamil[140]+f[139]*hamil[139]+f[138]*hamil[138]+f[137]*hamil[137]+f[136]*hamil[136]+f[135]*hamil[135]+f[134]*hamil[134]+f[133]*hamil[133]+f[132]*hamil[132]+f[131]*hamil[131]+f[130]*hamil[130]+f[129]*hamil[129]+f[128]*hamil[128]+f[127]*hamil[127]+f[126]*hamil[126]+f[125]*hamil[125]+f[124]*hamil[124]+f[123]*hamil[123]+f[122]*hamil[122]+f[121]*hamil[121]+f[120]*hamil[120]+f[119]*hamil[119]+f[118]*hamil[118]+f[117]*hamil[117]+f[116]*hamil[116]+f[115]*hamil[115]+f[114]*hamil[114]+f[113]*hamil[113]+f[112]*hamil[112]+f[111]*hamil[111]+f[110]*hamil[110]+f[109]*hamil[109]+f[108]*hamil[108]+f[107]*hamil[107]+f[106]*hamil[106]+f[105]*hamil[105]+f[104]*hamil[104]+f[103]*hamil[103]+f[102]*hamil[102]+f[101]*hamil[101]+f[100]*hamil[100]+f[99]*hamil[99]+f[98]*hamil[98]+f[97]*hamil[97]+f[96]*hamil[96]+f[95]*hamil[95]+f[94]*hamil[94]+f[93]*hamil[93]+f[92]*hamil[92]+f[91]*hamil[91]+f[90]*hamil[90]+f[89]*hamil[89]+f[88]*hamil[88]+f[87]*hamil[87]+f[86]*hamil[86]+f[85]*hamil[85]+f[84]*hamil[84]+f[83]*hamil[83]+f[82]*hamil[82]+f[81]*hamil[81]+f[80]*hamil[80]+f[79]*hamil[79]+f[78]*hamil[78]+f[77]*hamil[77]+f[76]*hamil[76]+f[75]*hamil[75]+f[74]*hamil[74]+f[73]*hamil[73]+f[72]*hamil[72]+f[71]*hamil[71]+f[70]*hamil[70]+f[69]*hamil[69]+f[68]*hamil[68]+f[67]*hamil[67]+f[66]*hamil[66]+f[65]*hamil[65]+f[64]*hamil[64]+f[63]*hamil[63]+f[62]*hamil[62]+f[61]*hamil[61]+f[60]*hamil[60]+f[59]*hamil[59]+f[58]*hamil[58]+f[57]*hamil[57]+f[56]*hamil[56]+f[55]*hamil[55]+f[54]*hamil[54]+f[53]*hamil[53]+f[52]*hamil[52]+f[51]*hamil[51]+f[50]*hamil[50]+f[49]*hamil[49]+f[48]*hamil[48]+f[47]*hamil[47]+f[46]*hamil[46]+f[45]*hamil[45]+f[44]*hamil[44]+f[43]*hamil[43]+f[42]*hamil[42]+f[41]*hamil[41]+f[40]*hamil[40]+f[39]*hamil[39]+f[38]*hamil[38]+f[37]*hamil[37]+f[36]*hamil[36]+f[35]*hamil[35]+f[34]*hamil[34]+f[33]*hamil[33]+f[32]*hamil[32]+f[31]*hamil[31]+f[30]*hamil[30]+f[29]*hamil[29]+f[28]*hamil[28]+f[27]*hamil[27]+f[26]*hamil[26]+f[25]*hamil[25]+f[24]*hamil[24]+f[23]*hamil[23]+f[22]*hamil[22]+f[21]*hamil[21]+f[20]*hamil[20]+f[19]*hamil[19]+f[18]*hamil[18]+f[17]*hamil[17]+f[16]*hamil[16]+f[15]*hamil[15]+f[14]*hamil[14]+f[13]*hamil[13]+f[12]*hamil[12]+f[11]*hamil[11]+f[10]*hamil[10]+f[9]*hamil[9]+f[8]*hamil[8]+f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; +} diff --git a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c index 3ab4479f0..656dff7d5 100644 --- a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c +++ b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c @@ -296,14 +296,14 @@ main(int argc, char **argv) .correct_all_moms = true, }, - // .collisions = { - // .collision_id = GKYL_BGK_COLLISIONS, - - // .ctx = &ctx, - // .self_nu = evalNu, - // .has_implicit_coll_scheme = true, - // .correct_all_moms = true, - // }, + .collisions = { + .collision_id = GKYL_BGK_COLLISIONS, + + .ctx = &ctx, + .self_nu = evalNu, + .has_implicit_coll_scheme = true, + .correct_all_moms = true, + }, .num_diag_moments = 3, .diag_moments = { "M0", "M1i", "LTEMoments" }, diff --git a/regression/rt_can_pb_neut_bgk_sodshock_1x1v_p2.c b/regression/rt_can_pb_neut_bgk_sodshock_1x1v_p2.c index 1f7c67bec..5f630944c 100644 --- a/regression/rt_can_pb_neut_bgk_sodshock_1x1v_p2.c +++ b/regression/rt_can_pb_neut_bgk_sodshock_1x1v_p2.c @@ -78,7 +78,7 @@ create_ctx(void) double t_end = 0.1; // Final simulation time. int num_frames = 1; // Number of output frames. 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. + int num_failures_max = 20; // Maximum allowable number of consecutive small time-steps. struct sodshock_ctx ctx = { .mass = mass, diff --git a/unit/ctest_canonical_pb_equilibrium.c b/unit/ctest_canonical_pb_equilibrium.c index 92c2cdca5..d58e57774 100644 --- a/unit/ctest_canonical_pb_equilibrium.c +++ b/unit/ctest_canonical_pb_equilibrium.c @@ -175,6 +175,7 @@ test_2x2v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .h_ij_inv = h_ij_inv, .det_h = det_h, .model_id = GKYL_MODEL_CANONICAL_PB, @@ -194,6 +195,7 @@ test_2x2v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .h_ij_inv = h_ij_inv, .det_h = det_h, .model_id = GKYL_MODEL_CANONICAL_PB, @@ -217,6 +219,7 @@ test_2x2v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .h_ij_inv = h_ij_inv, .det_h = det_h, .model_id = GKYL_MODEL_CANONICAL_PB, diff --git a/unit/ctest_correct_maxwellian.c b/unit/ctest_correct_maxwellian.c index ed98b0c3e..f8ddbd82f 100644 --- a/unit/ctest_correct_maxwellian.c +++ b/unit/ctest_correct_maxwellian.c @@ -157,6 +157,7 @@ test_1x1v(int poly_order, bool use_gpu) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .model_id = GKYL_MODEL_DEFAULT, .mass = 1.0, .use_gpu = false, @@ -174,6 +175,7 @@ test_1x1v(int poly_order, bool use_gpu) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .model_id = GKYL_MODEL_DEFAULT, .mass = 1.0, .use_gpu = false, @@ -190,6 +192,7 @@ test_1x1v(int poly_order, bool use_gpu) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .model_id = GKYL_MODEL_DEFAULT, .use_gpu = false, .max_iter = 100, diff --git a/unit/ctest_correct_mj_integrated.c b/unit/ctest_correct_mj_integrated.c index 02bb1ea1b..583b1f757 100644 --- a/unit/ctest_correct_mj_integrated.c +++ b/unit/ctest_correct_mj_integrated.c @@ -180,6 +180,7 @@ test_1x1v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -199,6 +200,7 @@ test_1x1v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -226,6 +228,7 @@ test_1x1v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -366,6 +369,7 @@ test_1x1v_spatially_varied(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -385,6 +389,7 @@ test_1x1v_spatially_varied(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -412,6 +417,7 @@ test_1x1v_spatially_varied(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -574,6 +580,7 @@ test_1x2v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -593,6 +600,7 @@ test_1x2v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -615,6 +623,7 @@ test_1x2v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -762,6 +771,7 @@ test_1x3v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -781,6 +791,7 @@ test_1x3v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -803,6 +814,7 @@ test_1x3v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, diff --git a/unit/ctest_proj_mj_on_basis.c b/unit/ctest_proj_mj_on_basis.c index 273e422b4..114419808 100644 --- a/unit/ctest_proj_mj_on_basis.c +++ b/unit/ctest_proj_mj_on_basis.c @@ -177,6 +177,7 @@ test_1x1v_no_drift(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -307,6 +308,7 @@ test_1x1v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -325,6 +327,7 @@ test_1x1v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -458,6 +461,7 @@ test_1x2v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, @@ -590,6 +594,7 @@ test_1x3v(int poly_order) .conf_range = &confLocal, .conf_range_ext = &confLocal_ext, .vel_range = &velLocal, + .phase_range = &local, .gamma = gamma, .gamma_inv = gamma_inv, .model_id = GKYL_MODEL_SR, diff --git a/zero/dg_updater_moment.c b/zero/dg_updater_moment.c index 64ec2d9be..d88d71e68 100644 --- a/zero/dg_updater_moment.c +++ b/zero/dg_updater_moment.c @@ -1,9 +1,11 @@ #include #include +#include #include #include #include +#include #include #include #include @@ -28,6 +30,7 @@ struct gkyl_dg_updater_moment* gkyl_dg_updater_moment_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 *vel_range, + const struct gkyl_range *phase_range, enum gkyl_model_id model_id, void *aux_inp, const char *mom, bool is_integrated, bool use_gpu) { @@ -44,8 +47,12 @@ gkyl_dg_updater_moment_new(const struct gkyl_rect_grid *grid, struct gkyl_mom_vlasov_sr_auxfields *sr_inp = aux_inp; gkyl_mom_vlasov_sr_set_auxfields(up->type, *sr_inp); - } - else { + + } else if (up->model_id == GKYL_MODEL_CANONICAL_PB && strcmp(mom, "MEnergy") == 0) { + printf("Using the energy moment (dg_updater_moment line 49)\n"); + up->type = gkyl_mom_canonical_pb_new(cbasis, pbasis, phase_range, mom, use_gpu); + + } else { if (is_integrated) { up->type = gkyl_int_mom_vlasov_new(cbasis, pbasis, use_gpu); } diff --git a/zero/gkyl_dg_updater_moment.h b/zero/gkyl_dg_updater_moment.h index cf493fea3..4c9741c39 100644 --- a/zero/gkyl_dg_updater_moment.h +++ b/zero/gkyl_dg_updater_moment.h @@ -21,6 +21,7 @@ typedef struct gkyl_dg_updater_moment_tm gkyl_dg_updater_moment_tm; * @param pbasis Phase-space basis function * @param conf_range Config space range * @param vel_range Velocity space range + * @param phase_range phase space range * @param model_id Enum identifier for model type (e.g., SR, see gkyl_eqn_type.h) * @param aux_inp Void pointer to auxiliary fields. Void to be flexible to different auxfields structs * @param mom Name of moment @@ -34,6 +35,7 @@ struct gkyl_dg_updater_moment* gkyl_dg_updater_moment_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 *vel_range, + const struct gkyl_range *phase_range, enum gkyl_model_id model_id, void *aux_inp, const char *mom, bool is_integrated, bool use_gpu); diff --git a/zero/gkyl_mom_canonical_pb.h b/zero/gkyl_mom_canonical_pb.h new file mode 100644 index 000000000..ded92f8da --- /dev/null +++ b/zero/gkyl_mom_canonical_pb.h @@ -0,0 +1,77 @@ +#pragma once + +#include +#include +#include + +// Struct containing the pointers to auxiliary fields. +struct gkyl_mom_canonical_pb_auxfields { + const struct gkyl_array *hamil; // hamiltonian function +}; + +/** + * Create new canonical-pb moment type object. + * Valid 'mom' strings are "MEnergy" which is the integral(hamil*f) + * + * @param cbasis Configuration-space basis-functions + * @param pbasis Phase-space basis-functions + * @param phase_range Phase space range + * @param mom Name of moment to compute. + * @param use_gpu bool to determine if on GPU + */ +struct gkyl_mom_type* gkyl_mom_canonical_pb_new(const struct gkyl_basis* cbasis, + const struct gkyl_basis* pbasis, + const struct gkyl_range* phase_range, + const char *mom, bool use_gpu); + +/** + * Create new canonical-pb moment type object on NV-GPU: + * see new() method above for documentation. + */ +struct gkyl_mom_type* gkyl_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, + const struct gkyl_basis* pbasis, + const struct gkyl_range* phase_range, + const char *mom); + +/** + * Create new canonical-pb integrated moment type + * object. Integrates (MEnergy). + * + * @param cbasis Configuration-space basis-functions + * @param pbasis Phase-space basis-functions + * @param vel_range Velocity space range + * @param use_gpu bool to determine if on GPU + */ +struct gkyl_mom_type* gkyl_int_mom_canonical_pb_new(const struct gkyl_basis* cbasis, + const struct gkyl_basis* pbasis, + const struct gkyl_range* phase_range, + bool use_gpu); + +/** + * Create new canonical-pb integrated moment type + * object on NV-GPU: see new() method above for documentation. + */ +struct gkyl_mom_type* gkyl_int_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, + const struct gkyl_basis* pbasis, + const struct gkyl_range* phase_range); + +/** + * Set the auxiliary fields needed in computing moments. + * + * @param momt moment type. + * @param auxfields Pointer to struct of aux fields. + */ +void gkyl_mom_canonical_pb_set_auxfields(const struct gkyl_mom_type *momt, + struct gkyl_mom_canonical_pb_auxfields auxin); + +#ifdef GKYL_HAVE_CUDA +/** + * CUDA device function to set auxiliary fields needed in computing moments. + * + * @param momt moment type. + * @param auxfields Pointer to struct of aux fields. + */ +void gkyl_mom_canonical_pb_set_auxfields_cu(const struct gkyl_mom_type *momt, + struct gkyl_mom_canonical_pb_auxfields auxin); + +#endif diff --git a/zero/gkyl_mom_canonical_pb_priv.h b/zero/gkyl_mom_canonical_pb_priv.h new file mode 100644 index 000000000..0ac223143 --- /dev/null +++ b/zero/gkyl_mom_canonical_pb_priv.h @@ -0,0 +1,184 @@ +#pragma once + +// Private header, not for direct use in user code + +#include +#include +#include +#include +#include +#include + +struct mom_type_canonical_pb { + struct gkyl_mom_type momt; + double mass; // mass of species + struct gkyl_range phase_range; // phase space range + struct gkyl_mom_canonical_pb_auxfields auxfields; // Auxiliary fields. +}; + +// The cv_index[cd].vdim[cd] is used to index the various list of +// kernels below +static struct { int vdim[4]; } cv_index[] = { + {-1, -1, -1, -1}, // 0x makes no sense + {-1, 0, -1, -1}, // 1x kernel indices + {-1, -1, 1, -1}, // 2x kernel indices + {-1, -1, -1, 2}, // 3x kernel indices +}; + +// for use in kernel tables +typedef struct { + momf_t kernels[3]; +} gkyl_canonical_pb_mom_kern_list; + +GKYL_CU_DH +static void +kernel_canonical_pb_MEnergy_1x1v_ser_p1(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_MEnergy_1x1v_ser_p1(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +GKYL_CU_DH +static void +kernel_canonical_pb_MEnergy_1x1v_ser_p2(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_MEnergy_1x1v_ser_p2(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +GKYL_CU_DH +static void +kernel_canonical_pb_MEnergy_2x2v_ser_p1(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_MEnergy_2x2v_ser_p1(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +GKYL_CU_DH +static void +kernel_canonical_pb_MEnergy_2x2v_ser_p2(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_MEnergy_2x2v_ser_p2(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +GKYL_CU_DH +static void +kernel_canonical_pb_MEnergy_3x3v_ser_p1(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_MEnergy_3x3v_ser_p1(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +GKYL_CU_DH +static void +kernel_canonical_pb_int_mom_1x1v_ser_p1(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_int_mom_1x1v_ser_p1(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +GKYL_CU_DH +static void +kernel_canonical_pb_int_mom_1x1v_ser_p2(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_int_mom_1x1v_ser_p2(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +GKYL_CU_DH +static void +kernel_canonical_pb_int_mom_2x2v_ser_p1(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_int_mom_2x2v_ser_p1(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +GKYL_CU_DH +static void +kernel_canonical_pb_int_mom_2x2v_ser_p2(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_int_mom_2x2v_ser_p2(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +GKYL_CU_DH +static void +kernel_canonical_pb_int_mom_3x3v_ser_p1(const struct gkyl_mom_type *momt, const double *xc, const double *dx, + const int *idx, const double *f, double* out, void *param) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + long pidx = gkyl_range_idx(&mom_can_pb->phase_range, idx); + + return canonical_pb_int_mom_3x3v_ser_p1(dx, + (const double*) gkyl_array_cfetch(mom_can_pb->auxfields.hamil, pidx), f, out); +} + +// +// Serendipity basis kernels +// + +// MEnergy kernel list +GKYL_CU_D +static const gkyl_canonical_pb_mom_kern_list ser_menergy_kernels[] = { + // 1x kernels + { NULL, kernel_canonical_pb_MEnergy_1x1v_ser_p1, kernel_canonical_pb_MEnergy_1x1v_ser_p2 }, // 0 + // 2x kernels + { NULL, kernel_canonical_pb_MEnergy_2x2v_ser_p1, kernel_canonical_pb_MEnergy_2x2v_ser_p2 }, // 1 + // 3x kernels + { NULL, kernel_canonical_pb_MEnergy_3x3v_ser_p1, NULL }, // 2 +}; + +// Integrated moment kernel list +GKYL_CU_D +static const gkyl_canonical_pb_mom_kern_list ser_int_mom_kernels[] = { + // 1x kernels + { NULL, kernel_canonical_pb_int_mom_1x1v_ser_p1, kernel_canonical_pb_int_mom_1x1v_ser_p2 }, // 0 + // 2x kernels + { NULL, kernel_canonical_pb_int_mom_2x2v_ser_p1, kernel_canonical_pb_int_mom_2x2v_ser_p2 }, // 1 + // 3x kernels + { NULL, kernel_canonical_pb_int_mom_3x3v_ser_p1, NULL }, // 2 +}; + +/** + * Free moment object. + * + * @param ref Reference counter for moment to free + */ +void gkyl_mom_can_pb_free(const struct gkyl_ref_count *ref); diff --git a/zero/gkyl_vlasov_lte_correct.h b/zero/gkyl_vlasov_lte_correct.h index 1d5a8fd8d..b6194c176 100644 --- a/zero/gkyl_vlasov_lte_correct.h +++ b/zero/gkyl_vlasov_lte_correct.h @@ -20,6 +20,7 @@ struct gkyl_vlasov_lte_correct_inp { const struct gkyl_range *conf_range; // Configuration-space range const struct gkyl_range *conf_range_ext; // Extended configuration-space range (for internal memory allocations) const struct gkyl_range *vel_range; // velocity space range + const struct gkyl_range *phase_range; // phase space range const struct gkyl_array *gamma; // SR quantitiy: gamma = sqrt(1 + p^2) const struct gkyl_array *gamma_inv; // SR quantitiy: 1/gamma = 1/sqrt(1 + p^2) const struct gkyl_array *h_ij_inv; // inverse metric tensor diff --git a/zero/gkyl_vlasov_lte_moments.h b/zero/gkyl_vlasov_lte_moments.h index 8b133a35e..89ab711b7 100644 --- a/zero/gkyl_vlasov_lte_moments.h +++ b/zero/gkyl_vlasov_lte_moments.h @@ -18,6 +18,7 @@ struct gkyl_vlasov_lte_moments_inp { const struct gkyl_range *conf_range; // Configuration-space range const struct gkyl_range *conf_range_ext; // Extended configuration-space range (for internal memory allocations) const struct gkyl_range *vel_range; // Velocity-space range + const struct gkyl_range *phase_range; // Phase-space range const struct gkyl_array *gamma; // SR quantitiy: gamma = sqrt(1 + p^2) const struct gkyl_array *gamma_inv; // SR quantitiy: 1/gamma = 1/sqrt(1 + p^2) const struct gkyl_array *h_ij_inv; // Can-pb quantity: Inverse metric tensor diff --git a/zero/gkyl_vlasov_lte_proj_on_basis.h b/zero/gkyl_vlasov_lte_proj_on_basis.h index 1cc01f9c1..b8abe996e 100644 --- a/zero/gkyl_vlasov_lte_proj_on_basis.h +++ b/zero/gkyl_vlasov_lte_proj_on_basis.h @@ -19,6 +19,7 @@ struct gkyl_vlasov_lte_proj_on_basis_inp { const struct gkyl_range *conf_range; // Configuration-space range const struct gkyl_range *conf_range_ext; // Extended configuration-space range (for internal memory allocations) const struct gkyl_range *vel_range; // velocity space range + const struct gkyl_range *phase_range; // phase space range const struct gkyl_array *gamma; // SR quantitiy: gamma = sqrt(1 + p^2) const struct gkyl_array *gamma_inv; // SR quantitiy: 1/gamma = 1/sqrt(1 + p^2) const struct gkyl_array *h_ij_inv; // inverse of the metric tensor diff --git a/zero/mom_canonical_pb.c b/zero/mom_canonical_pb.c new file mode 100644 index 000000000..059b232d5 --- /dev/null +++ b/zero/mom_canonical_pb.c @@ -0,0 +1,165 @@ +#include +#include +#include + +#include +#include +#include +#include +#include + +void +gkyl_mom_can_pb_free(const struct gkyl_ref_count *ref) +{ + struct gkyl_mom_type *momt = container_of(ref, struct gkyl_mom_type, ref_count); + if (GKYL_IS_CU_ALLOC(momt->flags)) + gkyl_cu_free(momt->on_dev); + gkyl_free(momt); +} + +void +gkyl_mom_canonical_pb_set_auxfields(const struct gkyl_mom_type *momt, struct gkyl_mom_canonical_pb_auxfields auxin) +{ +#ifdef GKYL_HAVE_CUDA + if (gkyl_mom_type_is_cu_dev(momt)) { + gkyl_mom_canonical_pb_set_auxfields_cu(momt->on_dev, auxin); + return; + } +#endif + + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + mom_can_pb->auxfields.hamil = auxin.hamil; +} + +struct gkyl_mom_type* +gkyl_mom_canonical_pb_new(const struct gkyl_basis* cbasis, const struct gkyl_basis* pbasis, + const struct gkyl_range* phase_range, const char *mom, bool use_gpu) +{ + assert(cbasis->poly_order == pbasis->poly_order); + +#ifdef GKYL_HAVE_CUDA + if(use_gpu) { + return gkyl_mom_canonical_pb_cu_dev_new(cbasis, pbasis, phase_range, mom); + } +#endif + struct mom_type_canonical_pb *mom_can_pb = gkyl_malloc(sizeof(struct mom_type_canonical_pb)); + int cdim = cbasis->ndim, pdim = pbasis->ndim, vdim = pdim-cdim; + int poly_order = cbasis->poly_order; + + mom_can_pb->momt.cdim = cdim; + mom_can_pb->momt.pdim = pdim; + mom_can_pb->momt.poly_order = poly_order; + mom_can_pb->momt.num_config = cbasis->num_basis; + mom_can_pb->momt.num_phase = pbasis->num_basis; + + // choose kernel tables based on basis-function type + const gkyl_canonical_pb_mom_kern_list *menergy_kernels; + + switch (cbasis->b_type) { + case GKYL_BASIS_MODAL_SERENDIPITY: + menergy_kernels = ser_menergy_kernels; + break; + + default: + assert(false); + break; + } + + if (strcmp(mom, "MEnergy") == 0) { // Energy int( f*H ) + assert(cdim != vdim); // Can-pb needs equal vdim and cdim + assert(cv_index[cdim].vdim[vdim] != -1); + assert(NULL != menergy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]); + + mom_can_pb->momt.kernel = menergy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + mom_can_pb->momt.num_mom = 1; + } + else { + // string not recognized + gkyl_exit("gkyl_mom_type_canonical_pb: Unrecognized moment requested!"); + } + + mom_can_pb->phase_range = *phase_range; + + mom_can_pb->auxfields.hamil = 0; + + mom_can_pb->momt.flags = 0; + GKYL_CLEAR_CU_ALLOC(mom_can_pb->momt.flags); + mom_can_pb->momt.ref_count = gkyl_ref_count_init(gkyl_mom_can_pb_free); + + mom_can_pb->momt.on_dev = &mom_can_pb->momt; // on host, self-reference + + return &mom_can_pb->momt; +} + +struct gkyl_mom_type* +gkyl_int_mom_canonical_pb_new(const struct gkyl_basis* cbasis, const struct gkyl_basis* pbasis, + const struct gkyl_range* phase_range, bool use_gpu) +{ + assert(cbasis->poly_order == pbasis->poly_order); + +#ifdef GKYL_HAVE_CUDA + if(use_gpu) { + return gkyl_int_mom_canonical_pb_cu_dev_new(cbasis, pbasis, phase_range); + } +#endif + struct mom_type_canonical_pb *mom_can_pb = gkyl_malloc(sizeof(struct mom_type_canonical_pb)); + int cdim = cbasis->ndim, pdim = pbasis->ndim, vdim = pdim-cdim; + int poly_order = cbasis->poly_order; + + mom_can_pb->momt.cdim = cdim; + mom_can_pb->momt.pdim = pdim; + mom_can_pb->momt.poly_order = poly_order; + mom_can_pb->momt.num_config = cbasis->num_basis; + mom_can_pb->momt.num_phase = pbasis->num_basis; + + // choose kernel tables based on basis-function type + const gkyl_canonical_pb_mom_kern_list *int_mom_kernels; + + // set kernel pointer + switch (cbasis->b_type) { + case GKYL_BASIS_MODAL_SERENDIPITY: + int_mom_kernels = ser_int_mom_kernels; + break; + + default: + assert(false); + break; + } + + assert(cv_index[cdim].vdim[vdim] != -1); + assert(NULL != int_mom_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]); + mom_can_pb->momt.kernel = int_mom_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + mom_can_pb->momt.num_mom = 1; + + mom_can_pb->phase_range = *phase_range; + + mom_can_pb->auxfields.hamil = 0; + + mom_can_pb->momt.flags = 0; + GKYL_CLEAR_CU_ALLOC(mom_can_pb->momt.flags); + mom_can_pb->momt.ref_count = gkyl_ref_count_init(gkyl_mom_can_pb_free); + + mom_can_pb->momt.on_dev = &mom_can_pb->momt; // on host, self-reference + + return &mom_can_pb->momt; +} + +#ifndef GKYL_HAVE_CUDA + +struct gkyl_mom_type* +gkyl_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, const struct gkyl_basis* pbasis, + const struct gkyl_range* phase_range, const char *mom) +{ + assert(false); + return 0; +} + +struct gkyl_mom_type * +gkyl_int_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, const struct gkyl_basis* pbasis, + const struct gkyl_range* phase_range) +{ + assert(false); + return 0; +} + +#endif diff --git a/zero/mom_canonical_pb_cu.cu b/zero/mom_canonical_pb_cu.cu new file mode 100644 index 000000000..47eb92ce8 --- /dev/null +++ b/zero/mom_canonical_pb_cu.cu @@ -0,0 +1,207 @@ +/* -*- c++ -*- */ + +#include +#include +#include + +extern "C" { +#include +#include +#include +#include +#include +} + +enum { MEnergy, BAD }; + +static int +get_mom_id(const char *mom) +{ + int mom_idx = BAD; + + if (strcmp(mom, "MEnergy") == 0) { // total energy = integral(hamil*f) velocity moment + mom_idx = MEnergy; + } + else { + mom_idx = BAD; + } + + return mom_idx; +} + +static int +v_num_mom(int vdim, int mom_id) +{ + int num_mom = 0; + + switch (mom_id) { + case MEnergy: + num_mom = 1; + break; + + default: // can't happen + break; + } + + return num_mom; +} + +// CUDA kernel to set pointer to auxiliary fields. +// This is required because eqn object lives on device, +// and so its members cannot be modified without a full __global__ kernel on device. +__global__ static void +gkyl_mom_canonical_pb_set_auxfields_cu_kernel(const struct gkyl_mom_type *momt, + const struct gkyl_array *hamil) +{ + struct mom_type_canonical_pb *mom_can_pb = container_of(momt, struct mom_type_canonical_pb, momt); + mom_can_pb->auxfields.hamil = hamil; +} + +// Host-side wrapper for set_auxfields_cu_kernel +void +gkyl_mom_canonical_pb_set_auxfields_cu(const struct gkyl_mom_type *momt, struct gkyl_mom_canonical_pb_auxfields auxin) +{ + gkyl_mom_canonical_pb_set_auxfields_cu_kernel<<<1,1>>>(momt, auxin.hamil->on_dev); +} + + +__global__ +static void +set_cu_ptrs(struct mom_type_canonical_pb* mom_can_pb, int mom_id, enum gkyl_basis_type b_type, int vdim, + int poly_order, int tblidx) +{ + mom_can_pb->auxfields.hamil = 0; + + // choose kernel tables based on basis-function type + const gkyl_canonical_pb_mom_kern_list *menergy_kernels; + + switch (b_type) { + case GKYL_BASIS_MODAL_SERENDIPITY: + menergy_kernels = ser_menergy_kernels; + break; + + default: + assert(false); + break; + } + + switch (mom_id) { + case MEnergy: + mom_can_pb->momt.kernel = menergy_kernels[tblidx].kernels[poly_order]; + mom_can_pb->momt.num_mom = 1; + break; + + default: // can't happen + break; + } +} + +struct gkyl_mom_type* +gkyl_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, const struct gkyl_basis* pbasis, + const struct gkyl_range* conf_range, const struct gkyl_range* vel_range, + const char *mom) +{ + assert(cbasis->poly_order == pbasis->poly_order); + + struct mom_type_canonical_pb *mom_can_pb = (struct mom_type_canonical_pb*) + gkyl_malloc(sizeof(struct mom_type_canonical_pb)); + + int cdim = cbasis->ndim, pdim = pbasis->ndim, vdim = pdim-cdim; + int poly_order = cbasis->poly_order; + + mom_can_pb->momt.cdim = cdim; + mom_can_pb->momt.pdim = pdim; + mom_can_pb->momt.poly_order = poly_order; + mom_can_pb->momt.num_config = cbasis->num_basis; + mom_can_pb->momt.num_phase = pbasis->num_basis; + + mom_can_pb->conf_range = *conf_range; + mom_can_pb->vel_range = *vel_range; + + int mom_id = get_mom_id(mom); + assert(mom_id != BAD); + mom_can_pb->momt.num_mom = v_num_mom(vdim, mom_id); // number of moments + + mom_can_pb->momt.flags = 0; + GKYL_SET_CU_ALLOC(mom_can_pb->momt.flags); + mom_can_pb->momt.ref_count = gkyl_ref_count_init(gkyl_mom_can_pb_free); + + // copy struct to device + struct mom_type_canonical_pb *momt_cu = (struct mom_type_canonical_pb*) + gkyl_cu_malloc(sizeof(struct mom_type_canonical_pb)); + gkyl_cu_memcpy(momt_cu, mom_can_pb, sizeof(struct mom_type_canonical_pb), GKYL_CU_MEMCPY_H2D); + + assert(cv_index[cdim].vdim[vdim] != -1); + + set_cu_ptrs<<<1,1>>>(momt_cu, mom_id, cbasis->b_type, + vdim, poly_order, cv_index[cdim].vdim[vdim]); + + mom_can_pb->momt.on_dev = &momt_cu->momt; + + return &mom_can_pb->momt; +} + +__global__ +static void +set_int_cu_ptrs(struct mom_type_canonical_pb* mom_can_pb, enum gkyl_basis_type b_type, int vdim, + int poly_order, int tblidx) +{ + mom_can_pb->auxfields.hamil = 0; + + // choose kernel tables based on basis-function type + const gkyl_canonical_pb_mom_kern_list *int_mom_kernels; + + // set kernel pointer + switch (b_type) { + case GKYL_BASIS_MODAL_SERENDIPITY: + int_mom_kernels = ser_int_mom_kernels; + break; + + default: + assert(false); + break; + } + + mom_can_pb->momt.kernel = int_mom_kernels[tblidx].kernels[poly_order]; + mom_can_pb->momt.num_mom = 2+vdim; +} + +struct gkyl_mom_type * +gkyl_int_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, const struct gkyl_basis* pbasis, + const struct gkyl_range* conf_range, const struct gkyl_range* vel_range) +{ + assert(cbasis->poly_order == pbasis->poly_order); + + struct mom_type_canonical_pb *mom_can_pb = (struct mom_type_canonical_pb*) + gkyl_malloc(sizeof(struct mom_type_canonical_pb)); + + int cdim = cbasis->ndim, pdim = pbasis->ndim, vdim = pdim-cdim; + int poly_order = cbasis->poly_order; + + mom_can_pb->momt.cdim = cdim; + mom_can_pb->momt.pdim = pdim; + mom_can_pb->momt.poly_order = poly_order; + mom_can_pb->momt.num_config = cbasis->num_basis; + mom_can_pb->momt.num_phase = pbasis->num_basis; + + mom_can_pb->momt.num_mom = vdim+2; + + mom_can_pb->conf_range = *conf_range; + mom_can_pb->vel_range = *vel_range; + + mom_can_pb->momt.flags = 0; + GKYL_SET_CU_ALLOC(mom_can_pb->momt.flags); + mom_can_pb->momt.ref_count = gkyl_ref_count_init(gkyl_mom_can_pb_free); + + // copy struct to device + struct mom_type_canonical_pb *momt_cu = (struct mom_type_canonical_pb*) + gkyl_cu_malloc(sizeof(struct mom_type_canonical_pb)); + gkyl_cu_memcpy(momt_cu, mom_can_pb, sizeof(struct mom_type_canonical_pb), GKYL_CU_MEMCPY_H2D); + + set_int_cu_ptrs<<<1,1>>>(momt_cu, cbasis->b_type, + vdim, poly_order, cv_index[cdim].vdim[vdim]); + + mom_can_pb->momt.on_dev = &momt_cu->momt; + + return &mom_can_pb->momt; +} diff --git a/zero/vlasov_lte_correct.c b/zero/vlasov_lte_correct.c index a3b8e50d6..f170d3123 100644 --- a/zero/vlasov_lte_correct.c +++ b/zero/vlasov_lte_correct.c @@ -61,6 +61,7 @@ gkyl_vlasov_lte_correct_inew(const struct gkyl_vlasov_lte_correct_inp *inp) .conf_range = inp->conf_range, .conf_range_ext = inp->conf_range_ext, .vel_range = inp->vel_range, + .phase_range = inp->phase_range, .gamma = inp->gamma, .gamma_inv = inp->gamma_inv, .h_ij_inv = inp->h_ij_inv, @@ -82,6 +83,7 @@ gkyl_vlasov_lte_correct_inew(const struct gkyl_vlasov_lte_correct_inp *inp) .conf_range = inp->conf_range, .conf_range_ext = inp->conf_range_ext, .vel_range = inp->vel_range, + .phase_range = inp->phase_range, .gamma = inp->gamma, .gamma_inv = inp->gamma_inv, .h_ij_inv = inp->h_ij_inv, diff --git a/zero/vlasov_lte_moments.c b/zero/vlasov_lte_moments.c index 2003f3cce..877ce770f 100644 --- a/zero/vlasov_lte_moments.c +++ b/zero/vlasov_lte_moments.c @@ -67,9 +67,9 @@ gkyl_vlasov_lte_moments_inew(const struct gkyl_vlasov_lte_moments_inp *inp) struct gkyl_mom_vlasov_sr_auxfields sr_inp = {.gamma = inp->gamma}; // Moment calculator for needed moments (M0, M1i) up->M0_calc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, - inp->phase_basis, inp->conf_range, inp->vel_range, up->model_id, &sr_inp, "M0", false, inp->use_gpu); + inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, &sr_inp, "M0", false, inp->use_gpu); up->M1i_calc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, - inp->phase_basis, inp->conf_range, inp->vel_range, up->model_id, &sr_inp, "M1i", false, inp->use_gpu); + inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, &sr_inp, "M1i", false, inp->use_gpu); } else if (up->model_id == GKYL_MODEL_CANONICAL_PB) { int num_pij_comps = up->vdim*(up->vdim+1)/2; @@ -87,21 +87,21 @@ gkyl_vlasov_lte_moments_inew(const struct gkyl_vlasov_lte_moments_inp *inp) // Temperature moment is modified by can-pb, requires computing g^{ij}w_iw_j kernel // Note: auxiliary field input is NULL (not used by non-relativistic simulations) up->M0_calc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, - inp->phase_basis, inp->conf_range, inp->vel_range, up->model_id, 0, "M0", false, inp->use_gpu); + inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, 0, "M0", false, inp->use_gpu); up->M1i_calc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, - inp->phase_basis, inp->conf_range, inp->vel_range, up->model_id, 0, "M1i", false, inp->use_gpu); + inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, 0, "M1i", false, inp->use_gpu); up->Pcalc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, - inp->phase_basis, inp->conf_range, inp->vel_range, up->model_id, 0, "M2ij", false, inp->use_gpu); + inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, 0, "M2ij", false, inp->use_gpu); } else { // Moment calculator for needed moments (M0, M1i, and M2 for non-relativistic) // Note: auxiliary field input is NULL (not used by non-relativistic simulations) up->M0_calc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, - inp->phase_basis, inp->conf_range, inp->vel_range, up->model_id, 0, "M0", false, inp->use_gpu); + inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, 0, "M0", false, inp->use_gpu); up->M1i_calc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, - inp->phase_basis, inp->conf_range, inp->vel_range, up->model_id, 0, "M1i", false, inp->use_gpu); + inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, 0, "M1i", false, inp->use_gpu); up->Pcalc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, - inp->phase_basis, inp->conf_range, inp->vel_range, up->model_id, 0, "M2", false, inp->use_gpu); + inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, 0, "M2", false, inp->use_gpu); } return up; } diff --git a/zero/vlasov_lte_proj_on_basis.c b/zero/vlasov_lte_proj_on_basis.c index 8990f77c8..700ba1d97 100644 --- a/zero/vlasov_lte_proj_on_basis.c +++ b/zero/vlasov_lte_proj_on_basis.c @@ -192,7 +192,7 @@ gkyl_vlasov_lte_proj_on_basis_inew(const struct gkyl_vlasov_lte_proj_on_basis_in up->use_gpu = inp->use_gpu; int num_quad = up->conf_basis.poly_order+1; - // initialize data needed for conf-space quadrature + // initialize data needed for conf-space quadrature up->tot_conf_quad = init_quad_values(up->cdim, &up->conf_basis, num_quad, &up->conf_ordinates, &up->conf_weights, &up->conf_basis_at_ords, false); @@ -322,6 +322,7 @@ gkyl_vlasov_lte_proj_on_basis_inew(const struct gkyl_vlasov_lte_proj_on_basis_in .conf_range = inp->conf_range, .conf_range_ext = inp->conf_range_ext, .vel_range = inp->vel_range, + .phase_range = inp->phase_range, .gamma = inp->gamma, .gamma_inv = inp->gamma_inv, .h_ij_inv = inp->h_ij_inv, From 61e0b0708cdbbf22b849a094a51c003809db2f8c Mon Sep 17 00:00:00 2001 From: johnson452 Date: Tue, 17 Sep 2024 02:36:31 -0400 Subject: [PATCH 03/16] Added missing phase_range input --- apps/vm_species_moment.c | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/vm_species_moment.c b/apps/vm_species_moment.c index 0f731ba14..b7ddbbd28 100644 --- a/apps/vm_species_moment.c +++ b/apps/vm_species_moment.c @@ -22,6 +22,7 @@ vm_species_moment_init(struct gkyl_vlasov_app *app, struct vm_species *s, .conf_range = &app->local, .conf_range_ext = &app->local_ext, .vel_range = &s->local_vel, + .phase_range = &s->local, .gamma = s->gamma, .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, From a2fd080cc12a4f57704fbb66f2ba03cad2614229 Mon Sep 17 00:00:00 2001 From: johnson452 Date: Tue, 17 Sep 2024 03:21:39 -0400 Subject: [PATCH 04/16] Included auxillary field input of the hamiltonian for the MEnergy calc --- apps/gkyl_vlasov_priv.h | 1 + apps/vm_species_moment.c | 9 ++++++++- .../rt_can_pb_bgk_surf_annulus_sodshock_im.c | 9 +++++---- zero/dg_updater_moment.c | 14 ++++++++++++-- zero/mom_canonical_pb.c | 2 +- 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/apps/gkyl_vlasov_priv.h b/apps/gkyl_vlasov_priv.h index 5f80f6283..f1d85efec 100644 --- a/apps/gkyl_vlasov_priv.h +++ b/apps/gkyl_vlasov_priv.h @@ -86,6 +86,7 @@ static const char *const valid_moment_names[] = { // of the LTE (local thermodynamic equilibrium) distribution // Note: in relativity V_drift is the bulk four-velocity (GammaV, GammaV*V_drift) "Integrated", // this is an internal flag, not for passing to moment type + "MEnergy", // this is for the canonical-pb species only** }; // check if name of moment is valid or not diff --git a/apps/vm_species_moment.c b/apps/vm_species_moment.c index b7ddbbd28..31ce99b14 100644 --- a/apps/vm_species_moment.c +++ b/apps/vm_species_moment.c @@ -1,4 +1,5 @@ #include +#include #include // initialize species moment object @@ -41,7 +42,13 @@ vm_species_moment_init(struct gkyl_vlasov_app *app, struct vm_species *s, &app->basis, &app->local, &s->local_vel, &s->local, s->model_id, &sr_inp, nm, is_integrated, app->use_gpu); num_mom = gkyl_dg_updater_moment_num_mom(sm->mcalc); - } + } else if (s->model_id == GKYL_MODEL_CANONICAL_PB && strcmp(nm, "MEnergy") == 0) { + struct gkyl_mom_canonical_pb_auxfields can_pb_inp = {.hamil = s->hamil}; + sm->mcalc = gkyl_dg_updater_moment_new(&s->grid, &app->confBasis, + &app->basis, &app->local, &s->local_vel, &s->local, s->model_id, &can_pb_inp, + nm, is_integrated, app->use_gpu); + num_mom = gkyl_dg_updater_moment_num_mom(sm->mcalc); + } else { // No auxiliary fields for moments if not SR sm->mcalc = gkyl_dg_updater_moment_new(&s->grid, &app->confBasis, diff --git a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c index 656dff7d5..08c4b898d 100644 --- a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c +++ b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c @@ -63,14 +63,14 @@ create_ctx(void) double tempr = sqrt(0.1 / 0.125); // Right/outer temperature. // Simulation parameters. - int Nr = 64; // Cell count (configuration space: x-direction). + int Nr = 32; // Cell count (configuration space: x-direction). int Ntheta = 1; // Cell count (configuration space: y-direction). int Nv = 12; // Cell count (velocity space: all directions). double Rmin = 0.5; // Domain size (configuration space: r-direction, min value). double Rmax = 1.5; // Domain size (configuration space: r-direction, max value). double theta_min = 0.0; // Domain size (configuration space: theta-direction, min value). double theta_max = 2*pi; // Domain size (configuration space: theta-direction, max value). - int poly_order = 2; // Polynomial order. + int poly_order = 1; // Polynomial order. double cfl_frac = 0.9; // CFL coefficient. double t_end = 0.1; // Final simulation time. @@ -249,6 +249,7 @@ write_data(struct gkyl_tm_trigger *iot, gkyl_vlasov_app *app, double tcurr) if (gkyl_tm_trigger_check_and_bump(iot, tcurr)) { gkyl_vlasov_app_write(app, tcurr, iot->curr-1); gkyl_vlasov_app_calc_mom(app); gkyl_vlasov_app_write_mom(app, tcurr, iot->curr-1); + gkyl_vlasov_app_write_integrated_mom(app); } } @@ -305,8 +306,8 @@ main(int argc, char **argv) .correct_all_moms = true, }, - .num_diag_moments = 3, - .diag_moments = { "M0", "M1i", "LTEMoments" }, + .num_diag_moments = 4, + .diag_moments = { "M0", "M1i", "LTEMoments", "MEnergy" }, }; // VM app diff --git a/zero/dg_updater_moment.c b/zero/dg_updater_moment.c index d88d71e68..a41a6a386 100644 --- a/zero/dg_updater_moment.c +++ b/zero/dg_updater_moment.c @@ -37,6 +37,8 @@ gkyl_dg_updater_moment_new(const struct gkyl_rect_grid *grid, gkyl_dg_updater_moment *up = gkyl_malloc(sizeof(gkyl_dg_updater_moment)); up->model_id = model_id; up->use_gpu = use_gpu; + printf("up->model_id == GKYL_MODEL_CANONICAL_PB: %d, strcmp(mom, MEnergy) == 0: %d\n",up->model_id == GKYL_MODEL_CANONICAL_PB, strcmp(mom, "MEnergy") == 0); + printf("Value of mom: '%s'\n", mom); if (up->model_id == GKYL_MODEL_SR) { if (is_integrated) { up->type = gkyl_int_mom_vlasov_sr_new(cbasis, pbasis, conf_range, vel_range, use_gpu); @@ -49,8 +51,16 @@ gkyl_dg_updater_moment_new(const struct gkyl_rect_grid *grid, gkyl_mom_vlasov_sr_set_auxfields(up->type, *sr_inp); } else if (up->model_id == GKYL_MODEL_CANONICAL_PB && strcmp(mom, "MEnergy") == 0) { - printf("Using the energy moment (dg_updater_moment line 49)\n"); - up->type = gkyl_mom_canonical_pb_new(cbasis, pbasis, phase_range, mom, use_gpu); + printf("Using the energy moment (dg_updater_moment line 54)\n"); + if (is_integrated) { + up->type = gkyl_int_mom_canonical_pb_new(cbasis, pbasis, phase_range, use_gpu); + } + else { + up->type = gkyl_mom_canonical_pb_new(cbasis, pbasis, phase_range, mom, use_gpu); + } + + struct gkyl_mom_canonical_pb_auxfields *can_pb_inp = aux_inp; + gkyl_mom_canonical_pb_set_auxfields(up->type, *can_pb_inp); } else { if (is_integrated) { diff --git a/zero/mom_canonical_pb.c b/zero/mom_canonical_pb.c index 059b232d5..d6c889cda 100644 --- a/zero/mom_canonical_pb.c +++ b/zero/mom_canonical_pb.c @@ -66,7 +66,7 @@ gkyl_mom_canonical_pb_new(const struct gkyl_basis* cbasis, const struct gkyl_bas } if (strcmp(mom, "MEnergy") == 0) { // Energy int( f*H ) - assert(cdim != vdim); // Can-pb needs equal vdim and cdim + assert(cdim == vdim); // Can-pb needs equal vdim and cdim assert(cv_index[cdim].vdim[vdim] != -1); assert(NULL != menergy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]); From ea6a66b289d2efef6ffea2362658bf10ad624ab9 Mon Sep 17 00:00:00 2001 From: johnson452 Date: Tue, 17 Sep 2024 13:42:02 -0400 Subject: [PATCH 05/16] Working can-pb energy moment (+ integrated quantitity). Note: can-pb integrated moment only outputs the integrated energy --- apps/vm_species.c | 14 ++++++++++++-- apps/vm_species_moment.c | 2 +- .../rt_can_pb_bgk_surf_annulus_sodshock_im.c | 3 ++- zero/dg_updater_moment.c | 5 +---- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/apps/vm_species.c b/apps/vm_species.c index 4eadfc1b4..592a3e1c2 100644 --- a/apps/vm_species.c +++ b/apps/vm_species.c @@ -224,12 +224,22 @@ vm_species_init(struct gkyl_vm *vm, struct gkyl_vlasov_app *app, struct vm_speci if (app->use_gpu) { s->red_L2_f = gkyl_cu_malloc(sizeof(double)); s->red_energy_f = gkyl_cu_malloc(sizeof(double)); - s->red_integ_diag = gkyl_cu_malloc(sizeof(double[vdim+2])); + if (s->model_id == GKYL_MODEL_CANONICAL_PB){ + s->red_integ_diag = gkyl_cu_malloc(sizeof(double[1])); + } + else { + s->red_integ_diag = gkyl_cu_malloc(sizeof(double[vdim+2])); + } } // allocate dynamic-vector to store all-reduced integrated moments and f^2 s->integ_L2_f = gkyl_dynvec_new(GKYL_DOUBLE, 1); s->integ_energy_f = gkyl_dynvec_new(GKYL_DOUBLE, 1); - s->integ_diag = gkyl_dynvec_new(GKYL_DOUBLE, vdim+2); + if (s->model_id == GKYL_MODEL_CANONICAL_PB){ + s->integ_diag = gkyl_dynvec_new(GKYL_DOUBLE, 1); + } + else { + s->integ_diag = gkyl_dynvec_new(GKYL_DOUBLE, vdim+2); + } s->is_first_integ_L2_write_call = true; s->is_first_integ_energy_write_call = true; s->is_first_integ_write_call = true; diff --git a/apps/vm_species_moment.c b/apps/vm_species_moment.c index 31ce99b14..3f5a6cdc8 100644 --- a/apps/vm_species_moment.c +++ b/apps/vm_species_moment.c @@ -42,7 +42,7 @@ vm_species_moment_init(struct gkyl_vlasov_app *app, struct vm_species *s, &app->basis, &app->local, &s->local_vel, &s->local, s->model_id, &sr_inp, nm, is_integrated, app->use_gpu); num_mom = gkyl_dg_updater_moment_num_mom(sm->mcalc); - } else if (s->model_id == GKYL_MODEL_CANONICAL_PB && strcmp(nm, "MEnergy") == 0) { + } else if (s->model_id == GKYL_MODEL_CANONICAL_PB && (strcmp(nm, "MEnergy") == 0 || strcmp(nm, "Integrated") == 0)) { struct gkyl_mom_canonical_pb_auxfields can_pb_inp = {.hamil = s->hamil}; sm->mcalc = gkyl_dg_updater_moment_new(&s->grid, &app->confBasis, &app->basis, &app->local, &s->local_vel, &s->local, s->model_id, &can_pb_inp, diff --git a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c index 08c4b898d..de9b36f18 100644 --- a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c +++ b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c @@ -70,7 +70,7 @@ create_ctx(void) double Rmax = 1.5; // Domain size (configuration space: r-direction, max value). double theta_min = 0.0; // Domain size (configuration space: theta-direction, min value). double theta_max = 2*pi; // Domain size (configuration space: theta-direction, max value). - int poly_order = 1; // Polynomial order. + int poly_order = 2; // Polynomial order. double cfl_frac = 0.9; // CFL coefficient. double t_end = 0.1; // Final simulation time. @@ -352,6 +352,7 @@ main(int argc, char **argv) struct gkyl_update_status status = gkyl_vlasov_update(app, dt); printf(" dt = %g\n", status.dt_actual); gkyl_vlasov_app_write_integrated_energy_f(app); + gkyl_vlasov_app_calc_integrated_mom(app, tcurr); if (!status.success) { printf("** Update method failed! Aborting simulation ....\n"); diff --git a/zero/dg_updater_moment.c b/zero/dg_updater_moment.c index a41a6a386..a48623671 100644 --- a/zero/dg_updater_moment.c +++ b/zero/dg_updater_moment.c @@ -37,8 +37,6 @@ gkyl_dg_updater_moment_new(const struct gkyl_rect_grid *grid, gkyl_dg_updater_moment *up = gkyl_malloc(sizeof(gkyl_dg_updater_moment)); up->model_id = model_id; up->use_gpu = use_gpu; - printf("up->model_id == GKYL_MODEL_CANONICAL_PB: %d, strcmp(mom, MEnergy) == 0: %d\n",up->model_id == GKYL_MODEL_CANONICAL_PB, strcmp(mom, "MEnergy") == 0); - printf("Value of mom: '%s'\n", mom); if (up->model_id == GKYL_MODEL_SR) { if (is_integrated) { up->type = gkyl_int_mom_vlasov_sr_new(cbasis, pbasis, conf_range, vel_range, use_gpu); @@ -50,8 +48,7 @@ gkyl_dg_updater_moment_new(const struct gkyl_rect_grid *grid, struct gkyl_mom_vlasov_sr_auxfields *sr_inp = aux_inp; gkyl_mom_vlasov_sr_set_auxfields(up->type, *sr_inp); - } else if (up->model_id == GKYL_MODEL_CANONICAL_PB && strcmp(mom, "MEnergy") == 0) { - printf("Using the energy moment (dg_updater_moment line 54)\n"); + } else if (up->model_id == GKYL_MODEL_CANONICAL_PB && (strcmp(mom, "MEnergy") == 0 || strcmp(mom, "Integrated") == 0)) { if (is_integrated) { up->type = gkyl_int_mom_canonical_pb_new(cbasis, pbasis, phase_range, use_gpu); } From 827b3e332fe5cf8b4e8568789f95cc4d565b1bac Mon Sep 17 00:00:00 2001 From: johnson452 Date: Tue, 17 Sep 2024 13:57:46 -0400 Subject: [PATCH 06/16] Reverting the ad hoc energy computation, now that we have working energy moments for can-pb --- apps/gkyl_vlasov.h | 16 ----- apps/gkyl_vlasov_priv.h | 14 ---- apps/vlasov.c | 45 ------------ apps/vlasov_lw.c | 33 --------- apps/vm_species.c | 70 +------------------ .../rt_can_pb_bgk_surf_annulus_sodshock_im.c | 1 - .../rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c | 1 - 7 files changed, 1 insertion(+), 179 deletions(-) diff --git a/apps/gkyl_vlasov.h b/apps/gkyl_vlasov.h index d604fd571..da3cd35d6 100644 --- a/apps/gkyl_vlasov.h +++ b/apps/gkyl_vlasov.h @@ -410,14 +410,6 @@ void gkyl_vlasov_app_calc_mom(gkyl_vlasov_app *app); */ void gkyl_vlasov_app_calc_integrated_mom(gkyl_vlasov_app* app, double tm); -/** - * Calculate integrated energy of the distribution function. - * - * @param tm Time at which integrated diagnostic are to be computed - * @param app App object. - */ -void gkyl_vlasov_app_calc_integrated_total_energy_f(gkyl_vlasov_app* app, double tm); - /** * Calculate integrated L2 norm of the distribution function, f^2. * @@ -499,14 +491,6 @@ void gkyl_vlasov_app_write_mom(gkyl_vlasov_app *app, double tm, int frame); */ void gkyl_vlasov_app_write_integrated_mom(gkyl_vlasov_app *app); -/** - * Write integrated energy of the species distribution function to file. Integrated - * energy is appended to the same file. - * - * @param app App object. - */ -void gkyl_vlasov_app_write_integrated_energy_f(gkyl_vlasov_app *app); - /** * Write integrated L2 norm of the species distribution function to file. Integrated * L2 norm is appended to the same file. diff --git a/apps/gkyl_vlasov_priv.h b/apps/gkyl_vlasov_priv.h index f1d85efec..ffe544792 100644 --- a/apps/gkyl_vlasov_priv.h +++ b/apps/gkyl_vlasov_priv.h @@ -334,15 +334,11 @@ struct vm_species { struct vm_species_moment integ_moms; // integrated moments struct vm_species_moment *moms; // diagnostic moments struct gkyl_array *L2_f; // L2 norm f^2 - struct gkyl_array *energy_f; // total_energy double *red_L2_f; // for reduction of integrated L^2 norm on GPU - double *red_energy_f; // for reduction of integrated total_energy norm on GPU double *red_integ_diag; // for reduction of integrated moments on GPU gkyl_dynvec integ_L2_f; // integrated L^2 norm reduced across grid - gkyl_dynvec integ_energy_f; // integrated total_energy norm reduced across grid gkyl_dynvec integ_diag; // integrated moments reduced across grid bool is_first_integ_L2_write_call; // flag for integrated L^2 norm dynvec written first time - bool is_first_integ_energy_write_call; // flag for integrated L^2 norm dynvec written first time bool is_first_integ_write_call; // flag for integrated moments dynvec written first time gkyl_dg_updater_vlasov *slvr; // Vlasov solver @@ -1067,16 +1063,6 @@ double vm_species_rhs_implicit(gkyl_vlasov_app *app, struct vm_species *species, */ void vm_species_apply_bc(gkyl_vlasov_app *app, const struct vm_species *species, struct gkyl_array *f); -/** - * Compute the total energy of the distribution function diagnostic - * - * @param app Vlasov app object - * @param tm Time at which diagnostic is computed - * @param species Pointer to species - */ -void vm_species_calc_total_energy(gkyl_vlasov_app *app, double tm, const struct vm_species *species); - - /** * Compute L2 norm (f^2) of the distribution function diagnostic * diff --git a/apps/vlasov.c b/apps/vlasov.c index 155c3482c..5bd19b0fe 100644 --- a/apps/vlasov.c +++ b/apps/vlasov.c @@ -438,19 +438,6 @@ gkyl_vlasov_app_calc_integrated_mom(gkyl_vlasov_app* app, double tm) app->stat.ndiag += 1; } - -void -gkyl_vlasov_app_calc_integrated_total_energy_f(gkyl_vlasov_app* app, double tm) -{ - struct timespec wst = gkyl_wall_clock(); - for (int i=0; inum_species; ++i) { - struct vm_species *vm_s = &app->species[i]; - vm_species_calc_total_energy(app, tm, vm_s); - } - app->stat.diag_tm += gkyl_time_diff_now_sec(wst); - app->stat.ndiag += 1; -} - void gkyl_vlasov_app_calc_integrated_L2_f(gkyl_vlasov_app* app, double tm) { @@ -678,38 +665,6 @@ gkyl_vlasov_app_write_integrated_mom(gkyl_vlasov_app *app) } } -void -gkyl_vlasov_app_write_integrated_energy_f(gkyl_vlasov_app* app) -{ - for (int i=0; inum_species; ++i) { - struct vm_species *vm_s = &app->species[i]; - vm_species_calc_total_energy(app, 0.0, vm_s); - - int rank; - gkyl_comm_get_rank(app->comm, &rank); - if (rank == 0) { - // write out integrated energy - const char *fmt = "%s-%s-%s.gkyl"; - int sz = gkyl_calc_strlen(fmt, app->name, vm_s->info.name, - "energy"); - char fileNm[sz+1]; // ensures no buffer overflow - snprintf(fileNm, sizeof fileNm, fmt, app->name, vm_s->info.name, - "energy"); - - if (vm_s->is_first_integ_energy_write_call) { - // write to a new file (this ensure previous output is removed) - gkyl_dynvec_write(vm_s->integ_energy_f, fileNm); - vm_s->is_first_integ_energy_write_call = false; - } - else { - // append to existing file - gkyl_dynvec_awrite(vm_s->integ_energy_f, fileNm); - } - } - gkyl_dynvec_clear(vm_s->integ_energy_f); - } -} - void gkyl_vlasov_app_write_integrated_L2_f(gkyl_vlasov_app* app) { diff --git a/apps/vlasov_lw.c b/apps/vlasov_lw.c index a2835c1e0..72e378b50 100644 --- a/apps/vlasov_lw.c +++ b/apps/vlasov_lw.c @@ -448,22 +448,6 @@ vm_app_calc_integrated_mom(lua_State *L) return 1; } -// Compute integrated energy of distribution function. (tm) -> bool -static int -gkyl_vlasov_app_calc_integrated_total_energy_f(lua_State *L) -{ - bool status = true; - - struct vlasov_app_lw **l_app_lw = GKYL_CHECK_UDATA(L, VLASOV_APP_METATABLE_NM); - struct vlasov_app_lw *app_lw = *l_app_lw; - - double tm = luaL_checknumber(L, 2); - gkyl_vlasov_app_calc_integrated_energy_f(app_lw->app, tm); - - lua_pushboolean(L, status); - return 1; -} - // Compute integrated L2 norm of distribution function. (tm) -> bool static int @@ -582,21 +566,6 @@ vm_app_write_integrated_mom(lua_State *L) return 1; } -// Write integrated energy norm of f to file () -> bool -static int -vm_app_write_integrated_energy_f(lua_State *L) -{ - bool status = true; - - struct vlasov_app_lw **l_app_lw = GKYL_CHECK_UDATA(L, VLASOV_APP_METATABLE_NM); - struct vlasov_app_lw *app_lw = *l_app_lw; - - gkyl_vlasov_app_write_integrated_energy_f(app_lw->app); - - lua_pushboolean(L, status); - return 1; -} - // Write integrated L2 norm of f to file () -> bool static int vm_app_write_integrated_L2_f(lua_State *L) @@ -733,7 +702,6 @@ static struct luaL_Reg vm_app_funcs[] = { { "apply_ic_species", vm_app_apply_ic_species }, { "calc_mom", vm_app_calc_mom }, { "calc_integrated_mom", vm_app_calc_integrated_mom }, - { "calc_integrated_energy_f", vm_app_calc_integrated_energy_f }, { "calc_integrated_L2_f", vm_app_calc_integrated_L2_f }, { "calc_field_energy", vm_app_calc_field_energy }, { "write", vm_app_write }, @@ -741,7 +709,6 @@ static struct luaL_Reg vm_app_funcs[] = { { "write_species", vm_app_write_species }, { "write_mom", vm_app_write_mom }, { "write_integrated_mom", vm_app_write_integrated_mom }, - { "write_integrated_energy_f", vm_app_write_integrated_energy_f }, { "write_integrated_L2_f", vm_app_write_integrated_L2_f }, { "write_field_energy", vm_app_write_field_energy }, { "stat_write", vm_app_stat_write }, diff --git a/apps/vm_species.c b/apps/vm_species.c index 592a3e1c2..3d83bbcdf 100644 --- a/apps/vm_species.c +++ b/apps/vm_species.c @@ -218,12 +218,10 @@ vm_species_init(struct gkyl_vm *vm, struct gkyl_vlasov_app *app, struct vm_speci for (int m=0; mmoms[m], s->info.diag_moments[m]); - // array for storing f^2 and energy in each cell + // array for storing f^2 in each cell s->L2_f = mkarr(app->use_gpu, 1, s->local_ext.volume); - s->energy_f = mkarr(app->use_gpu, 1, s->local_ext.volume); if (app->use_gpu) { s->red_L2_f = gkyl_cu_malloc(sizeof(double)); - s->red_energy_f = gkyl_cu_malloc(sizeof(double)); if (s->model_id == GKYL_MODEL_CANONICAL_PB){ s->red_integ_diag = gkyl_cu_malloc(sizeof(double[1])); } @@ -233,7 +231,6 @@ vm_species_init(struct gkyl_vm *vm, struct gkyl_vlasov_app *app, struct vm_speci } // allocate dynamic-vector to store all-reduced integrated moments and f^2 s->integ_L2_f = gkyl_dynvec_new(GKYL_DOUBLE, 1); - s->integ_energy_f = gkyl_dynvec_new(GKYL_DOUBLE, 1); if (s->model_id == GKYL_MODEL_CANONICAL_PB){ s->integ_diag = gkyl_dynvec_new(GKYL_DOUBLE, 1); } @@ -241,7 +238,6 @@ vm_species_init(struct gkyl_vm *vm, struct gkyl_vlasov_app *app, struct vm_speci s->integ_diag = gkyl_dynvec_new(GKYL_DOUBLE, vdim+2); } s->is_first_integ_L2_write_call = true; - s->is_first_integ_energy_write_call = true; s->is_first_integ_write_call = true; // Initialize applied acceleration for use in force update. @@ -554,67 +550,6 @@ vm_species_apply_bc(gkyl_vlasov_app *app, const struct vm_species *species, stru } - -static void -calc_op_range(struct gkyl_basis basis, struct gkyl_array *out, - const struct gkyl_array *distf, const struct gkyl_array *hamil, - struct gkyl_range range) -{ -#ifdef GKYL_HAVE_CUDA - // if (gkyl_array_is_cu_dev(out)) { - // return gkyl_dg_calc_op_range_cu(basis, c_oop, out, c_distf, distf, range, op); - // } -#endif - - int num_basis = basis.num_basis; - - struct gkyl_range_iter iter; - gkyl_range_iter_init(&iter, &range); - - while (gkyl_range_iter_next(&iter)) { - long loc = gkyl_range_idx(&range, iter.idx); - - const double *distf_d = gkyl_array_cfetch(distf, loc); - const double *hamil_d = gkyl_array_cfetch(hamil, loc); - double *out_d = gkyl_array_fetch(out, loc); - - out_d[0] = 0.0; - for (int i=0; imodel_id == GKYL_MODEL_CANONICAL_PB){ - calc_energy_range(app->basis, species->energy_f, species->f, species->hamil, species->local); - gkyl_array_scale_range(species->energy_f, species->grid.cellVolume, &species->local); - - double energy[1] = { 0.0 }; - if (app->use_gpu) { - gkyl_array_reduce_range(species->red_energy_f, species->energy_f, GKYL_SUM, &species->local); - gkyl_cu_memcpy(energy, species->red_energy_f, sizeof(double), GKYL_CU_MEMCPY_D2H); - } - else { - gkyl_array_reduce_range(energy, species->energy_f, GKYL_SUM, &species->local); - } - double energy_global[1] = { 0.0 }; - gkyl_comm_all_reduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, energy, energy_global); - - gkyl_dynvec_append(species->integ_energy_f, tm, energy_global); - } -} - void vm_species_calc_L2(gkyl_vlasov_app *app, double tm, const struct vm_species *species) { @@ -743,8 +678,6 @@ vm_species_release(const gkyl_vlasov_app* app, const struct vm_species *s) gkyl_free(s->moms); vm_species_moment_release(app, &s->integ_moms); - gkyl_array_release(s->energy_f); - gkyl_dynvec_release(s->integ_energy_f); gkyl_array_release(s->L2_f); gkyl_dynvec_release(s->integ_L2_f); gkyl_dynvec_release(s->integ_diag); @@ -782,7 +715,6 @@ vm_species_release(const gkyl_vlasov_app* app, const struct vm_species *s) if (app->use_gpu) { gkyl_cu_free(s->omegaCfl_ptr); - gkyl_cu_free(s->red_energy_f); gkyl_cu_free(s->red_L2_f); gkyl_cu_free(s->red_integ_diag); } diff --git a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c index de9b36f18..f85bec08b 100644 --- a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c +++ b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c @@ -351,7 +351,6 @@ main(int argc, char **argv) printf("Taking time-step at t = %g ...", tcurr); struct gkyl_update_status status = gkyl_vlasov_update(app, dt); printf(" dt = %g\n", status.dt_actual); - gkyl_vlasov_app_write_integrated_energy_f(app); gkyl_vlasov_app_calc_integrated_mom(app, tcurr); if (!status.success) { diff --git a/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c b/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c index f84daf0fc..d2d4c1b80 100644 --- a/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c +++ b/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c @@ -409,7 +409,6 @@ main(int argc, char **argv) gkyl_vlasov_app_cout(app, stdout, "Taking time-step %ld at t = %g ...", step, t_curr); struct gkyl_update_status status = gkyl_vlasov_update(app, dt); gkyl_vlasov_app_cout(app, stdout, " dt = %g\n", status.dt_actual); - gkyl_vlasov_app_write_integrated_energy_f(app); if (!status.success) { gkyl_vlasov_app_cout(app, stdout, "** Update method failed! Aborting simulation ....\n"); From 643561c7d40f57919983ad4977b3d061dedc4f47 Mon Sep 17 00:00:00 2001 From: johnson452 Date: Tue, 17 Sep 2024 14:45:52 -0400 Subject: [PATCH 07/16] Extended the can-pb integrated moments to include and output integrated [density, momentum, energy] --- apps/vm_species.c | 14 ++------------ .../canonical_pb/mom_canonical_pb_1x1v_ser_p1.c | 6 +++++- .../canonical_pb/mom_canonical_pb_1x1v_ser_p2.c | 6 +++++- .../canonical_pb/mom_canonical_pb_2x2v_ser_p1.c | 8 +++++++- .../canonical_pb/mom_canonical_pb_2x2v_ser_p2.c | 8 +++++++- .../canonical_pb/mom_canonical_pb_3x3v_ser_p1.c | 10 +++++++++- zero/mom_canonical_pb.c | 2 +- 7 files changed, 36 insertions(+), 18 deletions(-) diff --git a/apps/vm_species.c b/apps/vm_species.c index 3d83bbcdf..6ffe84373 100644 --- a/apps/vm_species.c +++ b/apps/vm_species.c @@ -222,21 +222,11 @@ vm_species_init(struct gkyl_vm *vm, struct gkyl_vlasov_app *app, struct vm_speci s->L2_f = mkarr(app->use_gpu, 1, s->local_ext.volume); if (app->use_gpu) { s->red_L2_f = gkyl_cu_malloc(sizeof(double)); - if (s->model_id == GKYL_MODEL_CANONICAL_PB){ - s->red_integ_diag = gkyl_cu_malloc(sizeof(double[1])); - } - else { - s->red_integ_diag = gkyl_cu_malloc(sizeof(double[vdim+2])); - } + s->red_integ_diag = gkyl_cu_malloc(sizeof(double[vdim+2])); } // allocate dynamic-vector to store all-reduced integrated moments and f^2 s->integ_L2_f = gkyl_dynvec_new(GKYL_DOUBLE, 1); - if (s->model_id == GKYL_MODEL_CANONICAL_PB){ - s->integ_diag = gkyl_dynvec_new(GKYL_DOUBLE, 1); - } - else { - s->integ_diag = gkyl_dynvec_new(GKYL_DOUBLE, vdim+2); - } + s->integ_diag = gkyl_dynvec_new(GKYL_DOUBLE, vdim+2); s->is_first_integ_L2_write_call = true; s->is_first_integ_write_call = true; diff --git a/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p1.c b/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p1.c index 26f237c54..9b3e422f6 100644 --- a/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p1.c +++ b/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p1.c @@ -11,5 +11,9 @@ GKYL_CU_DH void canonical_pb_int_mom_1x1v_ser_p1(const double *dxv, const double { const double volFact = dxv[0]*dxv[1]*0.25; const double dv1 = dxv[1]; - out[0] += (f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; + const double rdvx2 = 2.0/dxv[1]; + + out[0] += 2.0*f[0]*volFact; + out[1] += (3.872983346207417*f[3]*hamil[5]*rdvx2+3.872983346207417*f[2]*hamil[4]*rdvx2+1.732050807568877*f[1]*hamil[3]*rdvx2+1.732050807568877*f[0]*hamil[2]*rdvx2)*volFact; + out[2] += (f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; } diff --git a/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p2.c b/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p2.c index ccc94141b..7e70f2572 100644 --- a/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p2.c +++ b/kernels/canonical_pb/mom_canonical_pb_1x1v_ser_p2.c @@ -12,5 +12,9 @@ GKYL_CU_DH void canonical_pb_int_mom_1x1v_ser_p2(const double *dxv, const double { const double volFact = dxv[0]*dxv[1]*0.25; const double dv1 = dxv[1]; - out[0] += (f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; + const double rdvx2 = 2.0/dxv[1]; + + out[0] += 2.0*f[0]*volFact; + out[1] += (3.872983346207417*f[3]*hamil[7]*rdvx2+1.732050807568877*f[4]*hamil[6]*rdvx2+3.872983346207417*f[2]*hamil[5]*rdvx2+1.732050807568877*f[1]*hamil[3]*rdvx2+1.732050807568877*f[0]*hamil[2]*rdvx2)*volFact; + out[2] += (f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; } diff --git a/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p1.c b/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p1.c index 12a8e2aa4..f0651d200 100644 --- a/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p1.c +++ b/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p1.c @@ -15,5 +15,11 @@ GKYL_CU_DH void canonical_pb_int_mom_2x2v_ser_p1(const double *dxv, const double const double volFact = dxv[0]*dxv[1]*dxv[2]*dxv[3]*0.0625; const double dv1 = dxv[2]; const double dv2 = dxv[3]; - out[0] += (f[31]*hamil[31]+f[30]*hamil[30]+f[29]*hamil[29]+f[28]*hamil[28]+f[27]*hamil[27]+f[26]*hamil[26]+f[25]*hamil[25]+f[24]*hamil[24]+f[23]*hamil[23]+f[22]*hamil[22]+f[21]*hamil[21]+f[20]*hamil[20]+f[19]*hamil[19]+f[18]*hamil[18]+f[17]*hamil[17]+f[16]*hamil[16]+f[15]*hamil[15]+f[14]*hamil[14]+f[13]*hamil[13]+f[12]*hamil[12]+f[11]*hamil[11]+f[10]*hamil[10]+f[9]*hamil[9]+f[8]*hamil[8]+f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; + const double rdvx2 = 2.0/dxv[2]; + const double rdvy2 = 2.0/dxv[3]; + + out[0] += 4.0*f[0]*volFact; + out[1] += (1.732050807568877*f[28]*hamil[31]*rdvx2+1.732050807568877*f[26]*hamil[30]*rdvx2+1.732050807568877*f[25]*hamil[29]*rdvx2+1.732050807568877*f[24]*hamil[27]*rdvx2+3.872983346207417*f[15]*hamil[23]*rdvx2+3.872983346207417*f[14]*hamil[22]*rdvx2+3.872983346207417*f[13]*hamil[21]*rdvx2+3.872983346207417*f[11]*hamil[20]*rdvx2+3.872983346207417*f[10]*hamil[19]*rdvx2+3.872983346207417*f[7]*hamil[18]*rdvx2+3.872983346207417*f[6]*hamil[17]*rdvx2+3.872983346207417*f[3]*hamil[16]*rdvx2+1.732050807568877*f[12]*hamil[15]*rdvx2+1.732050807568877*f[9]*hamil[14]*rdvx2+1.732050807568877*f[8]*hamil[13]*rdvx2+1.732050807568877*f[5]*hamil[11]*rdvx2+1.732050807568877*f[4]*hamil[10]*rdvx2+1.732050807568877*f[2]*hamil[7]*rdvx2+1.732050807568877*f[1]*hamil[6]*rdvx2+1.732050807568877*f[0]*hamil[3]*rdvx2)*volFact; + out[2] += (3.872983346207417*f[15]*hamil[31]*rdvy2+3.872983346207417*f[14]*hamil[30]*rdvy2+3.872983346207417*f[13]*hamil[29]*rdvy2+3.872983346207417*f[12]*hamil[28]*rdvy2+3.872983346207417*f[10]*hamil[27]*rdvy2+3.872983346207417*f[9]*hamil[26]*rdvy2+3.872983346207417*f[8]*hamil[25]*rdvy2+3.872983346207417*f[4]*hamil[24]*rdvy2+1.732050807568877*f[20]*hamil[23]*rdvy2+1.732050807568877*f[18]*hamil[22]*rdvy2+1.732050807568877*f[17]*hamil[21]*rdvy2+1.732050807568877*f[16]*hamil[19]*rdvy2+1.732050807568877*f[11]*hamil[15]*rdvy2+1.732050807568877*f[7]*hamil[14]*rdvy2+1.732050807568877*f[6]*hamil[13]*rdvy2+1.732050807568877*f[5]*hamil[12]*rdvy2+1.732050807568877*f[3]*hamil[10]*rdvy2+1.732050807568877*f[2]*hamil[9]*rdvy2+1.732050807568877*f[1]*hamil[8]*rdvy2+1.732050807568877*f[0]*hamil[4]*rdvy2)*volFact; + out[3] += (f[31]*hamil[31]+f[30]*hamil[30]+f[29]*hamil[29]+f[28]*hamil[28]+f[27]*hamil[27]+f[26]*hamil[26]+f[25]*hamil[25]+f[24]*hamil[24]+f[23]*hamil[23]+f[22]*hamil[22]+f[21]*hamil[21]+f[20]*hamil[20]+f[19]*hamil[19]+f[18]*hamil[18]+f[17]*hamil[17]+f[16]*hamil[16]+f[15]*hamil[15]+f[14]*hamil[14]+f[13]*hamil[13]+f[12]*hamil[12]+f[11]*hamil[11]+f[10]*hamil[10]+f[9]*hamil[9]+f[8]*hamil[8]+f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; } diff --git a/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p2.c b/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p2.c index 6171576ff..ec5e96d28 100644 --- a/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p2.c +++ b/kernels/canonical_pb/mom_canonical_pb_2x2v_ser_p2.c @@ -19,5 +19,11 @@ GKYL_CU_DH void canonical_pb_int_mom_2x2v_ser_p2(const double *dxv, const double const double volFact = dxv[0]*dxv[1]*dxv[2]*dxv[3]*0.0625; const double dv1 = dxv[2]; const double dv2 = dxv[3]; - out[0] += (f[47]*hamil[47]+f[46]*hamil[46]+f[45]*hamil[45]+f[44]*hamil[44]+f[43]*hamil[43]+f[42]*hamil[42]+f[41]*hamil[41]+f[40]*hamil[40]+f[39]*hamil[39]+f[38]*hamil[38]+f[37]*hamil[37]+f[36]*hamil[36]+f[35]*hamil[35]+f[34]*hamil[34]+f[33]*hamil[33]+f[32]*hamil[32]+f[31]*hamil[31]+f[30]*hamil[30]+f[29]*hamil[29]+f[28]*hamil[28]+f[27]*hamil[27]+f[26]*hamil[26]+f[25]*hamil[25]+f[24]*hamil[24]+f[23]*hamil[23]+f[22]*hamil[22]+f[21]*hamil[21]+f[20]*hamil[20]+f[19]*hamil[19]+f[18]*hamil[18]+f[17]*hamil[17]+f[16]*hamil[16]+f[15]*hamil[15]+f[14]*hamil[14]+f[13]*hamil[13]+f[12]*hamil[12]+f[11]*hamil[11]+f[10]*hamil[10]+f[9]*hamil[9]+f[8]*hamil[8]+f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; + const double rdvx2 = 2.0/dxv[2]; + const double rdvy2 = 2.0/dxv[3]; + + out[0] += 4.0*f[0]*volFact; + out[1] += (1.732050807568877*f[41]*hamil[47]*rdvx2+3.872983346207417*f[31]*hamil[46]*rdvx2+1.732050807568877*f[36]*hamil[45]*rdvx2+1.732050807568877*f[35]*hamil[44]*rdvx2+1.732050807568877*f[29]*hamil[43]*rdvx2+1.732050807568877*f[28]*hamil[42]*rdvx2+3.872983346207417*f[18]*hamil[40]*rdvx2+3.872983346207417*f[17]*hamil[39]*rdvx2+1.732050807568877*f[26]*hamil[38]*rdvx2+1.732050807568877*f[25]*hamil[37]*rdvx2+3.872983346207417*f[15]*hamil[34]*rdvx2+1.732050807568877*f[20]*hamil[33]*rdvx2+1.732050807568877*f[19]*hamil[32]*rdvx2+1.732050807568877*f[16]*hamil[31]*rdvx2+1.732050807568877*f[14]*hamil[30]*rdvx2+3.872983346207417*f[10]*hamil[27]*rdvx2+3.872983346207417*f[7]*hamil[24]*rdvx2+3.872983346207417*f[6]*hamil[23]*rdvx2+1.732050807568877*f[12]*hamil[22]*rdvx2+1.732050807568877*f[11]*hamil[21]*rdvx2+1.732050807568877*f[9]*hamil[18]*rdvx2+1.732050807568877*f[8]*hamil[17]*rdvx2+1.732050807568877*f[5]*hamil[15]*rdvx2+3.872983346207417*f[3]*hamil[13]*rdvx2+1.732050807568877*f[4]*hamil[10]*rdvx2+1.732050807568877*f[2]*hamil[7]*rdvx2+1.732050807568877*f[1]*hamil[6]*rdvx2+1.732050807568877*f[0]*hamil[3]*rdvx2)*volFact; + out[2] += (3.872983346207417*f[31]*hamil[47]*rdvy2+1.732050807568877*f[34]*hamil[46]*rdvy2+1.732050807568877*f[33]*hamil[45]*rdvy2+1.732050807568877*f[32]*hamil[44]*rdvy2+3.872983346207417*f[18]*hamil[43]*rdvy2+3.872983346207417*f[17]*hamil[42]*rdvy2+3.872983346207417*f[16]*hamil[41]*rdvy2+1.732050807568877*f[24]*hamil[40]*rdvy2+1.732050807568877*f[23]*hamil[39]*rdvy2+1.732050807568877*f[22]*hamil[38]*rdvy2+1.732050807568877*f[21]*hamil[37]*rdvy2+1.732050807568877*f[20]*hamil[36]*rdvy2+1.732050807568877*f[19]*hamil[35]*rdvy2+1.732050807568877*f[15]*hamil[31]*rdvy2+3.872983346207417*f[10]*hamil[30]*rdvy2+3.872983346207417*f[9]*hamil[29]*rdvy2+3.872983346207417*f[8]*hamil[28]*rdvy2+1.732050807568877*f[13]*hamil[27]*rdvy2+1.732050807568877*f[12]*hamil[26]*rdvy2+1.732050807568877*f[11]*hamil[25]*rdvy2+1.732050807568877*f[7]*hamil[18]*rdvy2+1.732050807568877*f[6]*hamil[17]*rdvy2+1.732050807568877*f[5]*hamil[16]*rdvy2+3.872983346207417*f[4]*hamil[14]*rdvy2+1.732050807568877*f[3]*hamil[10]*rdvy2+1.732050807568877*f[2]*hamil[9]*rdvy2+1.732050807568877*f[1]*hamil[8]*rdvy2+1.732050807568877*f[0]*hamil[4]*rdvy2)*volFact; + out[3] += (f[47]*hamil[47]+f[46]*hamil[46]+f[45]*hamil[45]+f[44]*hamil[44]+f[43]*hamil[43]+f[42]*hamil[42]+f[41]*hamil[41]+f[40]*hamil[40]+f[39]*hamil[39]+f[38]*hamil[38]+f[37]*hamil[37]+f[36]*hamil[36]+f[35]*hamil[35]+f[34]*hamil[34]+f[33]*hamil[33]+f[32]*hamil[32]+f[31]*hamil[31]+f[30]*hamil[30]+f[29]*hamil[29]+f[28]*hamil[28]+f[27]*hamil[27]+f[26]*hamil[26]+f[25]*hamil[25]+f[24]*hamil[24]+f[23]*hamil[23]+f[22]*hamil[22]+f[21]*hamil[21]+f[20]*hamil[20]+f[19]*hamil[19]+f[18]*hamil[18]+f[17]*hamil[17]+f[16]*hamil[16]+f[15]*hamil[15]+f[14]*hamil[14]+f[13]*hamil[13]+f[12]*hamil[12]+f[11]*hamil[11]+f[10]*hamil[10]+f[9]*hamil[9]+f[8]*hamil[8]+f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; } diff --git a/kernels/canonical_pb/mom_canonical_pb_3x3v_ser_p1.c b/kernels/canonical_pb/mom_canonical_pb_3x3v_ser_p1.c index bc507273e..8e79654dd 100644 --- a/kernels/canonical_pb/mom_canonical_pb_3x3v_ser_p1.c +++ b/kernels/canonical_pb/mom_canonical_pb_3x3v_ser_p1.c @@ -21,5 +21,13 @@ GKYL_CU_DH void canonical_pb_int_mom_3x3v_ser_p1(const double *dxv, const double const double dv1 = dxv[3]; const double dv2 = dxv[4]; const double dv3 = dxv[5]; - out[0] += (f[159]*hamil[159]+f[158]*hamil[158]+f[157]*hamil[157]+f[156]*hamil[156]+f[155]*hamil[155]+f[154]*hamil[154]+f[153]*hamil[153]+f[152]*hamil[152]+f[151]*hamil[151]+f[150]*hamil[150]+f[149]*hamil[149]+f[148]*hamil[148]+f[147]*hamil[147]+f[146]*hamil[146]+f[145]*hamil[145]+f[144]*hamil[144]+f[143]*hamil[143]+f[142]*hamil[142]+f[141]*hamil[141]+f[140]*hamil[140]+f[139]*hamil[139]+f[138]*hamil[138]+f[137]*hamil[137]+f[136]*hamil[136]+f[135]*hamil[135]+f[134]*hamil[134]+f[133]*hamil[133]+f[132]*hamil[132]+f[131]*hamil[131]+f[130]*hamil[130]+f[129]*hamil[129]+f[128]*hamil[128]+f[127]*hamil[127]+f[126]*hamil[126]+f[125]*hamil[125]+f[124]*hamil[124]+f[123]*hamil[123]+f[122]*hamil[122]+f[121]*hamil[121]+f[120]*hamil[120]+f[119]*hamil[119]+f[118]*hamil[118]+f[117]*hamil[117]+f[116]*hamil[116]+f[115]*hamil[115]+f[114]*hamil[114]+f[113]*hamil[113]+f[112]*hamil[112]+f[111]*hamil[111]+f[110]*hamil[110]+f[109]*hamil[109]+f[108]*hamil[108]+f[107]*hamil[107]+f[106]*hamil[106]+f[105]*hamil[105]+f[104]*hamil[104]+f[103]*hamil[103]+f[102]*hamil[102]+f[101]*hamil[101]+f[100]*hamil[100]+f[99]*hamil[99]+f[98]*hamil[98]+f[97]*hamil[97]+f[96]*hamil[96]+f[95]*hamil[95]+f[94]*hamil[94]+f[93]*hamil[93]+f[92]*hamil[92]+f[91]*hamil[91]+f[90]*hamil[90]+f[89]*hamil[89]+f[88]*hamil[88]+f[87]*hamil[87]+f[86]*hamil[86]+f[85]*hamil[85]+f[84]*hamil[84]+f[83]*hamil[83]+f[82]*hamil[82]+f[81]*hamil[81]+f[80]*hamil[80]+f[79]*hamil[79]+f[78]*hamil[78]+f[77]*hamil[77]+f[76]*hamil[76]+f[75]*hamil[75]+f[74]*hamil[74]+f[73]*hamil[73]+f[72]*hamil[72]+f[71]*hamil[71]+f[70]*hamil[70]+f[69]*hamil[69]+f[68]*hamil[68]+f[67]*hamil[67]+f[66]*hamil[66]+f[65]*hamil[65]+f[64]*hamil[64]+f[63]*hamil[63]+f[62]*hamil[62]+f[61]*hamil[61]+f[60]*hamil[60]+f[59]*hamil[59]+f[58]*hamil[58]+f[57]*hamil[57]+f[56]*hamil[56]+f[55]*hamil[55]+f[54]*hamil[54]+f[53]*hamil[53]+f[52]*hamil[52]+f[51]*hamil[51]+f[50]*hamil[50]+f[49]*hamil[49]+f[48]*hamil[48]+f[47]*hamil[47]+f[46]*hamil[46]+f[45]*hamil[45]+f[44]*hamil[44]+f[43]*hamil[43]+f[42]*hamil[42]+f[41]*hamil[41]+f[40]*hamil[40]+f[39]*hamil[39]+f[38]*hamil[38]+f[37]*hamil[37]+f[36]*hamil[36]+f[35]*hamil[35]+f[34]*hamil[34]+f[33]*hamil[33]+f[32]*hamil[32]+f[31]*hamil[31]+f[30]*hamil[30]+f[29]*hamil[29]+f[28]*hamil[28]+f[27]*hamil[27]+f[26]*hamil[26]+f[25]*hamil[25]+f[24]*hamil[24]+f[23]*hamil[23]+f[22]*hamil[22]+f[21]*hamil[21]+f[20]*hamil[20]+f[19]*hamil[19]+f[18]*hamil[18]+f[17]*hamil[17]+f[16]*hamil[16]+f[15]*hamil[15]+f[14]*hamil[14]+f[13]*hamil[13]+f[12]*hamil[12]+f[11]*hamil[11]+f[10]*hamil[10]+f[9]*hamil[9]+f[8]*hamil[8]+f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; + const double rdvx2 = 2.0/dxv[3]; + const double rdvy2 = 2.0/dxv[4]; + const double rdvz2 = 2.0/dxv[5]; + + out[0] += 8.0*f[0]*volFact; + out[1] += (1.732050807568877*f[155]*hamil[159]*rdvx2+1.732050807568877*f[150]*hamil[158]*rdvx2+1.732050807568877*f[149]*hamil[157]*rdvx2+1.732050807568877*f[148]*hamil[156]*rdvx2+1.732050807568877*f[144]*hamil[154]*rdvx2+1.732050807568877*f[142]*hamil[153]*rdvx2+1.732050807568877*f[141]*hamil[152]*rdvx2+1.732050807568877*f[140]*hamil[151]*rdvx2+1.732050807568877*f[136]*hamil[147]*rdvx2+1.732050807568877*f[135]*hamil[146]*rdvx2+1.732050807568877*f[134]*hamil[145]*rdvx2+1.732050807568877*f[133]*hamil[143]*rdvx2+1.732050807568877*f[131]*hamil[139]*rdvx2+1.732050807568877*f[130]*hamil[138]*rdvx2+1.732050807568877*f[129]*hamil[137]*rdvx2+1.732050807568877*f[128]*hamil[132]*rdvx2+1.732050807568877*f[123]*hamil[127]*rdvx2+1.732050807568877*f[118]*hamil[126]*rdvx2+1.732050807568877*f[117]*hamil[125]*rdvx2+1.732050807568877*f[116]*hamil[124]*rdvx2+1.732050807568877*f[112]*hamil[122]*rdvx2+1.732050807568877*f[110]*hamil[121]*rdvx2+1.732050807568877*f[109]*hamil[120]*rdvx2+1.732050807568877*f[108]*hamil[119]*rdvx2+1.732050807568877*f[104]*hamil[115]*rdvx2+1.732050807568877*f[103]*hamil[114]*rdvx2+1.732050807568877*f[102]*hamil[113]*rdvx2+1.732050807568877*f[101]*hamil[111]*rdvx2+1.732050807568877*f[99]*hamil[107]*rdvx2+1.732050807568877*f[98]*hamil[106]*rdvx2+1.732050807568877*f[97]*hamil[105]*rdvx2+1.732050807568877*f[96]*hamil[100]*rdvx2+3.872983346207417*f[63]*hamil[95]*rdvx2+3.872983346207417*f[62]*hamil[94]*rdvx2+3.872983346207417*f[61]*hamil[93]*rdvx2+3.872983346207417*f[60]*hamil[92]*rdvx2+3.872983346207417*f[58]*hamil[91]*rdvx2+3.872983346207417*f[57]*hamil[90]*rdvx2+3.872983346207417*f[56]*hamil[89]*rdvx2+3.872983346207417*f[55]*hamil[88]*rdvx2+3.872983346207417*f[54]*hamil[87]*rdvx2+3.872983346207417*f[50]*hamil[86]*rdvx2+3.872983346207417*f[49]*hamil[85]*rdvx2+3.872983346207417*f[48]*hamil[84]*rdvx2+3.872983346207417*f[46]*hamil[83]*rdvx2+3.872983346207417*f[45]*hamil[82]*rdvx2+3.872983346207417*f[44]*hamil[81]*rdvx2+3.872983346207417*f[42]*hamil[80]*rdvx2+3.872983346207417*f[41]*hamil[79]*rdvx2+3.872983346207417*f[37]*hamil[78]*rdvx2+3.872983346207417*f[36]*hamil[77]*rdvx2+3.872983346207417*f[35]*hamil[76]*rdvx2+3.872983346207417*f[31]*hamil[75]*rdvx2+3.872983346207417*f[30]*hamil[74]*rdvx2+3.872983346207417*f[29]*hamil[73]*rdvx2+3.872983346207417*f[25]*hamil[72]*rdvx2+3.872983346207417*f[24]*hamil[71]*rdvx2+3.872983346207417*f[23]*hamil[70]*rdvx2+3.872983346207417*f[20]*hamil[69]*rdvx2+3.872983346207417*f[16]*hamil[68]*rdvx2+3.872983346207417*f[12]*hamil[67]*rdvx2+3.872983346207417*f[11]*hamil[66]*rdvx2+3.872983346207417*f[10]*hamil[65]*rdvx2+3.872983346207417*f[4]*hamil[64]*rdvx2+1.732050807568877*f[59]*hamil[63]*rdvx2+1.732050807568877*f[53]*hamil[62]*rdvx2+1.732050807568877*f[52]*hamil[61]*rdvx2+1.732050807568877*f[51]*hamil[60]*rdvx2+1.732050807568877*f[47]*hamil[58]*rdvx2+1.732050807568877*f[43]*hamil[57]*rdvx2+1.732050807568877*f[40]*hamil[56]*rdvx2+1.732050807568877*f[39]*hamil[55]*rdvx2+1.732050807568877*f[38]*hamil[54]*rdvx2+1.732050807568877*f[34]*hamil[50]*rdvx2+1.732050807568877*f[33]*hamil[49]*rdvx2+1.732050807568877*f[32]*hamil[48]*rdvx2+1.732050807568877*f[28]*hamil[46]*rdvx2+1.732050807568877*f[27]*hamil[45]*rdvx2+1.732050807568877*f[26]*hamil[44]*rdvx2+1.732050807568877*f[22]*hamil[42]*rdvx2+1.732050807568877*f[21]*hamil[41]*rdvx2+1.732050807568877*f[19]*hamil[37]*rdvx2+1.732050807568877*f[18]*hamil[36]*rdvx2+1.732050807568877*f[17]*hamil[35]*rdvx2+1.732050807568877*f[15]*hamil[31]*rdvx2+1.732050807568877*f[14]*hamil[30]*rdvx2+1.732050807568877*f[13]*hamil[29]*rdvx2+1.732050807568877*f[9]*hamil[25]*rdvx2+1.732050807568877*f[8]*hamil[24]*rdvx2+1.732050807568877*f[7]*hamil[23]*rdvx2+1.732050807568877*f[6]*hamil[20]*rdvx2+1.732050807568877*f[5]*hamil[16]*rdvx2+1.732050807568877*f[3]*hamil[12]*rdvx2+1.732050807568877*f[2]*hamil[11]*rdvx2+1.732050807568877*f[1]*hamil[10]*rdvx2+1.732050807568877*f[0]*hamil[4]*rdvx2)*volFact; + out[2] += (1.732050807568877*f[154]*hamil[159]*rdvy2+1.732050807568877*f[147]*hamil[158]*rdvy2+1.732050807568877*f[146]*hamil[157]*rdvy2+1.732050807568877*f[145]*hamil[156]*rdvy2+1.732050807568877*f[144]*hamil[155]*rdvy2+1.732050807568877*f[139]*hamil[153]*rdvy2+1.732050807568877*f[138]*hamil[152]*rdvy2+1.732050807568877*f[137]*hamil[151]*rdvy2+1.732050807568877*f[136]*hamil[150]*rdvy2+1.732050807568877*f[135]*hamil[149]*rdvy2+1.732050807568877*f[134]*hamil[148]*rdvy2+1.732050807568877*f[132]*hamil[143]*rdvy2+1.732050807568877*f[131]*hamil[142]*rdvy2+1.732050807568877*f[130]*hamil[141]*rdvy2+1.732050807568877*f[129]*hamil[140]*rdvy2+1.732050807568877*f[128]*hamil[133]*rdvy2+3.872983346207417*f[63]*hamil[127]*rdvy2+3.872983346207417*f[62]*hamil[126]*rdvy2+3.872983346207417*f[61]*hamil[125]*rdvy2+3.872983346207417*f[60]*hamil[124]*rdvy2+3.872983346207417*f[59]*hamil[123]*rdvy2+3.872983346207417*f[57]*hamil[122]*rdvy2+3.872983346207417*f[56]*hamil[121]*rdvy2+3.872983346207417*f[55]*hamil[120]*rdvy2+3.872983346207417*f[54]*hamil[119]*rdvy2+3.872983346207417*f[53]*hamil[118]*rdvy2+3.872983346207417*f[52]*hamil[117]*rdvy2+3.872983346207417*f[51]*hamil[116]*rdvy2+3.872983346207417*f[46]*hamil[115]*rdvy2+3.872983346207417*f[45]*hamil[114]*rdvy2+3.872983346207417*f[44]*hamil[113]*rdvy2+3.872983346207417*f[43]*hamil[112]*rdvy2+3.872983346207417*f[41]*hamil[111]*rdvy2+3.872983346207417*f[40]*hamil[110]*rdvy2+3.872983346207417*f[39]*hamil[109]*rdvy2+3.872983346207417*f[38]*hamil[108]*rdvy2+3.872983346207417*f[31]*hamil[107]*rdvy2+3.872983346207417*f[30]*hamil[106]*rdvy2+3.872983346207417*f[29]*hamil[105]*rdvy2+3.872983346207417*f[28]*hamil[104]*rdvy2+3.872983346207417*f[27]*hamil[103]*rdvy2+3.872983346207417*f[26]*hamil[102]*rdvy2+3.872983346207417*f[21]*hamil[101]*rdvy2+3.872983346207417*f[16]*hamil[100]*rdvy2+3.872983346207417*f[15]*hamil[99]*rdvy2+3.872983346207417*f[14]*hamil[98]*rdvy2+3.872983346207417*f[13]*hamil[97]*rdvy2+3.872983346207417*f[5]*hamil[96]*rdvy2+1.732050807568877*f[91]*hamil[95]*rdvy2+1.732050807568877*f[86]*hamil[94]*rdvy2+1.732050807568877*f[85]*hamil[93]*rdvy2+1.732050807568877*f[84]*hamil[92]*rdvy2+1.732050807568877*f[80]*hamil[90]*rdvy2+1.732050807568877*f[78]*hamil[89]*rdvy2+1.732050807568877*f[77]*hamil[88]*rdvy2+1.732050807568877*f[76]*hamil[87]*rdvy2+1.732050807568877*f[72]*hamil[83]*rdvy2+1.732050807568877*f[71]*hamil[82]*rdvy2+1.732050807568877*f[70]*hamil[81]*rdvy2+1.732050807568877*f[69]*hamil[79]*rdvy2+1.732050807568877*f[67]*hamil[75]*rdvy2+1.732050807568877*f[66]*hamil[74]*rdvy2+1.732050807568877*f[65]*hamil[73]*rdvy2+1.732050807568877*f[64]*hamil[68]*rdvy2+1.732050807568877*f[58]*hamil[63]*rdvy2+1.732050807568877*f[50]*hamil[62]*rdvy2+1.732050807568877*f[49]*hamil[61]*rdvy2+1.732050807568877*f[48]*hamil[60]*rdvy2+1.732050807568877*f[47]*hamil[59]*rdvy2+1.732050807568877*f[42]*hamil[57]*rdvy2+1.732050807568877*f[37]*hamil[56]*rdvy2+1.732050807568877*f[36]*hamil[55]*rdvy2+1.732050807568877*f[35]*hamil[54]*rdvy2+1.732050807568877*f[34]*hamil[53]*rdvy2+1.732050807568877*f[33]*hamil[52]*rdvy2+1.732050807568877*f[32]*hamil[51]*rdvy2+1.732050807568877*f[25]*hamil[46]*rdvy2+1.732050807568877*f[24]*hamil[45]*rdvy2+1.732050807568877*f[23]*hamil[44]*rdvy2+1.732050807568877*f[22]*hamil[43]*rdvy2+1.732050807568877*f[20]*hamil[41]*rdvy2+1.732050807568877*f[19]*hamil[40]*rdvy2+1.732050807568877*f[18]*hamil[39]*rdvy2+1.732050807568877*f[17]*hamil[38]*rdvy2+1.732050807568877*f[12]*hamil[31]*rdvy2+1.732050807568877*f[11]*hamil[30]*rdvy2+1.732050807568877*f[10]*hamil[29]*rdvy2+1.732050807568877*f[9]*hamil[28]*rdvy2+1.732050807568877*f[8]*hamil[27]*rdvy2+1.732050807568877*f[7]*hamil[26]*rdvy2+1.732050807568877*f[6]*hamil[21]*rdvy2+1.732050807568877*f[4]*hamil[16]*rdvy2+1.732050807568877*f[3]*hamil[15]*rdvy2+1.732050807568877*f[2]*hamil[14]*rdvy2+1.732050807568877*f[1]*hamil[13]*rdvy2+1.732050807568877*f[0]*hamil[5]*rdvy2)*volFact; + out[3] += (3.872983346207417*f[63]*hamil[159]*rdvz2+3.872983346207417*f[62]*hamil[158]*rdvz2+3.872983346207417*f[61]*hamil[157]*rdvz2+3.872983346207417*f[60]*hamil[156]*rdvz2+3.872983346207417*f[59]*hamil[155]*rdvz2+3.872983346207417*f[58]*hamil[154]*rdvz2+3.872983346207417*f[56]*hamil[153]*rdvz2+3.872983346207417*f[55]*hamil[152]*rdvz2+3.872983346207417*f[54]*hamil[151]*rdvz2+3.872983346207417*f[53]*hamil[150]*rdvz2+3.872983346207417*f[52]*hamil[149]*rdvz2+3.872983346207417*f[51]*hamil[148]*rdvz2+3.872983346207417*f[50]*hamil[147]*rdvz2+3.872983346207417*f[49]*hamil[146]*rdvz2+3.872983346207417*f[48]*hamil[145]*rdvz2+3.872983346207417*f[47]*hamil[144]*rdvz2+3.872983346207417*f[41]*hamil[143]*rdvz2+3.872983346207417*f[40]*hamil[142]*rdvz2+3.872983346207417*f[39]*hamil[141]*rdvz2+3.872983346207417*f[38]*hamil[140]*rdvz2+3.872983346207417*f[37]*hamil[139]*rdvz2+3.872983346207417*f[36]*hamil[138]*rdvz2+3.872983346207417*f[35]*hamil[137]*rdvz2+3.872983346207417*f[34]*hamil[136]*rdvz2+3.872983346207417*f[33]*hamil[135]*rdvz2+3.872983346207417*f[32]*hamil[134]*rdvz2+3.872983346207417*f[21]*hamil[133]*rdvz2+3.872983346207417*f[20]*hamil[132]*rdvz2+3.872983346207417*f[19]*hamil[131]*rdvz2+3.872983346207417*f[18]*hamil[130]*rdvz2+3.872983346207417*f[17]*hamil[129]*rdvz2+3.872983346207417*f[6]*hamil[128]*rdvz2+1.732050807568877*f[122]*hamil[127]*rdvz2+1.732050807568877*f[115]*hamil[126]*rdvz2+1.732050807568877*f[114]*hamil[125]*rdvz2+1.732050807568877*f[113]*hamil[124]*rdvz2+1.732050807568877*f[112]*hamil[123]*rdvz2+1.732050807568877*f[107]*hamil[121]*rdvz2+1.732050807568877*f[106]*hamil[120]*rdvz2+1.732050807568877*f[105]*hamil[119]*rdvz2+1.732050807568877*f[104]*hamil[118]*rdvz2+1.732050807568877*f[103]*hamil[117]*rdvz2+1.732050807568877*f[102]*hamil[116]*rdvz2+1.732050807568877*f[100]*hamil[111]*rdvz2+1.732050807568877*f[99]*hamil[110]*rdvz2+1.732050807568877*f[98]*hamil[109]*rdvz2+1.732050807568877*f[97]*hamil[108]*rdvz2+1.732050807568877*f[96]*hamil[101]*rdvz2+1.732050807568877*f[90]*hamil[95]*rdvz2+1.732050807568877*f[83]*hamil[94]*rdvz2+1.732050807568877*f[82]*hamil[93]*rdvz2+1.732050807568877*f[81]*hamil[92]*rdvz2+1.732050807568877*f[80]*hamil[91]*rdvz2+1.732050807568877*f[75]*hamil[89]*rdvz2+1.732050807568877*f[74]*hamil[88]*rdvz2+1.732050807568877*f[73]*hamil[87]*rdvz2+1.732050807568877*f[72]*hamil[86]*rdvz2+1.732050807568877*f[71]*hamil[85]*rdvz2+1.732050807568877*f[70]*hamil[84]*rdvz2+1.732050807568877*f[68]*hamil[79]*rdvz2+1.732050807568877*f[67]*hamil[78]*rdvz2+1.732050807568877*f[66]*hamil[77]*rdvz2+1.732050807568877*f[65]*hamil[76]*rdvz2+1.732050807568877*f[64]*hamil[69]*rdvz2+1.732050807568877*f[57]*hamil[63]*rdvz2+1.732050807568877*f[46]*hamil[62]*rdvz2+1.732050807568877*f[45]*hamil[61]*rdvz2+1.732050807568877*f[44]*hamil[60]*rdvz2+1.732050807568877*f[43]*hamil[59]*rdvz2+1.732050807568877*f[42]*hamil[58]*rdvz2+1.732050807568877*f[31]*hamil[56]*rdvz2+1.732050807568877*f[30]*hamil[55]*rdvz2+1.732050807568877*f[29]*hamil[54]*rdvz2+1.732050807568877*f[28]*hamil[53]*rdvz2+1.732050807568877*f[27]*hamil[52]*rdvz2+1.732050807568877*f[26]*hamil[51]*rdvz2+1.732050807568877*f[25]*hamil[50]*rdvz2+1.732050807568877*f[24]*hamil[49]*rdvz2+1.732050807568877*f[23]*hamil[48]*rdvz2+1.732050807568877*f[22]*hamil[47]*rdvz2+1.732050807568877*f[16]*hamil[41]*rdvz2+1.732050807568877*f[15]*hamil[40]*rdvz2+1.732050807568877*f[14]*hamil[39]*rdvz2+1.732050807568877*f[13]*hamil[38]*rdvz2+1.732050807568877*f[12]*hamil[37]*rdvz2+1.732050807568877*f[11]*hamil[36]*rdvz2+1.732050807568877*f[10]*hamil[35]*rdvz2+1.732050807568877*f[9]*hamil[34]*rdvz2+1.732050807568877*f[8]*hamil[33]*rdvz2+1.732050807568877*f[7]*hamil[32]*rdvz2+1.732050807568877*f[5]*hamil[21]*rdvz2+1.732050807568877*f[4]*hamil[20]*rdvz2+1.732050807568877*f[3]*hamil[19]*rdvz2+1.732050807568877*f[2]*hamil[18]*rdvz2+1.732050807568877*f[1]*hamil[17]*rdvz2+1.732050807568877*f[0]*hamil[6]*rdvz2)*volFact; + out[4] += (f[159]*hamil[159]+f[158]*hamil[158]+f[157]*hamil[157]+f[156]*hamil[156]+f[155]*hamil[155]+f[154]*hamil[154]+f[153]*hamil[153]+f[152]*hamil[152]+f[151]*hamil[151]+f[150]*hamil[150]+f[149]*hamil[149]+f[148]*hamil[148]+f[147]*hamil[147]+f[146]*hamil[146]+f[145]*hamil[145]+f[144]*hamil[144]+f[143]*hamil[143]+f[142]*hamil[142]+f[141]*hamil[141]+f[140]*hamil[140]+f[139]*hamil[139]+f[138]*hamil[138]+f[137]*hamil[137]+f[136]*hamil[136]+f[135]*hamil[135]+f[134]*hamil[134]+f[133]*hamil[133]+f[132]*hamil[132]+f[131]*hamil[131]+f[130]*hamil[130]+f[129]*hamil[129]+f[128]*hamil[128]+f[127]*hamil[127]+f[126]*hamil[126]+f[125]*hamil[125]+f[124]*hamil[124]+f[123]*hamil[123]+f[122]*hamil[122]+f[121]*hamil[121]+f[120]*hamil[120]+f[119]*hamil[119]+f[118]*hamil[118]+f[117]*hamil[117]+f[116]*hamil[116]+f[115]*hamil[115]+f[114]*hamil[114]+f[113]*hamil[113]+f[112]*hamil[112]+f[111]*hamil[111]+f[110]*hamil[110]+f[109]*hamil[109]+f[108]*hamil[108]+f[107]*hamil[107]+f[106]*hamil[106]+f[105]*hamil[105]+f[104]*hamil[104]+f[103]*hamil[103]+f[102]*hamil[102]+f[101]*hamil[101]+f[100]*hamil[100]+f[99]*hamil[99]+f[98]*hamil[98]+f[97]*hamil[97]+f[96]*hamil[96]+f[95]*hamil[95]+f[94]*hamil[94]+f[93]*hamil[93]+f[92]*hamil[92]+f[91]*hamil[91]+f[90]*hamil[90]+f[89]*hamil[89]+f[88]*hamil[88]+f[87]*hamil[87]+f[86]*hamil[86]+f[85]*hamil[85]+f[84]*hamil[84]+f[83]*hamil[83]+f[82]*hamil[82]+f[81]*hamil[81]+f[80]*hamil[80]+f[79]*hamil[79]+f[78]*hamil[78]+f[77]*hamil[77]+f[76]*hamil[76]+f[75]*hamil[75]+f[74]*hamil[74]+f[73]*hamil[73]+f[72]*hamil[72]+f[71]*hamil[71]+f[70]*hamil[70]+f[69]*hamil[69]+f[68]*hamil[68]+f[67]*hamil[67]+f[66]*hamil[66]+f[65]*hamil[65]+f[64]*hamil[64]+f[63]*hamil[63]+f[62]*hamil[62]+f[61]*hamil[61]+f[60]*hamil[60]+f[59]*hamil[59]+f[58]*hamil[58]+f[57]*hamil[57]+f[56]*hamil[56]+f[55]*hamil[55]+f[54]*hamil[54]+f[53]*hamil[53]+f[52]*hamil[52]+f[51]*hamil[51]+f[50]*hamil[50]+f[49]*hamil[49]+f[48]*hamil[48]+f[47]*hamil[47]+f[46]*hamil[46]+f[45]*hamil[45]+f[44]*hamil[44]+f[43]*hamil[43]+f[42]*hamil[42]+f[41]*hamil[41]+f[40]*hamil[40]+f[39]*hamil[39]+f[38]*hamil[38]+f[37]*hamil[37]+f[36]*hamil[36]+f[35]*hamil[35]+f[34]*hamil[34]+f[33]*hamil[33]+f[32]*hamil[32]+f[31]*hamil[31]+f[30]*hamil[30]+f[29]*hamil[29]+f[28]*hamil[28]+f[27]*hamil[27]+f[26]*hamil[26]+f[25]*hamil[25]+f[24]*hamil[24]+f[23]*hamil[23]+f[22]*hamil[22]+f[21]*hamil[21]+f[20]*hamil[20]+f[19]*hamil[19]+f[18]*hamil[18]+f[17]*hamil[17]+f[16]*hamil[16]+f[15]*hamil[15]+f[14]*hamil[14]+f[13]*hamil[13]+f[12]*hamil[12]+f[11]*hamil[11]+f[10]*hamil[10]+f[9]*hamil[9]+f[8]*hamil[8]+f[7]*hamil[7]+f[6]*hamil[6]+f[5]*hamil[5]+f[4]*hamil[4]+f[3]*hamil[3]+f[2]*hamil[2]+f[1]*hamil[1]+f[0]*hamil[0])*volFact; } diff --git a/zero/mom_canonical_pb.c b/zero/mom_canonical_pb.c index d6c889cda..fb046af76 100644 --- a/zero/mom_canonical_pb.c +++ b/zero/mom_canonical_pb.c @@ -129,7 +129,7 @@ gkyl_int_mom_canonical_pb_new(const struct gkyl_basis* cbasis, const struct gkyl assert(cv_index[cdim].vdim[vdim] != -1); assert(NULL != int_mom_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]); mom_can_pb->momt.kernel = int_mom_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - mom_can_pb->momt.num_mom = 1; + mom_can_pb->momt.num_mom = vdim+2; mom_can_pb->phase_range = *phase_range; From 3549f40cff2282ac81dfc5e10f17b0dc506bfec3 Mon Sep 17 00:00:00 2001 From: johnson452 Date: Tue, 17 Sep 2024 16:24:42 -0400 Subject: [PATCH 08/16] Working energy conserving BGK collisions for can-pb with polynomial order 2 --- apps/vm_species_lte.c | 2 + apps/vm_species_moment.c | 1 + apps/vm_species_projection.c | 2 + .../canonical_pb_vars_pressure_1x_ser_p1.c | 21 +-- .../canonical_pb_vars_pressure_1x_ser_p2.c | 25 ++- .../canonical_pb_vars_pressure_2x_ser_p1.c | 53 +++---- .../canonical_pb_vars_pressure_2x_ser_p2.c | 85 +++++----- .../canonical_pb_vars_pressure_3x_ser_p1.c | 145 +++++++----------- .../rt_can_pb_bgk_surf_annulus_sodshock_im.c | 2 +- unit/ctest_canonical_pb_equilibrium.c | 60 ++++++-- zero/dg_calc_canonical_pb_vars.c | 8 +- zero/gkyl_dg_calc_canonical_pb_vars_priv.h | 2 +- zero/gkyl_vlasov_lte_correct.h | 5 +- zero/gkyl_vlasov_lte_moments.h | 1 + zero/gkyl_vlasov_lte_moments_priv.h | 2 +- zero/gkyl_vlasov_lte_proj_on_basis.h | 5 +- zero/vlasov_lte_correct.c | 2 + zero/vlasov_lte_moments.c | 21 +-- zero/vlasov_lte_proj_on_basis.c | 1 + 19 files changed, 205 insertions(+), 238 deletions(-) diff --git a/apps/vm_species_lte.c b/apps/vm_species_lte.c index cb1b346cb..d7961f57e 100644 --- a/apps/vm_species_lte.c +++ b/apps/vm_species_lte.c @@ -24,6 +24,7 @@ vm_species_lte_init(struct gkyl_vlasov_app *app, struct vm_species *s, struct vm .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, .det_h = s->det_h, + .hamil = s->hamil, .model_id = s->model_id, .use_gpu = app->use_gpu, }; @@ -49,6 +50,7 @@ vm_species_lte_init(struct gkyl_vlasov_app *app, struct vm_species *s, struct vm .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, .det_h = s->det_h, + .hamil = s->hamil, .model_id = s->model_id, .use_gpu = app->use_gpu, .max_iter = max_iter, diff --git a/apps/vm_species_moment.c b/apps/vm_species_moment.c index 3f5a6cdc8..f22965540 100644 --- a/apps/vm_species_moment.c +++ b/apps/vm_species_moment.c @@ -28,6 +28,7 @@ vm_species_moment_init(struct gkyl_vlasov_app *app, struct vm_species *s, .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, .det_h = s->det_h, + .hamil = s->hamil, .model_id = s->model_id, .use_gpu = app->use_gpu, }; diff --git a/apps/vm_species_projection.c b/apps/vm_species_projection.c index 0a567de04..8ec454ab1 100644 --- a/apps/vm_species_projection.c +++ b/apps/vm_species_projection.c @@ -52,6 +52,7 @@ vm_species_projection_init(struct gkyl_vlasov_app *app, struct vm_species *s, .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, .det_h = s->det_h, + .hamil = s->hamil, .model_id = s->model_id, .use_gpu = app->use_gpu, }; @@ -79,6 +80,7 @@ vm_species_projection_init(struct gkyl_vlasov_app *app, struct vm_species *s, .gamma_inv = s->gamma_inv, .h_ij_inv = s->h_ij_inv, .det_h = s->det_h, + .hamil = s->hamil, .model_id = s->model_id, .use_gpu = app->use_gpu, .max_iter = max_iter, diff --git a/kernels/canonical_pb/canonical_pb_vars_pressure_1x_ser_p1.c b/kernels/canonical_pb/canonical_pb_vars_pressure_1x_ser_p1.c index a9e761b33..1a77e4d88 100644 --- a/kernels/canonical_pb/canonical_pb_vars_pressure_1x_ser_p1.c +++ b/kernels/canonical_pb/canonical_pb_vars_pressure_1x_ser_p1.c @@ -1,15 +1,12 @@ #include #include -GKYL_CU_DH void canonical_pb_vars_pressure_1x_ser_p1(const double *h_ij_inv, const double *M2_ij, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) +GKYL_CU_DH void canonical_pb_vars_pressure_1x_ser_p1(const double *h_ij_inv, const double *MEnergy, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) { // h_ij_inv: Input volume expansion of the inverse metric tensor. // [Hxx, Hxy, Hxz, // Hxy, Hyy, Hyz, // Hxz, Hyz, Hzz] - // M2_ij: Input volume expansion of the M2_ij moment. - // [M2xx, M2xy, M2xz, - // M2xy, M2yy, M2yz, - // M2xz, M2yz, M2zz] + // MEnergy: Input volume expansion of the MEnergy moment. // v_j: Input volume expansion of V_drift. // [vx, vy, vz] // nv_i: Input volume expansion of M1i = N*Vdrift. @@ -20,23 +17,19 @@ GKYL_CU_DH void canonical_pb_vars_pressure_1x_ser_p1(const double *h_ij_inv, con const double *Vx = &v_j[0]; - const double *M2xx = &M2_ij[0]; + const double *energy = &MEnergy[0]; const double *Hxx = &h_ij_inv[0]; - // h^{ij}M2_ij - double Hxx_M2xx[2] = {0.0}; - binop_mul_1d_ser_p1(Hxx, M2xx, Hxx_M2xx); - // h^{ij}*nv_i*v_j double Hxx_M1x[2] = {0.0}; double Hxx_M1x_Vx[2] = {0.0}; binop_mul_1d_ser_p1(Hxx, NVx, Hxx_M1x); binop_mul_1d_ser_p1(Hxx_M1x, Vx, Hxx_M1x_Vx); - d_Jv_P[0] = 0.0; - d_Jv_P[0] += Hxx_M2xx[0] - Hxx_M1x_Vx[0]; - d_Jv_P[1] = 0.0; - d_Jv_P[1] += Hxx_M2xx[1] - Hxx_M1x_Vx[1]; + d_Jv_P[0] = 2.0*energy[0]; + d_Jv_P[0] += - Hxx_M1x_Vx[0]; + d_Jv_P[1] = 2.0*energy[1]; + d_Jv_P[1] += - Hxx_M1x_Vx[1]; } diff --git a/kernels/canonical_pb/canonical_pb_vars_pressure_1x_ser_p2.c b/kernels/canonical_pb/canonical_pb_vars_pressure_1x_ser_p2.c index 0bd73d444..01a1b3038 100644 --- a/kernels/canonical_pb/canonical_pb_vars_pressure_1x_ser_p2.c +++ b/kernels/canonical_pb/canonical_pb_vars_pressure_1x_ser_p2.c @@ -1,15 +1,12 @@ #include #include -GKYL_CU_DH void canonical_pb_vars_pressure_1x_ser_p2(const double *h_ij_inv, const double *M2_ij, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) +GKYL_CU_DH void canonical_pb_vars_pressure_1x_ser_p2(const double *h_ij_inv, const double *MEnergy, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) { // h_ij_inv: Input volume expansion of the inverse metric tensor. // [Hxx, Hxy, Hxz, // Hxy, Hyy, Hyz, // Hxz, Hyz, Hzz] - // M2_ij: Input volume expansion of the M2_ij moment. - // [M2xx, M2xy, M2xz, - // M2xy, M2yy, M2yz, - // M2xz, M2yz, M2zz] + // MEnergy: Input volume expansion of the MEnergy moment. // v_j: Input volume expansion of V_drift. // [vx, vy, vz] // nv_i: Input volume expansion of M1i = N*Vdrift. @@ -20,25 +17,21 @@ GKYL_CU_DH void canonical_pb_vars_pressure_1x_ser_p2(const double *h_ij_inv, con const double *Vx = &v_j[0]; - const double *M2xx = &M2_ij[0]; + const double *energy = &MEnergy[0]; const double *Hxx = &h_ij_inv[0]; - // h^{ij}M2_ij - double Hxx_M2xx[3] = {0.0}; - binop_mul_1d_ser_p2(Hxx, M2xx, Hxx_M2xx); - // h^{ij}*nv_i*v_j double Hxx_M1x[3] = {0.0}; double Hxx_M1x_Vx[3] = {0.0}; binop_mul_1d_ser_p2(Hxx, NVx, Hxx_M1x); binop_mul_1d_ser_p2(Hxx_M1x, Vx, Hxx_M1x_Vx); - d_Jv_P[0] = 0.0; - d_Jv_P[0] += Hxx_M2xx[0] - Hxx_M1x_Vx[0]; - d_Jv_P[1] = 0.0; - d_Jv_P[1] += Hxx_M2xx[1] - Hxx_M1x_Vx[1]; - d_Jv_P[2] = 0.0; - d_Jv_P[2] += Hxx_M2xx[2] - Hxx_M1x_Vx[2]; + d_Jv_P[0] = 2.0*energy[0]; + d_Jv_P[0] += - Hxx_M1x_Vx[0]; + d_Jv_P[1] = 2.0*energy[1]; + d_Jv_P[1] += - Hxx_M1x_Vx[1]; + d_Jv_P[2] = 2.0*energy[2]; + d_Jv_P[2] += - Hxx_M1x_Vx[2]; } diff --git a/kernels/canonical_pb/canonical_pb_vars_pressure_2x_ser_p1.c b/kernels/canonical_pb/canonical_pb_vars_pressure_2x_ser_p1.c index af6c12321..37041ddd9 100644 --- a/kernels/canonical_pb/canonical_pb_vars_pressure_2x_ser_p1.c +++ b/kernels/canonical_pb/canonical_pb_vars_pressure_2x_ser_p1.c @@ -1,15 +1,12 @@ #include #include -GKYL_CU_DH void canonical_pb_vars_pressure_2x_ser_p1(const double *h_ij_inv, const double *M2_ij, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) +GKYL_CU_DH void canonical_pb_vars_pressure_2x_ser_p1(const double *h_ij_inv, const double *MEnergy, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) { // h_ij_inv: Input volume expansion of the inverse metric tensor. // [Hxx, Hxy, Hxz, // Hxy, Hyy, Hyz, // Hxz, Hyz, Hzz] - // M2_ij: Input volume expansion of the M2_ij moment. - // [M2xx, M2xy, M2xz, - // M2xy, M2yy, M2yz, - // M2xz, M2yz, M2zz] + // MEnergy: Input volume expansion of the MEnergy moment. // v_j: Input volume expansion of V_drift. // [vx, vy, vz] // nv_i: Input volume expansion of M1i = N*Vdrift. @@ -22,24 +19,12 @@ GKYL_CU_DH void canonical_pb_vars_pressure_2x_ser_p1(const double *h_ij_inv, con const double *Vx = &v_j[0]; const double *Vy = &v_j[4]; - const double *M2xx = &M2_ij[0]; - const double *M2xy = &M2_ij[4]; - const double *M2yy = &M2_ij[8]; + const double *energy = &MEnergy[0]; const double *Hxx = &h_ij_inv[0]; const double *Hxy = &h_ij_inv[4]; const double *Hyy = &h_ij_inv[8]; - // h^{ij}M2_ij - double Hxx_M2xx[4] = {0.0}; - binop_mul_2d_ser_p1(Hxx, M2xx, Hxx_M2xx); - - double Hxy_M2xy[4] = {0.0}; - binop_mul_2d_ser_p1(Hxy, M2xy, Hxy_M2xy); - - double Hyy_M2yy[4] = {0.0}; - binop_mul_2d_ser_p1(Hyy, M2yy, Hyy_M2yy); - // h^{ij}*nv_i*v_j double Hxx_M1x[4] = {0.0}; double Hxx_M1x_Vx[4] = {0.0}; @@ -56,21 +41,21 @@ GKYL_CU_DH void canonical_pb_vars_pressure_2x_ser_p1(const double *h_ij_inv, con binop_mul_2d_ser_p1(Hyy, NVy, Hyy_M1y); binop_mul_2d_ser_p1(Hyy_M1y, Vy, Hyy_M1y_Vy); - d_Jv_P[0] = 0.0; - d_Jv_P[0] += Hxx_M2xx[0] - Hxx_M1x_Vx[0]; - d_Jv_P[0] += (Hxy_M2xy[0] - Hxy_M1x_Vy[0])*2.0; - d_Jv_P[0] += Hyy_M2yy[0] - Hyy_M1y_Vy[0]; - d_Jv_P[1] = 0.0; - d_Jv_P[1] += Hxx_M2xx[1] - Hxx_M1x_Vx[1]; - d_Jv_P[1] += (Hxy_M2xy[1] - Hxy_M1x_Vy[1])*2.0; - d_Jv_P[1] += Hyy_M2yy[1] - Hyy_M1y_Vy[1]; - d_Jv_P[2] = 0.0; - d_Jv_P[2] += Hxx_M2xx[2] - Hxx_M1x_Vx[2]; - d_Jv_P[2] += (Hxy_M2xy[2] - Hxy_M1x_Vy[2])*2.0; - d_Jv_P[2] += Hyy_M2yy[2] - Hyy_M1y_Vy[2]; - d_Jv_P[3] = 0.0; - d_Jv_P[3] += Hxx_M2xx[3] - Hxx_M1x_Vx[3]; - d_Jv_P[3] += (Hxy_M2xy[3] - Hxy_M1x_Vy[3])*2.0; - d_Jv_P[3] += Hyy_M2yy[3] - Hyy_M1y_Vy[3]; + d_Jv_P[0] = 2.0*energy[0]; + d_Jv_P[0] += - Hxx_M1x_Vx[0]; + d_Jv_P[0] += (- Hxy_M1x_Vy[0])*2.0; + d_Jv_P[0] += - Hyy_M1y_Vy[0]; + d_Jv_P[1] = 2.0*energy[1]; + d_Jv_P[1] += - Hxx_M1x_Vx[1]; + d_Jv_P[1] += (- Hxy_M1x_Vy[1])*2.0; + d_Jv_P[1] += - Hyy_M1y_Vy[1]; + d_Jv_P[2] = 2.0*energy[2]; + d_Jv_P[2] += - Hxx_M1x_Vx[2]; + d_Jv_P[2] += (- Hxy_M1x_Vy[2])*2.0; + d_Jv_P[2] += - Hyy_M1y_Vy[2]; + d_Jv_P[3] = 2.0*energy[3]; + d_Jv_P[3] += - Hxx_M1x_Vx[3]; + d_Jv_P[3] += (- Hxy_M1x_Vy[3])*2.0; + d_Jv_P[3] += - Hyy_M1y_Vy[3]; } diff --git a/kernels/canonical_pb/canonical_pb_vars_pressure_2x_ser_p2.c b/kernels/canonical_pb/canonical_pb_vars_pressure_2x_ser_p2.c index 14bf9f6ca..8230d0a43 100644 --- a/kernels/canonical_pb/canonical_pb_vars_pressure_2x_ser_p2.c +++ b/kernels/canonical_pb/canonical_pb_vars_pressure_2x_ser_p2.c @@ -1,15 +1,12 @@ #include #include -GKYL_CU_DH void canonical_pb_vars_pressure_2x_ser_p2(const double *h_ij_inv, const double *M2_ij, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) +GKYL_CU_DH void canonical_pb_vars_pressure_2x_ser_p2(const double *h_ij_inv, const double *MEnergy, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) { // h_ij_inv: Input volume expansion of the inverse metric tensor. // [Hxx, Hxy, Hxz, // Hxy, Hyy, Hyz, // Hxz, Hyz, Hzz] - // M2_ij: Input volume expansion of the M2_ij moment. - // [M2xx, M2xy, M2xz, - // M2xy, M2yy, M2yz, - // M2xz, M2yz, M2zz] + // MEnergy: Input volume expansion of the MEnergy moment. // v_j: Input volume expansion of V_drift. // [vx, vy, vz] // nv_i: Input volume expansion of M1i = N*Vdrift. @@ -22,24 +19,12 @@ GKYL_CU_DH void canonical_pb_vars_pressure_2x_ser_p2(const double *h_ij_inv, con const double *Vx = &v_j[0]; const double *Vy = &v_j[8]; - const double *M2xx = &M2_ij[0]; - const double *M2xy = &M2_ij[8]; - const double *M2yy = &M2_ij[16]; + const double *energy = &MEnergy[0]; const double *Hxx = &h_ij_inv[0]; const double *Hxy = &h_ij_inv[8]; const double *Hyy = &h_ij_inv[16]; - // h^{ij}M2_ij - double Hxx_M2xx[8] = {0.0}; - binop_mul_2d_ser_p2(Hxx, M2xx, Hxx_M2xx); - - double Hxy_M2xy[8] = {0.0}; - binop_mul_2d_ser_p2(Hxy, M2xy, Hxy_M2xy); - - double Hyy_M2yy[8] = {0.0}; - binop_mul_2d_ser_p2(Hyy, M2yy, Hyy_M2yy); - // h^{ij}*nv_i*v_j double Hxx_M1x[8] = {0.0}; double Hxx_M1x_Vx[8] = {0.0}; @@ -56,37 +41,37 @@ GKYL_CU_DH void canonical_pb_vars_pressure_2x_ser_p2(const double *h_ij_inv, con binop_mul_2d_ser_p2(Hyy, NVy, Hyy_M1y); binop_mul_2d_ser_p2(Hyy_M1y, Vy, Hyy_M1y_Vy); - d_Jv_P[0] = 0.0; - d_Jv_P[0] += Hxx_M2xx[0] - Hxx_M1x_Vx[0]; - d_Jv_P[0] += (Hxy_M2xy[0] - Hxy_M1x_Vy[0])*2.0; - d_Jv_P[0] += Hyy_M2yy[0] - Hyy_M1y_Vy[0]; - d_Jv_P[1] = 0.0; - d_Jv_P[1] += Hxx_M2xx[1] - Hxx_M1x_Vx[1]; - d_Jv_P[1] += (Hxy_M2xy[1] - Hxy_M1x_Vy[1])*2.0; - d_Jv_P[1] += Hyy_M2yy[1] - Hyy_M1y_Vy[1]; - d_Jv_P[2] = 0.0; - d_Jv_P[2] += Hxx_M2xx[2] - Hxx_M1x_Vx[2]; - d_Jv_P[2] += (Hxy_M2xy[2] - Hxy_M1x_Vy[2])*2.0; - d_Jv_P[2] += Hyy_M2yy[2] - Hyy_M1y_Vy[2]; - d_Jv_P[3] = 0.0; - d_Jv_P[3] += Hxx_M2xx[3] - Hxx_M1x_Vx[3]; - d_Jv_P[3] += (Hxy_M2xy[3] - Hxy_M1x_Vy[3])*2.0; - d_Jv_P[3] += Hyy_M2yy[3] - Hyy_M1y_Vy[3]; - d_Jv_P[4] = 0.0; - d_Jv_P[4] += Hxx_M2xx[4] - Hxx_M1x_Vx[4]; - d_Jv_P[4] += (Hxy_M2xy[4] - Hxy_M1x_Vy[4])*2.0; - d_Jv_P[4] += Hyy_M2yy[4] - Hyy_M1y_Vy[4]; - d_Jv_P[5] = 0.0; - d_Jv_P[5] += Hxx_M2xx[5] - Hxx_M1x_Vx[5]; - d_Jv_P[5] += (Hxy_M2xy[5] - Hxy_M1x_Vy[5])*2.0; - d_Jv_P[5] += Hyy_M2yy[5] - Hyy_M1y_Vy[5]; - d_Jv_P[6] = 0.0; - d_Jv_P[6] += Hxx_M2xx[6] - Hxx_M1x_Vx[6]; - d_Jv_P[6] += (Hxy_M2xy[6] - Hxy_M1x_Vy[6])*2.0; - d_Jv_P[6] += Hyy_M2yy[6] - Hyy_M1y_Vy[6]; - d_Jv_P[7] = 0.0; - d_Jv_P[7] += Hxx_M2xx[7] - Hxx_M1x_Vx[7]; - d_Jv_P[7] += (Hxy_M2xy[7] - Hxy_M1x_Vy[7])*2.0; - d_Jv_P[7] += Hyy_M2yy[7] - Hyy_M1y_Vy[7]; + d_Jv_P[0] = 2.0*energy[0]; + d_Jv_P[0] += - Hxx_M1x_Vx[0]; + d_Jv_P[0] += (- Hxy_M1x_Vy[0])*2.0; + d_Jv_P[0] += - Hyy_M1y_Vy[0]; + d_Jv_P[1] = 2.0*energy[1]; + d_Jv_P[1] += - Hxx_M1x_Vx[1]; + d_Jv_P[1] += (- Hxy_M1x_Vy[1])*2.0; + d_Jv_P[1] += - Hyy_M1y_Vy[1]; + d_Jv_P[2] = 2.0*energy[2]; + d_Jv_P[2] += - Hxx_M1x_Vx[2]; + d_Jv_P[2] += (- Hxy_M1x_Vy[2])*2.0; + d_Jv_P[2] += - Hyy_M1y_Vy[2]; + d_Jv_P[3] = 2.0*energy[3]; + d_Jv_P[3] += - Hxx_M1x_Vx[3]; + d_Jv_P[3] += (- Hxy_M1x_Vy[3])*2.0; + d_Jv_P[3] += - Hyy_M1y_Vy[3]; + d_Jv_P[4] = 2.0*energy[4]; + d_Jv_P[4] += - Hxx_M1x_Vx[4]; + d_Jv_P[4] += (- Hxy_M1x_Vy[4])*2.0; + d_Jv_P[4] += - Hyy_M1y_Vy[4]; + d_Jv_P[5] = 2.0*energy[5]; + d_Jv_P[5] += - Hxx_M1x_Vx[5]; + d_Jv_P[5] += (- Hxy_M1x_Vy[5])*2.0; + d_Jv_P[5] += - Hyy_M1y_Vy[5]; + d_Jv_P[6] = 2.0*energy[6]; + d_Jv_P[6] += - Hxx_M1x_Vx[6]; + d_Jv_P[6] += (- Hxy_M1x_Vy[6])*2.0; + d_Jv_P[6] += - Hyy_M1y_Vy[6]; + d_Jv_P[7] = 2.0*energy[7]; + d_Jv_P[7] += - Hxx_M1x_Vx[7]; + d_Jv_P[7] += (- Hxy_M1x_Vy[7])*2.0; + d_Jv_P[7] += - Hyy_M1y_Vy[7]; } diff --git a/kernels/canonical_pb/canonical_pb_vars_pressure_3x_ser_p1.c b/kernels/canonical_pb/canonical_pb_vars_pressure_3x_ser_p1.c index 64adb2b85..daf0e89f0 100644 --- a/kernels/canonical_pb/canonical_pb_vars_pressure_3x_ser_p1.c +++ b/kernels/canonical_pb/canonical_pb_vars_pressure_3x_ser_p1.c @@ -1,15 +1,12 @@ #include #include -GKYL_CU_DH void canonical_pb_vars_pressure_3x_ser_p1(const double *h_ij_inv, const double *M2_ij, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) +GKYL_CU_DH void canonical_pb_vars_pressure_3x_ser_p1(const double *h_ij_inv, const double *MEnergy, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P) { // h_ij_inv: Input volume expansion of the inverse metric tensor. // [Hxx, Hxy, Hxz, // Hxy, Hyy, Hyz, // Hxz, Hyz, Hzz] - // M2_ij: Input volume expansion of the M2_ij moment. - // [M2xx, M2xy, M2xz, - // M2xy, M2yy, M2yz, - // M2xz, M2yz, M2zz] + // MEnergy: Input volume expansion of the MEnergy moment. // v_j: Input volume expansion of V_drift. // [vx, vy, vz] // nv_i: Input volume expansion of M1i = N*Vdrift. @@ -24,12 +21,7 @@ GKYL_CU_DH void canonical_pb_vars_pressure_3x_ser_p1(const double *h_ij_inv, con const double *Vy = &v_j[8]; const double *Vz = &v_j[16]; - const double *M2xx = &M2_ij[0]; - const double *M2xy = &M2_ij[8]; - const double *M2xz = &M2_ij[16]; - const double *M2yy = &M2_ij[24]; - const double *M2yz = &M2_ij[32]; - const double *M2zz = &M2_ij[40]; + const double *energy = &MEnergy[0]; const double *Hxx = &h_ij_inv[0]; const double *Hxy = &h_ij_inv[8]; @@ -38,25 +30,6 @@ GKYL_CU_DH void canonical_pb_vars_pressure_3x_ser_p1(const double *h_ij_inv, con const double *Hyz = &h_ij_inv[32]; const double *Hzz = &h_ij_inv[40]; - // h^{ij}M2_ij - double Hxx_M2xx[8] = {0.0}; - binop_mul_3d_ser_p1(Hxx, M2xx, Hxx_M2xx); - - double Hxy_M2xy[8] = {0.0}; - binop_mul_3d_ser_p1(Hxy, M2xy, Hxy_M2xy); - - double Hyy_M2yy[8] = {0.0}; - binop_mul_3d_ser_p1(Hyy, M2yy, Hyy_M2yy); - - double Hxz_M2xz[8] = {0.0}; - binop_mul_3d_ser_p1(Hxz, M2xz, Hxz_M2xz); - - double Hyz_M2yz[8] = {0.0}; - binop_mul_3d_ser_p1(Hyz, M2yz, Hyz_M2yz); - - double Hzz_M2zz[8] = {0.0}; - binop_mul_3d_ser_p1(Hzz, M2zz, Hzz_M2zz); - // h^{ij}*nv_i*v_j double Hxx_M1x[8] = {0.0}; double Hxx_M1x_Vx[8] = {0.0}; @@ -88,61 +61,61 @@ GKYL_CU_DH void canonical_pb_vars_pressure_3x_ser_p1(const double *h_ij_inv, con binop_mul_3d_ser_p1(Hzz, NVz, Hzz_M1z); binop_mul_3d_ser_p1(Hzz_M1z, Vz, Hzz_M1z_Vz); - d_Jv_P[0] = 0.0; - d_Jv_P[0] += Hxx_M2xx[0] - Hxx_M1x_Vx[0]; - d_Jv_P[0] += (Hxy_M2xy[0] - Hxy_M1x_Vy[0])*2.0; - d_Jv_P[0] += Hyy_M2yy[0] - Hyy_M1y_Vy[0]; - d_Jv_P[0] += (Hxz_M2xz[0] - Hxz_M1x_Vz[0])*2.0; - d_Jv_P[0] += (Hyz_M2yz[0] - Hyz_M1y_Vz[0])*2.0; - d_Jv_P[0] += Hzz_M2zz[0] - Hzz_M1z_Vz[0]; - d_Jv_P[1] = 0.0; - d_Jv_P[1] += Hxx_M2xx[1] - Hxx_M1x_Vx[1]; - d_Jv_P[1] += (Hxy_M2xy[1] - Hxy_M1x_Vy[1])*2.0; - d_Jv_P[1] += Hyy_M2yy[1] - Hyy_M1y_Vy[1]; - d_Jv_P[1] += (Hxz_M2xz[1] - Hxz_M1x_Vz[1])*2.0; - d_Jv_P[1] += (Hyz_M2yz[1] - Hyz_M1y_Vz[1])*2.0; - d_Jv_P[1] += Hzz_M2zz[1] - Hzz_M1z_Vz[1]; - d_Jv_P[2] = 0.0; - d_Jv_P[2] += Hxx_M2xx[2] - Hxx_M1x_Vx[2]; - d_Jv_P[2] += (Hxy_M2xy[2] - Hxy_M1x_Vy[2])*2.0; - d_Jv_P[2] += Hyy_M2yy[2] - Hyy_M1y_Vy[2]; - d_Jv_P[2] += (Hxz_M2xz[2] - Hxz_M1x_Vz[2])*2.0; - d_Jv_P[2] += (Hyz_M2yz[2] - Hyz_M1y_Vz[2])*2.0; - d_Jv_P[2] += Hzz_M2zz[2] - Hzz_M1z_Vz[2]; - d_Jv_P[3] = 0.0; - d_Jv_P[3] += Hxx_M2xx[3] - Hxx_M1x_Vx[3]; - d_Jv_P[3] += (Hxy_M2xy[3] - Hxy_M1x_Vy[3])*2.0; - d_Jv_P[3] += Hyy_M2yy[3] - Hyy_M1y_Vy[3]; - d_Jv_P[3] += (Hxz_M2xz[3] - Hxz_M1x_Vz[3])*2.0; - d_Jv_P[3] += (Hyz_M2yz[3] - Hyz_M1y_Vz[3])*2.0; - d_Jv_P[3] += Hzz_M2zz[3] - Hzz_M1z_Vz[3]; - d_Jv_P[4] = 0.0; - d_Jv_P[4] += Hxx_M2xx[4] - Hxx_M1x_Vx[4]; - d_Jv_P[4] += (Hxy_M2xy[4] - Hxy_M1x_Vy[4])*2.0; - d_Jv_P[4] += Hyy_M2yy[4] - Hyy_M1y_Vy[4]; - d_Jv_P[4] += (Hxz_M2xz[4] - Hxz_M1x_Vz[4])*2.0; - d_Jv_P[4] += (Hyz_M2yz[4] - Hyz_M1y_Vz[4])*2.0; - d_Jv_P[4] += Hzz_M2zz[4] - Hzz_M1z_Vz[4]; - d_Jv_P[5] = 0.0; - d_Jv_P[5] += Hxx_M2xx[5] - Hxx_M1x_Vx[5]; - d_Jv_P[5] += (Hxy_M2xy[5] - Hxy_M1x_Vy[5])*2.0; - d_Jv_P[5] += Hyy_M2yy[5] - Hyy_M1y_Vy[5]; - d_Jv_P[5] += (Hxz_M2xz[5] - Hxz_M1x_Vz[5])*2.0; - d_Jv_P[5] += (Hyz_M2yz[5] - Hyz_M1y_Vz[5])*2.0; - d_Jv_P[5] += Hzz_M2zz[5] - Hzz_M1z_Vz[5]; - d_Jv_P[6] = 0.0; - d_Jv_P[6] += Hxx_M2xx[6] - Hxx_M1x_Vx[6]; - d_Jv_P[6] += (Hxy_M2xy[6] - Hxy_M1x_Vy[6])*2.0; - d_Jv_P[6] += Hyy_M2yy[6] - Hyy_M1y_Vy[6]; - d_Jv_P[6] += (Hxz_M2xz[6] - Hxz_M1x_Vz[6])*2.0; - d_Jv_P[6] += (Hyz_M2yz[6] - Hyz_M1y_Vz[6])*2.0; - d_Jv_P[6] += Hzz_M2zz[6] - Hzz_M1z_Vz[6]; - d_Jv_P[7] = 0.0; - d_Jv_P[7] += Hxx_M2xx[7] - Hxx_M1x_Vx[7]; - d_Jv_P[7] += (Hxy_M2xy[7] - Hxy_M1x_Vy[7])*2.0; - d_Jv_P[7] += Hyy_M2yy[7] - Hyy_M1y_Vy[7]; - d_Jv_P[7] += (Hxz_M2xz[7] - Hxz_M1x_Vz[7])*2.0; - d_Jv_P[7] += (Hyz_M2yz[7] - Hyz_M1y_Vz[7])*2.0; - d_Jv_P[7] += Hzz_M2zz[7] - Hzz_M1z_Vz[7]; + d_Jv_P[0] = 2.0*energy[0]; + d_Jv_P[0] += - Hxx_M1x_Vx[0]; + d_Jv_P[0] += (- Hxy_M1x_Vy[0])*2.0; + d_Jv_P[0] += - Hyy_M1y_Vy[0]; + d_Jv_P[0] += (- Hxz_M1x_Vz[0])*2.0; + d_Jv_P[0] += (- Hyz_M1y_Vz[0])*2.0; + d_Jv_P[0] += - Hzz_M1z_Vz[0]; + d_Jv_P[1] = 2.0*energy[1]; + d_Jv_P[1] += - Hxx_M1x_Vx[1]; + d_Jv_P[1] += (- Hxy_M1x_Vy[1])*2.0; + d_Jv_P[1] += - Hyy_M1y_Vy[1]; + d_Jv_P[1] += (- Hxz_M1x_Vz[1])*2.0; + d_Jv_P[1] += (- Hyz_M1y_Vz[1])*2.0; + d_Jv_P[1] += - Hzz_M1z_Vz[1]; + d_Jv_P[2] = 2.0*energy[2]; + d_Jv_P[2] += - Hxx_M1x_Vx[2]; + d_Jv_P[2] += (- Hxy_M1x_Vy[2])*2.0; + d_Jv_P[2] += - Hyy_M1y_Vy[2]; + d_Jv_P[2] += (- Hxz_M1x_Vz[2])*2.0; + d_Jv_P[2] += (- Hyz_M1y_Vz[2])*2.0; + d_Jv_P[2] += - Hzz_M1z_Vz[2]; + d_Jv_P[3] = 2.0*energy[3]; + d_Jv_P[3] += - Hxx_M1x_Vx[3]; + d_Jv_P[3] += (- Hxy_M1x_Vy[3])*2.0; + d_Jv_P[3] += - Hyy_M1y_Vy[3]; + d_Jv_P[3] += (- Hxz_M1x_Vz[3])*2.0; + d_Jv_P[3] += (- Hyz_M1y_Vz[3])*2.0; + d_Jv_P[3] += - Hzz_M1z_Vz[3]; + d_Jv_P[4] = 2.0*energy[4]; + d_Jv_P[4] += - Hxx_M1x_Vx[4]; + d_Jv_P[4] += (- Hxy_M1x_Vy[4])*2.0; + d_Jv_P[4] += - Hyy_M1y_Vy[4]; + d_Jv_P[4] += (- Hxz_M1x_Vz[4])*2.0; + d_Jv_P[4] += (- Hyz_M1y_Vz[4])*2.0; + d_Jv_P[4] += - Hzz_M1z_Vz[4]; + d_Jv_P[5] = 2.0*energy[5]; + d_Jv_P[5] += - Hxx_M1x_Vx[5]; + d_Jv_P[5] += (- Hxy_M1x_Vy[5])*2.0; + d_Jv_P[5] += - Hyy_M1y_Vy[5]; + d_Jv_P[5] += (- Hxz_M1x_Vz[5])*2.0; + d_Jv_P[5] += (- Hyz_M1y_Vz[5])*2.0; + d_Jv_P[5] += - Hzz_M1z_Vz[5]; + d_Jv_P[6] = 2.0*energy[6]; + d_Jv_P[6] += - Hxx_M1x_Vx[6]; + d_Jv_P[6] += (- Hxy_M1x_Vy[6])*2.0; + d_Jv_P[6] += - Hyy_M1y_Vy[6]; + d_Jv_P[6] += (- Hxz_M1x_Vz[6])*2.0; + d_Jv_P[6] += (- Hyz_M1y_Vz[6])*2.0; + d_Jv_P[6] += - Hzz_M1z_Vz[6]; + d_Jv_P[7] = 2.0*energy[7]; + d_Jv_P[7] += - Hxx_M1x_Vx[7]; + d_Jv_P[7] += (- Hxy_M1x_Vy[7])*2.0; + d_Jv_P[7] += - Hyy_M1y_Vy[7]; + d_Jv_P[7] += (- Hxz_M1x_Vz[7])*2.0; + d_Jv_P[7] += (- Hyz_M1y_Vz[7])*2.0; + d_Jv_P[7] += - Hzz_M1z_Vz[7]; } diff --git a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c index f85bec08b..8f58b39d0 100644 --- a/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c +++ b/regression/rt_can_pb_bgk_surf_annulus_sodshock_im.c @@ -63,7 +63,7 @@ create_ctx(void) double tempr = sqrt(0.1 / 0.125); // Right/outer temperature. // Simulation parameters. - int Nr = 32; // Cell count (configuration space: x-direction). + int Nr = 128; // Cell count (configuration space: x-direction). int Ntheta = 1; // Cell count (configuration space: y-direction). int Nv = 12; // Cell count (velocity space: all directions). double Rmin = 0.5; // Domain size (configuration space: r-direction, min value). diff --git a/unit/ctest_canonical_pb_equilibrium.c b/unit/ctest_canonical_pb_equilibrium.c index d58e57774..7fcaa709c 100644 --- a/unit/ctest_canonical_pb_equilibrium.c +++ b/unit/ctest_canonical_pb_equilibrium.c @@ -77,6 +77,21 @@ info_det_h(double t, const double* xn, double* fout, void* ctx) fout[0] = pow(R, 2)*sin(q[0]); } +void +info_hamil(double t, const double* xn, double* fout, void* ctx) +{ + // Canonical coordinates: + double w0 = xn[2], w1 = xn[3]; + const double w[2] = {w0, w1}; + struct kh_2d_ctx *app = (struct kh_2d_ctx *)ctx; + double *h_inv = malloc(3 * sizeof(double)); + info_h_ij_inv(t, xn, h_inv, ctx); + fout[0] = 0.5 * h_inv[0] * w[0] * w[0] + + 0.5 * (2.0* h_inv[1] * w[1] * w[0]) + + 0.5 * h_inv[2] * w[1] * w[1]; + free(h_inv); +} + void test_2x2v(int poly_order) @@ -138,16 +153,19 @@ test_2x2v(int poly_order) gkyl_proj_on_basis *proj_m2 = gkyl_proj_on_basis_new(&confGrid, &confBasis, poly_order + 1, 1, eval_M2, NULL); - // Allocate arrays for specified metric inverse and metric determinant - struct gkyl_array *h_ij_inv, *det_h; + // Allocate arrays for specified metric inverse, hamiltonian and metric determinant + struct gkyl_array *h_ij_inv, *det_h, *hamil; h_ij_inv = mkarr(confBasis.num_basis*cdim*(cdim+1)/2, local_ext.volume); det_h = mkarr(confBasis.num_basis, local_ext.volume); + hamil = mkarr(confBasis.num_basis, local_ext.volume); // Evaluate specified inverse metric function and det. at nodes to insure continuity struct gkyl_eval_on_nodes* h_ij_inv_proj = gkyl_eval_on_nodes_new(&confGrid, &confBasis, cdim*(cdim+1)/2, info_h_ij_inv, 0); struct gkyl_eval_on_nodes* det_h_proj = gkyl_eval_on_nodes_new(&confGrid, &confBasis, 1, info_det_h, 0); + struct gkyl_eval_on_nodes* hamil_proj = gkyl_eval_on_nodes_new(&confGrid, &confBasis, 1, info_hamil, 0); gkyl_eval_on_nodes_advance(h_ij_inv_proj, 0.0, &confLocal, h_ij_inv); gkyl_eval_on_nodes_advance(det_h_proj, 0.0, &confLocal, det_h); + gkyl_eval_on_nodes_advance(hamil_proj, 0.0, &confLocal, hamil); // create a copy for the correct intial value gkyl_proj_on_basis_advance(proj_m0, 0.0, &confLocal, m0_corr); @@ -178,6 +196,7 @@ test_2x2v(int poly_order) .phase_range = &local, .h_ij_inv = h_ij_inv, .det_h = det_h, + .hamil = hamil, .model_id = GKYL_MODEL_CANONICAL_PB, .use_gpu = false, }; @@ -198,6 +217,7 @@ test_2x2v(int poly_order) .phase_range = &local, .h_ij_inv = h_ij_inv, .det_h = det_h, + .hamil = hamil, .model_id = GKYL_MODEL_CANONICAL_PB, .use_gpu = false, .max_iter = 100, @@ -222,6 +242,7 @@ test_2x2v(int poly_order) .phase_range = &local, .h_ij_inv = h_ij_inv, .det_h = det_h, + .hamil = hamil, .model_id = GKYL_MODEL_CANONICAL_PB, .use_gpu = false, }; @@ -260,26 +281,30 @@ test_2x2v(int poly_order) // values to compare at index (1, 17) [remember, lower-left index is (1,1)] // values to compare at index (1, 17) [remember, lower-left index is (1,1)] - double p2_vals[] = {7.4389783023265099e-02, 1.7499522696968448e-04, -4.2253321330719359e-19, - 1.7197294780095105e-02, 3.2822459503714825e-02, 2.5019571528486421e-18, 4.0454999945222635e-05, - -1.4125092864553862e-19, 1.0658244792175303e-05, 1.2473860074977937e-18, 7.5878365087018252e-03, - -2.2391870772442790e-07, -2.9476470181933414e-17, 7.5085044225038134e-04, 4.7554188865154331e-03, - 6.8211378278042107e-20, 3.6488980398970576e-19, 2.4639190426544169e-06, 2.1187655380656761e-19, - -1.0822008203450965e-18, 2.2436585915908228e-19, -5.1766346251881247e-08, -5.7607055675577576e-18, - 1.7662957597715743e-06, 1.2741938646251673e-19, -1.2308148750860714e-07, -7.3700404590506013e-18, - 3.3129224516213740e-04, -1.3065999155266542e-05, 1.5220440662220617e-19, 1.0993490916697980e-03, - 5.6930059089810877e-20, 6.5660342100681117e-19, 1.1924007741276491e-18, 1.1562481358434618e-19, - 1.1807705433814598e-19, -7.7501645322254508e-19, -2.8454232897884123e-08, -3.0955134127490682e-18, - 1.0757333751268221e-07, 3.1980914272308032e-19, -2.3836099228861867e-19, -3.0205789415989519e-06, - -1.0961395618448674e-19, -5.9124212021315998e-19, -1.1278486261518147e-19, -2.0462557199015695e-19, - 2.4387684529816235e-19 }; + double p2_vals[] = {7.4375205660623764e-02, 1.7502197646465149e-04, + 5.1094379072269073e-19, 1.7196663881036155e-02, 3.2823939815277384e-02, + 1.9095742813612671e-18, 4.0467707945451574e-05, -1.2193251617523399e-18, + 1.0688988222497508e-05, 1.0430430692729768e-18, 7.5893875551799181e-03, + -2.2385893900551390e-07, -3.2456911333379994e-17, 7.5101204021213246e-04, + 4.7573706725506440e-03, 2.1246392245945747e-19, 3.3851391014577862e-19, + 2.4714545130704096e-06, -3.2130900226042711e-19, 1.9001628988953240e-18, + 4.4692284022917053e-18, -5.1759546703890748e-08, -8.7646888322434962e-18, + 1.7673041769548388e-06, 1.2766139686089529e-19, -1.2313454577087634e-07, + -1.0559775696066436e-17, 3.3144343991404806e-04, -1.3064935169987437e-05, + 3.7101538691845707e-19, 1.0999755050985389e-03, -1.9925087386218194e-19, + 2.1498701757639759e-18, 1.1074385582705253e-18, 1.1143514926488228e-19, + -8.1911466330328986e-19, 1.4840074476861625e-18, -2.8470555165622034e-08, + -1.1253012634920306e-18, 1.0793326594515037e-07, 1.0706453651527448e-19, + -2.8632875454162582e-19, -3.0208091090346236e-06, 1.1166823777084870e-19, + 9.9107783923514388e-20, 1.1310712903906065e-18, 3.9889112700602783e-19, + -2.8395875891910364e-20 }; const double *fv = gkyl_array_cfetch(distf, gkyl_range_idx(&local_ext, (int[4]){1, 1, 8, 8})); if (poly_order == 2) { for (int i = 0; i < basis.num_basis; ++i) { TEST_CHECK(gkyl_compare_double(p2_vals[i], fv[i], 1e-10)); - // printf("p2_vals = %1.16e fv = %1.16e\n", p2_vals[i], fv[i]); + //printf("p2_vals = %1.16e fv = %1.16e\n", p2_vals[i], fv[i]); } } @@ -295,13 +320,14 @@ test_2x2v(int poly_order) gkyl_array_release(distf); gkyl_array_release(h_ij_inv); gkyl_array_release(det_h); + gkyl_array_release(hamil); gkyl_vlasov_lte_moments_release(lte_moms); gkyl_vlasov_lte_proj_on_basis_release(proj_lte); gkyl_proj_on_basis_release(proj_m0); gkyl_proj_on_basis_release(proj_m1i); gkyl_proj_on_basis_release(proj_m2); gkyl_eval_on_nodes_release(h_ij_inv_proj); - gkyl_eval_on_nodes_release(det_h_proj); + gkyl_eval_on_nodes_release(hamil_proj); } diff --git a/zero/dg_calc_canonical_pb_vars.c b/zero/dg_calc_canonical_pb_vars.c index 225a90e27..6c89ad68f 100644 --- a/zero/dg_calc_canonical_pb_vars.c +++ b/zero/dg_calc_canonical_pb_vars.c @@ -103,12 +103,12 @@ void gkyl_dg_calc_canonical_pb_vars_alpha_surf(struct gkyl_dg_calc_canonical_pb_ void gkyl_canonical_pb_pressure(struct gkyl_dg_calc_canonical_pb_vars *up, const struct gkyl_range *conf_range, const struct gkyl_array *h_ij_inv, - const struct gkyl_array *M2ij, const struct gkyl_array *V_drift, const struct gkyl_array *M1i, + const struct gkyl_array *MEnergy, const struct gkyl_array *V_drift, const struct gkyl_array *M1i, struct gkyl_array *pressure) { #ifdef GKYL_HAVE_CUDA if (gkyl_array_is_cu_dev(pressure)) { - return gkyl_canonical_pb_pressure_cu(up, conf_range, h_ij_inv, M2ij, V_drift, M1i, pressure); + return gkyl_canonical_pb_pressure_cu(up, conf_range, h_ij_inv, MEnergy, V_drift, M1i, pressure); } #endif int cdim = up->cdim; @@ -118,13 +118,13 @@ void gkyl_canonical_pb_pressure(struct gkyl_dg_calc_canonical_pb_vars *up, const long loc = gkyl_range_idx(conf_range, iter.idx); const double *h_ij_inv_d = gkyl_array_cfetch(h_ij_inv, loc); - const double *M2ij_d = gkyl_array_cfetch(M2ij, loc); + const double *MEnergy_d = gkyl_array_cfetch(MEnergy, loc); const double *v_j_d = gkyl_array_cfetch(V_drift, loc); const double *nv_i_d = gkyl_array_cfetch(M1i, loc); double* d_Jv_P_d = gkyl_array_fetch(pressure, loc); - up->canonical_pb_pressure(h_ij_inv_d, M2ij_d, v_j_d, nv_i_d, d_Jv_P_d); + up->canonical_pb_pressure(h_ij_inv_d, MEnergy_d, v_j_d, nv_i_d, d_Jv_P_d); } } diff --git a/zero/gkyl_dg_calc_canonical_pb_vars_priv.h b/zero/gkyl_dg_calc_canonical_pb_vars_priv.h index cddd2c303..c12b031b9 100644 --- a/zero/gkyl_dg_calc_canonical_pb_vars_priv.h +++ b/zero/gkyl_dg_calc_canonical_pb_vars_priv.h @@ -13,7 +13,7 @@ typedef int (*canonical_pb_alpha_surf_t)(const double *w, const double *dxv, const double *hamil, double* GKYL_RESTRICT alpha_surf, double* GKYL_RESTRICT sgn_alpha_surf); -typedef void (*canonical_pb_pressure_t)(const double *h_ij_inv, const double *M2ij, const double *v_j, +typedef void (*canonical_pb_pressure_t)(const double *h_ij_inv, const double *MEnergy, const double *v_j, const double *nv_i, double* GKYL_RESTRICT d_Jv_P); // for use in kernel tables diff --git a/zero/gkyl_vlasov_lte_correct.h b/zero/gkyl_vlasov_lte_correct.h index b6194c176..cef461917 100644 --- a/zero/gkyl_vlasov_lte_correct.h +++ b/zero/gkyl_vlasov_lte_correct.h @@ -23,8 +23,9 @@ struct gkyl_vlasov_lte_correct_inp { const struct gkyl_range *phase_range; // phase space range const struct gkyl_array *gamma; // SR quantitiy: gamma = sqrt(1 + p^2) const struct gkyl_array *gamma_inv; // SR quantitiy: 1/gamma = 1/sqrt(1 + p^2) - const struct gkyl_array *h_ij_inv; // inverse metric tensor - const struct gkyl_array *det_h; // determinant of the metric tensor + const struct gkyl_array *h_ij_inv; // (Can-pb quantitiy) inverse metric tensor + const struct gkyl_array *det_h; // (Can-pb quantitiy) determinant of the metric tensor + const struct gkyl_array *hamil; // (Can-pb quantitiy) Hamiltonian enum gkyl_model_id model_id; // Enum identifier for model type (e.g., SR, see gkyl_eqn_type.h) bool use_last_converged; // Boolean for if we are using the results of the iterative scheme // *even if* the scheme fails to converge. diff --git a/zero/gkyl_vlasov_lte_moments.h b/zero/gkyl_vlasov_lte_moments.h index 89ab711b7..5bd5e44b8 100644 --- a/zero/gkyl_vlasov_lte_moments.h +++ b/zero/gkyl_vlasov_lte_moments.h @@ -23,6 +23,7 @@ struct gkyl_vlasov_lte_moments_inp { const struct gkyl_array *gamma_inv; // SR quantitiy: 1/gamma = 1/sqrt(1 + p^2) const struct gkyl_array *h_ij_inv; // Can-pb quantity: Inverse metric tensor const struct gkyl_array *det_h; // Can-pb quantity: determinant of the metric tensor + const struct gkyl_array *hamil; // Can-pb quantity: hamiltonian enum gkyl_model_id model_id; // Enum identifier for model type (e.g., SR, see gkyl_eqn_type.h) double mass; // Mass factor bool use_gpu; // bool for gpu useage diff --git a/zero/gkyl_vlasov_lte_moments_priv.h b/zero/gkyl_vlasov_lte_moments_priv.h index 5ef9ebc12..64bd0a3d2 100644 --- a/zero/gkyl_vlasov_lte_moments_priv.h +++ b/zero/gkyl_vlasov_lte_moments_priv.h @@ -38,7 +38,7 @@ struct gkyl_vlasov_lte_moments }; // canonical-pb model struct { - struct gkyl_array *pressure_tensor; + struct gkyl_array *energy_moment; struct gkyl_array *h_ij_inv; struct gkyl_array *det_h; struct gkyl_dg_calc_canonical_pb_vars *can_pb_vars; diff --git a/zero/gkyl_vlasov_lte_proj_on_basis.h b/zero/gkyl_vlasov_lte_proj_on_basis.h index b8abe996e..039e8258d 100644 --- a/zero/gkyl_vlasov_lte_proj_on_basis.h +++ b/zero/gkyl_vlasov_lte_proj_on_basis.h @@ -22,8 +22,9 @@ struct gkyl_vlasov_lte_proj_on_basis_inp { const struct gkyl_range *phase_range; // phase space range const struct gkyl_array *gamma; // SR quantitiy: gamma = sqrt(1 + p^2) const struct gkyl_array *gamma_inv; // SR quantitiy: 1/gamma = 1/sqrt(1 + p^2) - const struct gkyl_array *h_ij_inv; // inverse of the metric tensor - const struct gkyl_array *det_h; // determinant of the metric tensor + const struct gkyl_array *h_ij_inv; // (Can-bp quantity) inverse of the metric tensor + const struct gkyl_array *det_h; // (Can-bp quantity) determinant of the metric tensor + const struct gkyl_array *hamil; // (Can-bp quantity) Hamiltonian enum gkyl_model_id model_id; // Enum identifier for model type (e.g., SR, see gkyl_eqn_type.h) double mass; // Mass factor bool use_gpu; // bool for gpu useage diff --git a/zero/vlasov_lte_correct.c b/zero/vlasov_lte_correct.c index f170d3123..6c1f42d7b 100644 --- a/zero/vlasov_lte_correct.c +++ b/zero/vlasov_lte_correct.c @@ -66,6 +66,7 @@ gkyl_vlasov_lte_correct_inew(const struct gkyl_vlasov_lte_correct_inp *inp) .gamma_inv = inp->gamma_inv, .h_ij_inv = inp->h_ij_inv, .det_h = inp->det_h, + .hamil = inp->hamil, .model_id = inp->model_id, .use_gpu = inp->use_gpu, }; @@ -88,6 +89,7 @@ gkyl_vlasov_lte_correct_inew(const struct gkyl_vlasov_lte_correct_inp *inp) .gamma_inv = inp->gamma_inv, .h_ij_inv = inp->h_ij_inv, .det_h = inp->det_h, + .hamil = inp->hamil, .model_id = inp->model_id, .use_gpu = inp->use_gpu, }; diff --git a/zero/vlasov_lte_moments.c b/zero/vlasov_lte_moments.c index 877ce770f..34a404df8 100644 --- a/zero/vlasov_lte_moments.c +++ b/zero/vlasov_lte_moments.c @@ -10,6 +10,7 @@ #include #include #include +#include #include struct gkyl_vlasov_lte_moments* @@ -72,16 +73,16 @@ gkyl_vlasov_lte_moments_inew(const struct gkyl_vlasov_lte_moments_inp *inp) inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, &sr_inp, "M1i", false, inp->use_gpu); } else if (up->model_id == GKYL_MODEL_CANONICAL_PB) { - int num_pij_comps = up->vdim*(up->vdim+1)/2; up->h_ij_inv = gkyl_array_acquire(inp->h_ij_inv); up->det_h = gkyl_array_acquire(inp->det_h); if (inp->use_gpu) { - up->pressure_tensor = gkyl_array_cu_dev_new(GKYL_DOUBLE, up->num_conf_basis*num_pij_comps, conf_local_ext_ncells); + up->energy_moment = gkyl_array_cu_dev_new(GKYL_DOUBLE, up->num_conf_basis, conf_local_ext_ncells); } else { - up->pressure_tensor = gkyl_array_new(GKYL_DOUBLE, up->num_conf_basis*num_pij_comps, conf_local_ext_ncells); + up->energy_moment = gkyl_array_new(GKYL_DOUBLE, up->num_conf_basis, conf_local_ext_ncells); } up->can_pb_vars = gkyl_dg_calc_canonical_pb_vars_new(inp->phase_grid, inp->conf_basis, inp->phase_basis, inp->use_gpu); + struct gkyl_mom_canonical_pb_auxfields can_pb_inp = {.hamil = inp->hamil}; // Moment calculator for needed moments (M0, M1i, and M2 for non-relativistic) // Temperature moment is modified by can-pb, requires computing g^{ij}w_iw_j kernel @@ -91,7 +92,7 @@ gkyl_vlasov_lte_moments_inew(const struct gkyl_vlasov_lte_moments_inp *inp) up->M1i_calc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, 0, "M1i", false, inp->use_gpu); up->Pcalc = gkyl_dg_updater_moment_new(inp->phase_grid, inp->conf_basis, - inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, 0, "M2ij", false, inp->use_gpu); + inp->phase_basis, inp->conf_range, inp->vel_range, inp->phase_range, up->model_id, &can_pb_inp, "MEnergy", false, inp->use_gpu); } else { // Moment calculator for needed moments (M0, M1i, and M2 for non-relativistic) @@ -185,12 +186,12 @@ gkyl_vlasov_lte_moments_advance(struct gkyl_vlasov_lte_moments *lte_moms, } if (lte_moms->model_id == GKYL_MODEL_CANONICAL_PB) { - // Compute the lab frame M2ij + // Compute MEnergy gkyl_dg_updater_moment_advance(lte_moms->Pcalc, phase_local, conf_local, - fin, lte_moms->pressure_tensor); - // Solve for d*P*Jv: d*P*Jv = h^{ij}*M2_{ij} - n*h^{ij}*u_i*u_j - // = h^{ij}*M2_{ij} - h^{ij}*M1i*V_drift_j - gkyl_canonical_pb_pressure(lte_moms->can_pb_vars, conf_local, lte_moms->h_ij_inv, lte_moms->pressure_tensor, + fin, lte_moms->energy_moment); + // Solve for d*P*Jv: d*P*Jv = 2*E - n*h^{ij}*u_i*u_j + // = 2*E - h^{ij}*M1i*V_drift_j + gkyl_canonical_pb_pressure(lte_moms->can_pb_vars, conf_local, lte_moms->h_ij_inv, lte_moms->energy_moment, lte_moms->V_drift, lte_moms->M1i, lte_moms->pressure); } else { @@ -240,7 +241,7 @@ gkyl_vlasov_lte_moments_release(gkyl_vlasov_lte_moments *lte_moms) else if (lte_moms->model_id == GKYL_MODEL_CANONICAL_PB) { gkyl_array_release(lte_moms->h_ij_inv); gkyl_array_release(lte_moms->det_h); - gkyl_array_release(lte_moms->pressure_tensor); + gkyl_array_release(lte_moms->energy_moment); gkyl_dg_calc_canonical_pb_vars_release(lte_moms->can_pb_vars); } diff --git a/zero/vlasov_lte_proj_on_basis.c b/zero/vlasov_lte_proj_on_basis.c index 700ba1d97..8e2b203bf 100644 --- a/zero/vlasov_lte_proj_on_basis.c +++ b/zero/vlasov_lte_proj_on_basis.c @@ -327,6 +327,7 @@ gkyl_vlasov_lte_proj_on_basis_inew(const struct gkyl_vlasov_lte_proj_on_basis_in .gamma_inv = inp->gamma_inv, .h_ij_inv = inp->h_ij_inv, .det_h = inp->det_h, + .hamil = inp->hamil, .model_id = inp->model_id, .use_gpu = inp->use_gpu, }; From b2d0673b51ac23ab06d538ec27e2ea0806c05eb4 Mon Sep 17 00:00:00 2001 From: johnson452 Date: Tue, 17 Sep 2024 16:48:41 -0400 Subject: [PATCH 09/16] Added energy diagnostics --- regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c b/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c index d2d4c1b80..d3f2eb96f 100644 --- a/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c +++ b/regression/rt_can_pb_neut_bgk_sodshock_im_1x1v_p2.c @@ -204,6 +204,7 @@ write_data(struct gkyl_tm_trigger* iot, gkyl_vlasov_app* app, double t_curr, boo gkyl_vlasov_app_calc_mom(app); gkyl_vlasov_app_write_mom(app, t_curr, iot->curr - 1); + gkyl_vlasov_app_write_integrated_mom(app); } } @@ -349,8 +350,8 @@ main(int argc, char **argv) .correct_all_moms = true, }, - .num_diag_moments = 3, - .diag_moments = { "M0", "M1i", "LTEMoments" }, + .num_diag_moments = 4, + .diag_moments = { "M0", "M1i", "LTEMoments", "MEnergy" }, }; // Vlasov-Maxwell app. @@ -409,6 +410,7 @@ main(int argc, char **argv) gkyl_vlasov_app_cout(app, stdout, "Taking time-step %ld at t = %g ...", step, t_curr); struct gkyl_update_status status = gkyl_vlasov_update(app, dt); gkyl_vlasov_app_cout(app, stdout, " dt = %g\n", status.dt_actual); + gkyl_vlasov_app_calc_integrated_mom(app, t_curr); if (!status.success) { gkyl_vlasov_app_cout(app, stdout, "** Update method failed! Aborting simulation ....\n"); From 1ea9409e047381f5a3b1e0638e198836f424bad2 Mon Sep 17 00:00:00 2001 From: Junoravin Date: Thu, 19 Sep 2024 11:10:25 -0400 Subject: [PATCH 10/16] Discovered from @johnson452 that this branch doesn't build on GPUs, which means main does not build on GPUs. After some digging, I think this bug appeared when the wv_eqn functions were modified to uniformly take the wv_eqn object (so things like the mixture formalism know how many components to rotate). I think when this change occurred that introduced too many indirections on GPUs and the GPU started throwing the nvlink errors we've seen before that always arise when the GPU has completely crapped out on handling the layering Gkeyll does. Testing to see if removing a layer of indirection helps. --- kernels/euler/euler_surfx_1x_ser_p1.c | 24 ++--- kernels/euler/euler_surfx_1x_ser_p2.c | 24 ++--- kernels/euler/euler_surfx_1x_ser_p3.c | 24 ++--- kernels/euler/euler_surfx_2x_ser_p1.c | 48 +++++----- kernels/euler/euler_surfx_2x_tensor_p2.c | 72 +++++++------- kernels/euler/euler_surfx_3x_ser_p1.c | 96 +++++++++---------- kernels/euler/euler_surfy_2x_ser_p1.c | 48 +++++----- kernels/euler/euler_surfy_2x_tensor_p2.c | 72 +++++++------- kernels/euler/euler_surfy_3x_ser_p1.c | 96 +++++++++---------- kernels/euler/euler_surfz_3x_ser_p1.c | 96 +++++++++---------- kernels/euler/fluid_vars_limiterx_1x_ser_p1.c | 14 +-- kernels/euler/fluid_vars_limiterx_1x_ser_p2.c | 14 +-- kernels/euler/fluid_vars_limiterx_1x_ser_p3.c | 14 +-- kernels/euler/fluid_vars_limiterx_2x_ser_p1.c | 14 +-- .../euler/fluid_vars_limiterx_2x_tensor_p2.c | 14 +-- kernels/euler/fluid_vars_limiterx_3x_ser_p1.c | 14 +-- kernels/euler/fluid_vars_limitery_2x_ser_p1.c | 14 +-- .../euler/fluid_vars_limitery_2x_tensor_p2.c | 14 +-- kernels/euler/fluid_vars_limitery_3x_ser_p1.c | 14 +-- kernels/euler/fluid_vars_limiterz_3x_ser_p1.c | 14 +-- kernels/maxwell/em_vars_limiterx_1x_ser_p1.c | 14 +-- kernels/maxwell/em_vars_limiterx_1x_ser_p2.c | 14 +-- kernels/maxwell/em_vars_limiterx_1x_ser_p3.c | 14 +-- kernels/maxwell/em_vars_limiterx_2x_ser_p1.c | 14 +-- .../maxwell/em_vars_limiterx_2x_tensor_p2.c | 14 +-- kernels/maxwell/em_vars_limiterx_3x_ser_p1.c | 14 +-- kernels/maxwell/em_vars_limitery_2x_ser_p1.c | 14 +-- .../maxwell/em_vars_limitery_2x_tensor_p2.c | 14 +-- kernels/maxwell/em_vars_limitery_3x_ser_p1.c | 14 +-- kernels/maxwell/em_vars_limiterz_3x_ser_p1.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c | 14 +-- .../pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c | 14 +-- .../pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c | 14 +-- .../pkpm/pkpm_vars_penalization_x_1x_ser_p1.c | 12 +-- .../pkpm/pkpm_vars_penalization_x_1x_ser_p2.c | 12 +-- .../pkpm/pkpm_vars_penalization_x_2x_ser_p1.c | 24 ++--- .../pkpm_vars_penalization_x_2x_tensor_p2.c | 36 +++---- .../pkpm/pkpm_vars_penalization_x_3x_ser_p1.c | 48 +++++----- .../pkpm/pkpm_vars_penalization_y_2x_ser_p1.c | 24 ++--- .../pkpm_vars_penalization_y_2x_tensor_p2.c | 36 +++---- .../pkpm/pkpm_vars_penalization_y_3x_ser_p1.c | 48 +++++----- .../pkpm/pkpm_vars_penalization_z_3x_ser_p1.c | 48 +++++----- 49 files changed, 654 insertions(+), 654 deletions(-) diff --git a/kernels/euler/euler_surfx_1x_ser_p1.c b/kernels/euler/euler_surfx_1x_ser_p1.c index 0b4d80367..175dc0e71 100644 --- a/kernels/euler/euler_surfx_1x_ser_p1.c +++ b/kernels/euler/euler_surfx_1x_ser_p1.c @@ -129,10 +129,10 @@ GKYL_CU_DH double euler_surfx_1x_ser_p1(const double *w, const double *dxv, cons double q_cl_local[5] = {0.0}; double q_cr_local[5] = {0.0}; double q_rl_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); double delta_l[5] = {0.0}; double delta_r[5] = {0.0}; @@ -151,8 +151,8 @@ GKYL_CU_DH double euler_surfx_1x_ser_p1(const double *w, const double *dxv, cons double waves_r[15] = {0.0}; double speeds_l[3] = {0.0}; double speeds_r[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); double lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; @@ -167,17 +167,17 @@ GKYL_CU_DH double euler_surfx_1x_ser_p1(const double *w, const double *dxv, cons double apdq_l_local[5] = {0.0}; double amdq_r_local[5] = {0.0}; double apdq_r_local[5] = {0.0}; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); double amdq_l[5] = {0.0}; double apdq_l[5] = {0.0}; double amdq_r[5] = {0.0}; double apdq_r[5] = {0.0}; - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); Ghat_rho_l = 0.3061862178478972*rho_l[1]*uxl_r-0.3061862178478972*rho_c[1]*uxl_r+0.1767766952966369*rho_l[0]*uxl_r+0.1767766952966369*rho_c[0]*uxl_r+0.3061862178478972*rho_l[1]*uxc_l-0.3061862178478972*rho_c[1]*uxc_l+0.1767766952966369*rho_l[0]*uxc_l+0.1767766952966369*rho_c[0]*uxc_l-0.5*apdq_l[0]+0.5*amdq_l[0]; Ghat_rhoux_l = 0.5*Ghat_rho_l*uxl_r+0.5*Ghat_rho_l*uxc_l+0.5*pl_r+0.5*pc_l-0.5*apdq_l[1]+0.5*amdq_l[1]; diff --git a/kernels/euler/euler_surfx_1x_ser_p2.c b/kernels/euler/euler_surfx_1x_ser_p2.c index 9b4e48430..1ace6c40b 100644 --- a/kernels/euler/euler_surfx_1x_ser_p2.c +++ b/kernels/euler/euler_surfx_1x_ser_p2.c @@ -129,10 +129,10 @@ GKYL_CU_DH double euler_surfx_1x_ser_p2(const double *w, const double *dxv, cons double q_cl_local[5] = {0.0}; double q_cr_local[5] = {0.0}; double q_rl_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); double delta_l[5] = {0.0}; double delta_r[5] = {0.0}; @@ -151,8 +151,8 @@ GKYL_CU_DH double euler_surfx_1x_ser_p2(const double *w, const double *dxv, cons double waves_r[15] = {0.0}; double speeds_l[3] = {0.0}; double speeds_r[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); double lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; @@ -167,17 +167,17 @@ GKYL_CU_DH double euler_surfx_1x_ser_p2(const double *w, const double *dxv, cons double apdq_l_local[5] = {0.0}; double amdq_r_local[5] = {0.0}; double apdq_r_local[5] = {0.0}; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); double amdq_l[5] = {0.0}; double apdq_l[5] = {0.0}; double amdq_r[5] = {0.0}; double apdq_r[5] = {0.0}; - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); Ghat_rho_l = 0.3952847075210474*rho_l[2]*uxl_r+0.3952847075210474*rho_c[2]*uxl_r+0.3061862178478972*rho_l[1]*uxl_r-0.3061862178478972*rho_c[1]*uxl_r+0.1767766952966369*rho_l[0]*uxl_r+0.1767766952966369*rho_c[0]*uxl_r+0.3952847075210474*rho_l[2]*uxc_l+0.3952847075210474*rho_c[2]*uxc_l+0.3061862178478972*rho_l[1]*uxc_l-0.3061862178478972*rho_c[1]*uxc_l+0.1767766952966369*rho_l[0]*uxc_l+0.1767766952966369*rho_c[0]*uxc_l-0.5*apdq_l[0]+0.5*amdq_l[0]; Ghat_rhoux_l = 0.5*Ghat_rho_l*uxl_r+0.5*Ghat_rho_l*uxc_l+0.5*pl_r+0.5*pc_l-0.5*apdq_l[1]+0.5*amdq_l[1]; diff --git a/kernels/euler/euler_surfx_1x_ser_p3.c b/kernels/euler/euler_surfx_1x_ser_p3.c index 86b7375b2..0a208e187 100644 --- a/kernels/euler/euler_surfx_1x_ser_p3.c +++ b/kernels/euler/euler_surfx_1x_ser_p3.c @@ -129,10 +129,10 @@ GKYL_CU_DH double euler_surfx_1x_ser_p3(const double *w, const double *dxv, cons double q_cl_local[5] = {0.0}; double q_cr_local[5] = {0.0}; double q_rl_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); double delta_l[5] = {0.0}; double delta_r[5] = {0.0}; @@ -151,8 +151,8 @@ GKYL_CU_DH double euler_surfx_1x_ser_p3(const double *w, const double *dxv, cons double waves_r[15] = {0.0}; double speeds_l[3] = {0.0}; double speeds_r[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); double lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; @@ -167,17 +167,17 @@ GKYL_CU_DH double euler_surfx_1x_ser_p3(const double *w, const double *dxv, cons double apdq_l_local[5] = {0.0}; double amdq_r_local[5] = {0.0}; double apdq_r_local[5] = {0.0}; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); double amdq_l[5] = {0.0}; double apdq_l[5] = {0.0}; double amdq_r[5] = {0.0}; double apdq_r[5] = {0.0}; - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); Ghat_rho_l = 0.4677071733467427*rho_l[3]*uxl_r-0.4677071733467427*rho_c[3]*uxl_r+0.3952847075210474*rho_l[2]*uxl_r+0.3952847075210474*rho_c[2]*uxl_r+0.3061862178478972*rho_l[1]*uxl_r-0.3061862178478972*rho_c[1]*uxl_r+0.1767766952966369*rho_l[0]*uxl_r+0.1767766952966369*rho_c[0]*uxl_r+0.4677071733467427*rho_l[3]*uxc_l-0.4677071733467427*rho_c[3]*uxc_l+0.3952847075210474*rho_l[2]*uxc_l+0.3952847075210474*rho_c[2]*uxc_l+0.3061862178478972*rho_l[1]*uxc_l-0.3061862178478972*rho_c[1]*uxc_l+0.1767766952966369*rho_l[0]*uxc_l+0.1767766952966369*rho_c[0]*uxc_l-0.5*apdq_l[0]+0.5*amdq_l[0]; Ghat_rhoux_l = 0.5*Ghat_rho_l*uxl_r+0.5*Ghat_rho_l*uxc_l+0.5*pl_r+0.5*pc_l-0.5*apdq_l[1]+0.5*amdq_l[1]; diff --git a/kernels/euler/euler_surfx_2x_ser_p1.c b/kernels/euler/euler_surfx_2x_ser_p1.c index 475eff205..cefa9e4e3 100644 --- a/kernels/euler/euler_surfx_2x_ser_p1.c +++ b/kernels/euler/euler_surfx_2x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_2x_p1_surfx1_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_2x_p1_surfx1_eval_quad_node_0_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_2x_p1_surfx1_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_2x_p1_surfx1_eval_quad_node_1_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; diff --git a/kernels/euler/euler_surfx_2x_tensor_p2.c b/kernels/euler/euler_surfx_2x_tensor_p2.c index 09e85c20a..785646002 100644 --- a/kernels/euler/euler_surfx_2x_tensor_p2.c +++ b/kernels/euler/euler_surfx_2x_tensor_p2.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx1_eval_quad_node_0_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx1_eval_quad_node_0_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx1_eval_quad_node_1_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx1_eval_quad_node_1_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx1_eval_quad_node_2_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx1_eval_quad_node_2_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; diff --git a/kernels/euler/euler_surfx_3x_ser_p1.c b/kernels/euler/euler_surfx_3x_ser_p1.c index eb8fc97f2..92f13385c 100644 --- a/kernels/euler/euler_surfx_3x_ser_p1.c +++ b/kernels/euler/euler_surfx_3x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx1_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx1_eval_quad_node_0_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx1_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx1_eval_quad_node_1_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx1_eval_quad_node_2_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx1_eval_quad_node_2_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; @@ -392,10 +392,10 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx1_eval_quad_node_3_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx1_eval_quad_node_3_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -408,8 +408,8 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -419,13 +419,13 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[3] = amdq_l[0]; apdq_rho_quad_l[3] = apdq_l[0]; diff --git a/kernels/euler/euler_surfy_2x_ser_p1.c b/kernels/euler/euler_surfy_2x_ser_p1.c index d1b554697..39ac36e87 100644 --- a/kernels/euler/euler_surfy_2x_ser_p1.c +++ b/kernels/euler/euler_surfy_2x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_2x_p1_surfx2_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_2x_p1_surfx2_eval_quad_node_0_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_2x_p1_surfx2_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_2x_p1_surfx2_eval_quad_node_1_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; diff --git a/kernels/euler/euler_surfy_2x_tensor_p2.c b/kernels/euler/euler_surfy_2x_tensor_p2.c index d0f597b59..c9fd15a03 100644 --- a/kernels/euler/euler_surfy_2x_tensor_p2.c +++ b/kernels/euler/euler_surfy_2x_tensor_p2.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx2_eval_quad_node_0_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx2_eval_quad_node_0_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx2_eval_quad_node_1_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx2_eval_quad_node_1_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx2_eval_quad_node_2_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx2_eval_quad_node_2_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; diff --git a/kernels/euler/euler_surfy_3x_ser_p1.c b/kernels/euler/euler_surfy_3x_ser_p1.c index a10eeb46f..f8e8f1a63 100644 --- a/kernels/euler/euler_surfy_3x_ser_p1.c +++ b/kernels/euler/euler_surfy_3x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx2_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx2_eval_quad_node_0_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx2_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx2_eval_quad_node_1_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx2_eval_quad_node_2_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx2_eval_quad_node_2_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; @@ -392,10 +392,10 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx2_eval_quad_node_3_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx2_eval_quad_node_3_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -408,8 +408,8 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -419,13 +419,13 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[3] = amdq_l[0]; apdq_rho_quad_l[3] = apdq_l[0]; diff --git a/kernels/euler/euler_surfz_3x_ser_p1.c b/kernels/euler/euler_surfz_3x_ser_p1.c index 08596a5ae..366124af7 100644 --- a/kernels/euler/euler_surfz_3x_ser_p1.c +++ b/kernels/euler/euler_surfz_3x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx3_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx3_eval_quad_node_0_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[2]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx3_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx3_eval_quad_node_1_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[2]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx3_eval_quad_node_2_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx3_eval_quad_node_2_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[2]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; @@ -392,10 +392,10 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx3_eval_quad_node_3_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx3_eval_quad_node_3_l(energy_r); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -408,8 +408,8 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[2]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -419,13 +419,13 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); + wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); amdq_rho_quad_l[3] = amdq_l[0]; apdq_rho_quad_l[3] = apdq_l[0]; diff --git a/kernels/euler/fluid_vars_limiterx_1x_ser_p1.c b/kernels/euler/fluid_vars_limiterx_1x_ser_p1.c index 18a53666a..e8d01ca67 100644 --- a/kernels/euler/fluid_vars_limiterx_1x_ser_p1.c +++ b/kernels/euler/fluid_vars_limiterx_1x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_1x_ser_p2.c b/kernels/euler/fluid_vars_limiterx_1x_ser_p2.c index a89bd707b..523fa4d37 100644 --- a/kernels/euler/fluid_vars_limiterx_1x_ser_p2.c +++ b/kernels/euler/fluid_vars_limiterx_1x_ser_p2.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p2(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p2(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_1x_ser_p3.c b/kernels/euler/fluid_vars_limiterx_1x_ser_p3.c index 941083ca4..8ba902247 100644 --- a/kernels/euler/fluid_vars_limiterx_1x_ser_p3.c +++ b/kernels/euler/fluid_vars_limiterx_1x_ser_p3.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p3(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p3(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_2x_ser_p1.c b/kernels/euler/fluid_vars_limiterx_2x_ser_p1.c index acb70bfe3..fd42006ab 100644 --- a/kernels/euler/fluid_vars_limiterx_2x_ser_p1.c +++ b/kernels/euler/fluid_vars_limiterx_2x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_2x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_2x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_2x_tensor_p2.c b/kernels/euler/fluid_vars_limiterx_2x_tensor_p2.c index 702da0323..2c4affb78 100644 --- a/kernels/euler/fluid_vars_limiterx_2x_tensor_p2.c +++ b/kernels/euler/fluid_vars_limiterx_2x_tensor_p2.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_2x_tensor_p2(double limiter_fac, const struc double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_2x_tensor_p2(double limiter_fac, const struc delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_3x_ser_p1.c b/kernels/euler/fluid_vars_limiterx_3x_ser_p1.c index 2a9b9e993..105a518bc 100644 --- a/kernels/euler/fluid_vars_limiterx_3x_ser_p1.c +++ b/kernels/euler/fluid_vars_limiterx_3x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_3x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_3x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limitery_2x_ser_p1.c b/kernels/euler/fluid_vars_limitery_2x_ser_p1.c index 57070be6e..5540c29b7 100644 --- a/kernels/euler/fluid_vars_limitery_2x_ser_p1.c +++ b/kernels/euler/fluid_vars_limitery_2x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limitery_2x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limitery_2x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limitery_2x_tensor_p2.c b/kernels/euler/fluid_vars_limitery_2x_tensor_p2.c index 89bfb4d4d..a5fcd5e4a 100644 --- a/kernels/euler/fluid_vars_limitery_2x_tensor_p2.c +++ b/kernels/euler/fluid_vars_limitery_2x_tensor_p2.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limitery_2x_tensor_p2(double limiter_fac, const struc double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limitery_2x_tensor_p2(double limiter_fac, const struc delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limitery_3x_ser_p1.c b/kernels/euler/fluid_vars_limitery_3x_ser_p1.c index 584295f50..a40d5d3c2 100644 --- a/kernels/euler/fluid_vars_limitery_3x_ser_p1.c +++ b/kernels/euler/fluid_vars_limitery_3x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limitery_3x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limitery_3x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterz_3x_ser_p1.c b/kernels/euler/fluid_vars_limiterz_3x_ser_p1.c index 398795002..8854ecf2b 100644 --- a/kernels/euler/fluid_vars_limiterz_3x_ser_p1.c +++ b/kernels/euler/fluid_vars_limiterz_3x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterz_3x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterz_3x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_1x_ser_p1.c b/kernels/maxwell/em_vars_limiterx_1x_ser_p1.c index 2225eea1c..264cc1da3 100644 --- a/kernels/maxwell/em_vars_limiterx_1x_ser_p1.c +++ b/kernels/maxwell/em_vars_limiterx_1x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_1x_ser_p2.c b/kernels/maxwell/em_vars_limiterx_1x_ser_p2.c index 2cb29b0b6..e77b90eec 100644 --- a/kernels/maxwell/em_vars_limiterx_1x_ser_p2.c +++ b/kernels/maxwell/em_vars_limiterx_1x_ser_p2.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p2(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p2(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_1x_ser_p3.c b/kernels/maxwell/em_vars_limiterx_1x_ser_p3.c index bfb192cb2..3c36b429c 100644 --- a/kernels/maxwell/em_vars_limiterx_1x_ser_p3.c +++ b/kernels/maxwell/em_vars_limiterx_1x_ser_p3.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p3(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p3(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_2x_ser_p1.c b/kernels/maxwell/em_vars_limiterx_2x_ser_p1.c index bb9a0fc32..412897237 100644 --- a/kernels/maxwell/em_vars_limiterx_2x_ser_p1.c +++ b/kernels/maxwell/em_vars_limiterx_2x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_2x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_2x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_2x_tensor_p2.c b/kernels/maxwell/em_vars_limiterx_2x_tensor_p2.c index d4fdb5c3d..e83040d24 100644 --- a/kernels/maxwell/em_vars_limiterx_2x_tensor_p2.c +++ b/kernels/maxwell/em_vars_limiterx_2x_tensor_p2.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_2x_tensor_p2(double limiter_fac, const struct g double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_2x_tensor_p2(double limiter_fac, const struct g delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_3x_ser_p1.c b/kernels/maxwell/em_vars_limiterx_3x_ser_p1.c index 6642ae8c4..8b3ab26d2 100644 --- a/kernels/maxwell/em_vars_limiterx_3x_ser_p1.c +++ b/kernels/maxwell/em_vars_limiterx_3x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_3x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_3x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limitery_2x_ser_p1.c b/kernels/maxwell/em_vars_limitery_2x_ser_p1.c index 700055b5c..23a4cf1d5 100644 --- a/kernels/maxwell/em_vars_limitery_2x_ser_p1.c +++ b/kernels/maxwell/em_vars_limitery_2x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limitery_2x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limitery_2x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limitery_2x_tensor_p2.c b/kernels/maxwell/em_vars_limitery_2x_tensor_p2.c index f66df22f6..6d6be859a 100644 --- a/kernels/maxwell/em_vars_limitery_2x_tensor_p2.c +++ b/kernels/maxwell/em_vars_limitery_2x_tensor_p2.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limitery_2x_tensor_p2(double limiter_fac, const struct g double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limitery_2x_tensor_p2(double limiter_fac, const struct g delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limitery_3x_ser_p1.c b/kernels/maxwell/em_vars_limitery_3x_ser_p1.c index 7dd617012..fd77ca1a3 100644 --- a/kernels/maxwell/em_vars_limitery_3x_ser_p1.c +++ b/kernels/maxwell/em_vars_limitery_3x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limitery_3x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limitery_3x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterz_3x_ser_p1.c b/kernels/maxwell/em_vars_limiterz_3x_ser_p1.c index 0d833c2cc..25c271e47 100644 --- a/kernels/maxwell/em_vars_limiterz_3x_ser_p1.c +++ b/kernels/maxwell/em_vars_limiterz_3x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterz_3x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterz_3x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c index c1803af96..4c694c197 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.7071067811865475*rhouy_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.7071067811865475*rhouz_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c index d6be53185..19d2835f6 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p2(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p2(double limiter_fac, const struct delta_c[8] = 0.6324555320336759*rhouy_c[1]*uz_c[2]+0.6324555320336759*uz_c[1]*rhouy_c[2]+0.7071067811865475*rhouy_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.6324555320336759*rhouz_c[1]*uz_c[2]+0.6324555320336759*uz_c[1]*rhouz_c[2]+0.7071067811865475*rhouz_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c index 8305c96d6..5c0c886ec 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p3(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p3(double limiter_fac, const struct delta_c[8] = 0.6210590034081186*rhouy_c[2]*uz_c[3]+0.6210590034081186*uz_c[2]*rhouy_c[3]+0.6324555320336759*rhouy_c[1]*uz_c[2]+0.6324555320336759*uz_c[1]*rhouy_c[2]+0.7071067811865475*rhouy_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.6210590034081186*rhouz_c[2]*uz_c[3]+0.6210590034081186*uz_c[2]*rhouz_c[3]+0.6324555320336759*rhouz_c[1]*uz_c[2]+0.6324555320336759*uz_c[1]*rhouz_c[2]+0.7071067811865475*rhouz_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c index 16669a442..f0eebd7c1 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_2x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_2x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.5*rhouy_c[2]*uz_c[3]+0.5*uz_c[2]*rhouy_c[3]+0.5*rhouy_c[0]*uz_c[1]+0.5*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.5*rhouz_c[2]*uz_c[3]+0.5*uz_c[2]*rhouz_c[3]+0.5*rhouz_c[0]*uz_c[1]+0.5*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c b/kernels/pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c index 3fbee9a44..a757b5b37 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_2x_tensor_p2(double limiter_fac, const stru double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_2x_tensor_p2(double limiter_fac, const stru delta_c[8] = 0.447213595499958*rhouy_c[7]*uz_c[8]+0.447213595499958*uz_c[7]*rhouy_c[8]+0.5000000000000001*rhouy_c[5]*uz_c[7]+0.5000000000000001*uz_c[5]*rhouy_c[7]+0.447213595499958*rhouy_c[3]*uz_c[6]+0.447213595499958*uz_c[3]*rhouy_c[6]+0.4472135954999579*rhouy_c[1]*uz_c[4]+0.4472135954999579*uz_c[1]*rhouy_c[4]+0.5*rhouy_c[2]*uz_c[3]+0.5*uz_c[2]*rhouy_c[3]+0.5*rhouy_c[0]*uz_c[1]+0.5*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.447213595499958*rhouz_c[7]*uz_c[8]+0.447213595499958*uz_c[7]*rhouz_c[8]+0.5000000000000001*rhouz_c[5]*uz_c[7]+0.5000000000000001*uz_c[5]*rhouz_c[7]+0.447213595499958*rhouz_c[3]*uz_c[6]+0.447213595499958*uz_c[3]*rhouz_c[6]+0.4472135954999579*rhouz_c[1]*uz_c[4]+0.4472135954999579*uz_c[1]*rhouz_c[4]+0.5*rhouz_c[2]*uz_c[3]+0.5*uz_c[2]*rhouz_c[3]+0.5*rhouz_c[0]*uz_c[1]+0.5*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c index 88c9370ca..0aeda3a68 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_3x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_3x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.3535533905932737*rhouy_c[6]*uz_c[7]+0.3535533905932737*uz_c[6]*rhouy_c[7]+0.3535533905932737*rhouy_c[3]*uz_c[5]+0.3535533905932737*uz_c[3]*rhouy_c[5]+0.3535533905932737*rhouy_c[2]*uz_c[4]+0.3535533905932737*uz_c[2]*rhouy_c[4]+0.3535533905932737*rhouy_c[0]*uz_c[1]+0.3535533905932737*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.3535533905932737*rhouz_c[6]*uz_c[7]+0.3535533905932737*uz_c[6]*rhouz_c[7]+0.3535533905932737*rhouz_c[3]*uz_c[5]+0.3535533905932737*uz_c[3]*rhouz_c[5]+0.3535533905932737*rhouz_c[2]*uz_c[4]+0.3535533905932737*uz_c[2]*rhouz_c[4]+0.3535533905932737*rhouz_c[0]*uz_c[1]+0.3535533905932737*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c index 30350e5c5..86c88ce02 100644 --- a/kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_y_2x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_y_2x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.5*rhouy_c[1]*uz_c[3]+0.5*uz_c[1]*rhouy_c[3]+0.5*rhouy_c[0]*uz_c[2]+0.5*uz_c[0]*rhouy_c[2]+Pyz_c[2]; delta_c[9] = 0.5*rhouz_c[1]*uz_c[3]+0.5*uz_c[1]*rhouz_c[3]+0.5*rhouz_c[0]*uz_c[2]+0.5*uz_c[0]*rhouz_c[2]+Pzz_c[2]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c b/kernels/pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c index 7dac37fc2..fa50b66d7 100644 --- a/kernels/pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c +++ b/kernels/pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_y_2x_tensor_p2(double limiter_fac, const stru double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_y_2x_tensor_p2(double limiter_fac, const stru delta_c[8] = 0.447213595499958*rhouy_c[6]*uz_c[8]+0.447213595499958*uz_c[6]*rhouy_c[8]+0.447213595499958*rhouy_c[3]*uz_c[7]+0.447213595499958*uz_c[3]*rhouy_c[7]+0.5000000000000001*rhouy_c[4]*uz_c[6]+0.5000000000000001*uz_c[4]*rhouy_c[6]+0.4472135954999579*rhouy_c[2]*uz_c[5]+0.4472135954999579*uz_c[2]*rhouy_c[5]+0.5*rhouy_c[1]*uz_c[3]+0.5*uz_c[1]*rhouy_c[3]+0.5*rhouy_c[0]*uz_c[2]+0.5*uz_c[0]*rhouy_c[2]+Pyz_c[2]; delta_c[9] = 0.447213595499958*rhouz_c[6]*uz_c[8]+0.447213595499958*uz_c[6]*rhouz_c[8]+0.447213595499958*rhouz_c[3]*uz_c[7]+0.447213595499958*uz_c[3]*rhouz_c[7]+0.5000000000000001*rhouz_c[4]*uz_c[6]+0.5000000000000001*uz_c[4]*rhouz_c[6]+0.4472135954999579*rhouz_c[2]*uz_c[5]+0.4472135954999579*uz_c[2]*rhouz_c[5]+0.5*rhouz_c[1]*uz_c[3]+0.5*uz_c[1]*rhouz_c[3]+0.5*rhouz_c[0]*uz_c[2]+0.5*uz_c[0]*rhouz_c[2]+Pzz_c[2]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c index 6b71ae870..57b514b2e 100644 --- a/kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_y_3x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_y_3x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.3535533905932737*rhouy_c[5]*uz_c[7]+0.3535533905932737*uz_c[5]*rhouy_c[7]+0.3535533905932737*rhouy_c[3]*uz_c[6]+0.3535533905932737*uz_c[3]*rhouy_c[6]+0.3535533905932737*rhouy_c[1]*uz_c[4]+0.3535533905932737*uz_c[1]*rhouy_c[4]+0.3535533905932737*rhouy_c[0]*uz_c[2]+0.3535533905932737*uz_c[0]*rhouy_c[2]+Pyz_c[2]; delta_c[9] = 0.3535533905932737*rhouz_c[5]*uz_c[7]+0.3535533905932737*uz_c[5]*rhouz_c[7]+0.3535533905932737*rhouz_c[3]*uz_c[6]+0.3535533905932737*uz_c[3]*rhouz_c[6]+0.3535533905932737*rhouz_c[1]*uz_c[4]+0.3535533905932737*uz_c[1]*rhouz_c[4]+0.3535533905932737*rhouz_c[0]*uz_c[2]+0.3535533905932737*uz_c[0]*rhouz_c[2]+Pzz_c[2]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c index 49f8eabee..f8cb8f5eb 100644 --- a/kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_z_3x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_z_3x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.3535533905932737*rhouy_c[4]*uz_c[7]+0.3535533905932737*uz_c[4]*rhouy_c[7]+0.3535533905932737*rhouy_c[2]*uz_c[6]+0.3535533905932737*uz_c[2]*rhouy_c[6]+0.3535533905932737*rhouy_c[1]*uz_c[5]+0.3535533905932737*uz_c[1]*rhouy_c[5]+0.3535533905932737*rhouy_c[0]*uz_c[3]+0.3535533905932737*uz_c[0]*rhouy_c[3]+Pyz_c[3]; delta_c[9] = 0.3535533905932737*rhouz_c[4]*uz_c[7]+0.3535533905932737*uz_c[4]*rhouz_c[7]+0.3535533905932737*rhouz_c[2]*uz_c[6]+0.3535533905932737*uz_c[2]*rhouz_c[6]+0.3535533905932737*rhouz_c[1]*uz_c[5]+0.3535533905932737*uz_c[1]*rhouz_c[5]+0.3535533905932737*rhouz_c[0]*uz_c[3]+0.3535533905932737*uz_c[0]*rhouz_c[3]+Pzz_c[3]; double delta_c_local[10] = {0.0}; - gkyl_wv_eqn_rotate_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p1.c index c352ca886..234efa407 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p1.c @@ -130,8 +130,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_1x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -143,16 +143,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_1x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p2.c b/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p2.c index 8a60a6147..7b66aa678 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p2.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p2.c @@ -130,8 +130,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_1x_ser_p2(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -143,16 +143,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_1x_ser_p2(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_x_2x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_x_2x_ser_p1.c index 8eee1a231..ca2c4ce61 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_2x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_2x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_x_2x_tensor_p2.c b/kernels/pkpm/pkpm_vars_penalization_x_2x_tensor_p2.c index bf482abde..a1ca93185 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_2x_tensor_p2.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_2x_tensor_p2.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_x_3x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_x_3x_ser_p1.c index fd3d31a44..25124ad6d 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_3x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_3x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; @@ -356,8 +356,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -369,16 +369,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[3] = amdq[1]; apdq_rhoux_quad[3] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_y_2x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_y_2x_ser_p1.c index 7e2c69535..76118f375 100644 --- a/kernels/pkpm/pkpm_vars_penalization_y_2x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_y_2x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_y_2x_tensor_p2.c b/kernels/pkpm/pkpm_vars_penalization_y_2x_tensor_p2.c index d42ca0a09..62b17fdfe 100644 --- a/kernels/pkpm/pkpm_vars_penalization_y_2x_tensor_p2.c +++ b/kernels/pkpm/pkpm_vars_penalization_y_2x_tensor_p2.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_y_3x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_y_3x_ser_p1.c index 694ebe6fb..b17140a5e 100644 --- a/kernels/pkpm/pkpm_vars_penalization_y_3x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_y_3x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; @@ -356,8 +356,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -369,16 +369,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[3] = amdq[1]; apdq_rhoux_quad[3] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_z_3x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_z_3x_ser_p1.c index ac31ac7f5..20916101b 100644 --- a/kernels/pkpm/pkpm_vars_penalization_z_3x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_z_3x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[2]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[2]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[2]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; @@ -356,8 +356,8 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); - gkyl_wv_eqn_rotate_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); + wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -369,16 +369,16 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = gkyl_wv_eqn_waves(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[2]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - gkyl_wv_eqn_qfluct(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); - gkyl_wv_eqn_rotate_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); + wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); + wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); amdq_rhoux_quad[3] = amdq[1]; apdq_rhoux_quad[3] = apdq[1]; From c37f0d804f3db5ef1553fbd4b261c66644e2cda9 Mon Sep 17 00:00:00 2001 From: Junoravin Date: Thu, 19 Sep 2024 16:02:43 -0400 Subject: [PATCH 11/16] Let's try this again: now we don't even utilize the function pointers inside the equation object, we just directly call the function in the private header for the individual wv_eqn objects. Please for the love of CUDA gods work --- kernels/euler/euler_surfx_1x_ser_p1.c | 24 ++--- kernels/euler/euler_surfx_1x_ser_p2.c | 24 ++--- kernels/euler/euler_surfx_1x_ser_p3.c | 24 ++--- kernels/euler/euler_surfx_2x_ser_p1.c | 48 +++++----- kernels/euler/euler_surfx_2x_tensor_p2.c | 72 +++++++------- kernels/euler/euler_surfx_3x_ser_p1.c | 96 +++++++++---------- kernels/euler/euler_surfy_2x_ser_p1.c | 48 +++++----- kernels/euler/euler_surfy_2x_tensor_p2.c | 72 +++++++------- kernels/euler/euler_surfy_3x_ser_p1.c | 96 +++++++++---------- kernels/euler/euler_surfz_3x_ser_p1.c | 96 +++++++++---------- kernels/euler/fluid_vars_limiterx_1x_ser_p1.c | 14 +-- kernels/euler/fluid_vars_limiterx_1x_ser_p2.c | 14 +-- kernels/euler/fluid_vars_limiterx_1x_ser_p3.c | 14 +-- kernels/euler/fluid_vars_limiterx_2x_ser_p1.c | 14 +-- .../euler/fluid_vars_limiterx_2x_tensor_p2.c | 14 +-- kernels/euler/fluid_vars_limiterx_3x_ser_p1.c | 14 +-- kernels/euler/fluid_vars_limitery_2x_ser_p1.c | 14 +-- .../euler/fluid_vars_limitery_2x_tensor_p2.c | 14 +-- kernels/euler/fluid_vars_limitery_3x_ser_p1.c | 14 +-- kernels/euler/fluid_vars_limiterz_3x_ser_p1.c | 14 +-- kernels/euler/gkyl_euler_kernels.h | 1 + kernels/maxwell/em_vars_limiterx_1x_ser_p1.c | 14 +-- kernels/maxwell/em_vars_limiterx_1x_ser_p2.c | 14 +-- kernels/maxwell/em_vars_limiterx_1x_ser_p3.c | 14 +-- kernels/maxwell/em_vars_limiterx_2x_ser_p1.c | 14 +-- .../maxwell/em_vars_limiterx_2x_tensor_p2.c | 14 +-- kernels/maxwell/em_vars_limiterx_3x_ser_p1.c | 14 +-- kernels/maxwell/em_vars_limitery_2x_ser_p1.c | 14 +-- .../maxwell/em_vars_limitery_2x_tensor_p2.c | 14 +-- kernels/maxwell/em_vars_limitery_3x_ser_p1.c | 14 +-- kernels/maxwell/em_vars_limiterz_3x_ser_p1.c | 14 +-- kernels/maxwell/gkyl_maxwell_kernels.h | 1 + kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c | 14 +-- .../pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c | 14 +-- .../pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c | 14 +-- kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c | 14 +-- kernels/pkpm/gkyl_euler_pkpm_kernels.h | 1 + .../pkpm/pkpm_vars_penalization_x_1x_ser_p1.c | 12 +-- .../pkpm/pkpm_vars_penalization_x_1x_ser_p2.c | 12 +-- .../pkpm/pkpm_vars_penalization_x_2x_ser_p1.c | 24 ++--- .../pkpm_vars_penalization_x_2x_tensor_p2.c | 36 +++---- .../pkpm/pkpm_vars_penalization_x_3x_ser_p1.c | 48 +++++----- .../pkpm/pkpm_vars_penalization_y_2x_ser_p1.c | 24 ++--- .../pkpm_vars_penalization_y_2x_tensor_p2.c | 36 +++---- .../pkpm/pkpm_vars_penalization_y_3x_ser_p1.c | 48 +++++----- .../pkpm/pkpm_vars_penalization_z_3x_ser_p1.c | 48 +++++----- 52 files changed, 657 insertions(+), 654 deletions(-) diff --git a/kernels/euler/euler_surfx_1x_ser_p1.c b/kernels/euler/euler_surfx_1x_ser_p1.c index 175dc0e71..86fd1b8c8 100644 --- a/kernels/euler/euler_surfx_1x_ser_p1.c +++ b/kernels/euler/euler_surfx_1x_ser_p1.c @@ -129,10 +129,10 @@ GKYL_CU_DH double euler_surfx_1x_ser_p1(const double *w, const double *dxv, cons double q_cl_local[5] = {0.0}; double q_cr_local[5] = {0.0}; double q_rl_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); double delta_l[5] = {0.0}; double delta_r[5] = {0.0}; @@ -151,8 +151,8 @@ GKYL_CU_DH double euler_surfx_1x_ser_p1(const double *w, const double *dxv, cons double waves_r[15] = {0.0}; double speeds_l[3] = {0.0}; double speeds_r[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); double lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; @@ -167,17 +167,17 @@ GKYL_CU_DH double euler_surfx_1x_ser_p1(const double *w, const double *dxv, cons double apdq_l_local[5] = {0.0}; double amdq_r_local[5] = {0.0}; double apdq_r_local[5] = {0.0}; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); double amdq_l[5] = {0.0}; double apdq_l[5] = {0.0}; double amdq_r[5] = {0.0}; double apdq_r[5] = {0.0}; - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); Ghat_rho_l = 0.3061862178478972*rho_l[1]*uxl_r-0.3061862178478972*rho_c[1]*uxl_r+0.1767766952966369*rho_l[0]*uxl_r+0.1767766952966369*rho_c[0]*uxl_r+0.3061862178478972*rho_l[1]*uxc_l-0.3061862178478972*rho_c[1]*uxc_l+0.1767766952966369*rho_l[0]*uxc_l+0.1767766952966369*rho_c[0]*uxc_l-0.5*apdq_l[0]+0.5*amdq_l[0]; Ghat_rhoux_l = 0.5*Ghat_rho_l*uxl_r+0.5*Ghat_rho_l*uxc_l+0.5*pl_r+0.5*pc_l-0.5*apdq_l[1]+0.5*amdq_l[1]; diff --git a/kernels/euler/euler_surfx_1x_ser_p2.c b/kernels/euler/euler_surfx_1x_ser_p2.c index 1ace6c40b..209284524 100644 --- a/kernels/euler/euler_surfx_1x_ser_p2.c +++ b/kernels/euler/euler_surfx_1x_ser_p2.c @@ -129,10 +129,10 @@ GKYL_CU_DH double euler_surfx_1x_ser_p2(const double *w, const double *dxv, cons double q_cl_local[5] = {0.0}; double q_cr_local[5] = {0.0}; double q_rl_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); double delta_l[5] = {0.0}; double delta_r[5] = {0.0}; @@ -151,8 +151,8 @@ GKYL_CU_DH double euler_surfx_1x_ser_p2(const double *w, const double *dxv, cons double waves_r[15] = {0.0}; double speeds_l[3] = {0.0}; double speeds_r[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); double lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; @@ -167,17 +167,17 @@ GKYL_CU_DH double euler_surfx_1x_ser_p2(const double *w, const double *dxv, cons double apdq_l_local[5] = {0.0}; double amdq_r_local[5] = {0.0}; double apdq_r_local[5] = {0.0}; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); double amdq_l[5] = {0.0}; double apdq_l[5] = {0.0}; double amdq_r[5] = {0.0}; double apdq_r[5] = {0.0}; - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); Ghat_rho_l = 0.3952847075210474*rho_l[2]*uxl_r+0.3952847075210474*rho_c[2]*uxl_r+0.3061862178478972*rho_l[1]*uxl_r-0.3061862178478972*rho_c[1]*uxl_r+0.1767766952966369*rho_l[0]*uxl_r+0.1767766952966369*rho_c[0]*uxl_r+0.3952847075210474*rho_l[2]*uxc_l+0.3952847075210474*rho_c[2]*uxc_l+0.3061862178478972*rho_l[1]*uxc_l-0.3061862178478972*rho_c[1]*uxc_l+0.1767766952966369*rho_l[0]*uxc_l+0.1767766952966369*rho_c[0]*uxc_l-0.5*apdq_l[0]+0.5*amdq_l[0]; Ghat_rhoux_l = 0.5*Ghat_rho_l*uxl_r+0.5*Ghat_rho_l*uxc_l+0.5*pl_r+0.5*pc_l-0.5*apdq_l[1]+0.5*amdq_l[1]; diff --git a/kernels/euler/euler_surfx_1x_ser_p3.c b/kernels/euler/euler_surfx_1x_ser_p3.c index 0a208e187..400855381 100644 --- a/kernels/euler/euler_surfx_1x_ser_p3.c +++ b/kernels/euler/euler_surfx_1x_ser_p3.c @@ -129,10 +129,10 @@ GKYL_CU_DH double euler_surfx_1x_ser_p3(const double *w, const double *dxv, cons double q_cl_local[5] = {0.0}; double q_cr_local[5] = {0.0}; double q_rl_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); double delta_l[5] = {0.0}; double delta_r[5] = {0.0}; @@ -151,8 +151,8 @@ GKYL_CU_DH double euler_surfx_1x_ser_p3(const double *w, const double *dxv, cons double waves_r[15] = {0.0}; double speeds_l[3] = {0.0}; double speeds_r[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); double lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; @@ -167,17 +167,17 @@ GKYL_CU_DH double euler_surfx_1x_ser_p3(const double *w, const double *dxv, cons double apdq_l_local[5] = {0.0}; double amdq_r_local[5] = {0.0}; double apdq_r_local[5] = {0.0}; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); double amdq_l[5] = {0.0}; double apdq_l[5] = {0.0}; double amdq_r[5] = {0.0}; double apdq_r[5] = {0.0}; - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); Ghat_rho_l = 0.4677071733467427*rho_l[3]*uxl_r-0.4677071733467427*rho_c[3]*uxl_r+0.3952847075210474*rho_l[2]*uxl_r+0.3952847075210474*rho_c[2]*uxl_r+0.3061862178478972*rho_l[1]*uxl_r-0.3061862178478972*rho_c[1]*uxl_r+0.1767766952966369*rho_l[0]*uxl_r+0.1767766952966369*rho_c[0]*uxl_r+0.4677071733467427*rho_l[3]*uxc_l-0.4677071733467427*rho_c[3]*uxc_l+0.3952847075210474*rho_l[2]*uxc_l+0.3952847075210474*rho_c[2]*uxc_l+0.3061862178478972*rho_l[1]*uxc_l-0.3061862178478972*rho_c[1]*uxc_l+0.1767766952966369*rho_l[0]*uxc_l+0.1767766952966369*rho_c[0]*uxc_l-0.5*apdq_l[0]+0.5*amdq_l[0]; Ghat_rhoux_l = 0.5*Ghat_rho_l*uxl_r+0.5*Ghat_rho_l*uxc_l+0.5*pl_r+0.5*pc_l-0.5*apdq_l[1]+0.5*amdq_l[1]; diff --git a/kernels/euler/euler_surfx_2x_ser_p1.c b/kernels/euler/euler_surfx_2x_ser_p1.c index cefa9e4e3..cdac2d6eb 100644 --- a/kernels/euler/euler_surfx_2x_ser_p1.c +++ b/kernels/euler/euler_surfx_2x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_2x_p1_surfx1_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_2x_p1_surfx1_eval_quad_node_0_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_2x_p1_surfx1_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_2x_p1_surfx1_eval_quad_node_1_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfx_2x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; diff --git a/kernels/euler/euler_surfx_2x_tensor_p2.c b/kernels/euler/euler_surfx_2x_tensor_p2.c index 785646002..aa7cfb3f9 100644 --- a/kernels/euler/euler_surfx_2x_tensor_p2.c +++ b/kernels/euler/euler_surfx_2x_tensor_p2.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx1_eval_quad_node_0_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx1_eval_quad_node_0_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx1_eval_quad_node_1_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx1_eval_quad_node_1_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx1_eval_quad_node_2_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx1_eval_quad_node_2_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfx_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; diff --git a/kernels/euler/euler_surfx_3x_ser_p1.c b/kernels/euler/euler_surfx_3x_ser_p1.c index 92f13385c..ff84afc45 100644 --- a/kernels/euler/euler_surfx_3x_ser_p1.c +++ b/kernels/euler/euler_surfx_3x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx1_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx1_eval_quad_node_0_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx1_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx1_eval_quad_node_1_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx1_eval_quad_node_2_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx1_eval_quad_node_2_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; @@ -392,10 +392,10 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx1_eval_quad_node_3_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx1_eval_quad_node_3_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -408,8 +408,8 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[0]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -419,13 +419,13 @@ GKYL_CU_DH double euler_surfx_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[0], geom_l->tau2[0], geom_l->norm[0], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[0], geom_r->tau2[0], geom_r->norm[0], apdq_r_local, apdq_r); amdq_rho_quad_l[3] = amdq_l[0]; apdq_rho_quad_l[3] = apdq_l[0]; diff --git a/kernels/euler/euler_surfy_2x_ser_p1.c b/kernels/euler/euler_surfy_2x_ser_p1.c index 39ac36e87..5c3616a01 100644 --- a/kernels/euler/euler_surfy_2x_ser_p1.c +++ b/kernels/euler/euler_surfy_2x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_2x_p1_surfx2_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_2x_p1_surfx2_eval_quad_node_0_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_2x_p1_surfx2_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_2x_p1_surfx2_eval_quad_node_1_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfy_2x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; diff --git a/kernels/euler/euler_surfy_2x_tensor_p2.c b/kernels/euler/euler_surfy_2x_tensor_p2.c index c9fd15a03..24e6f398c 100644 --- a/kernels/euler/euler_surfy_2x_tensor_p2.c +++ b/kernels/euler/euler_surfy_2x_tensor_p2.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx2_eval_quad_node_0_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx2_eval_quad_node_0_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx2_eval_quad_node_1_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx2_eval_quad_node_1_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c q_rl[3] = tensor_2x_p2_surfx2_eval_quad_node_2_l(rhouz_r); q_rl[4] = tensor_2x_p2_surfx2_eval_quad_node_2_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfy_2x_tensor_p2(const double *w, const double *dxv, c speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; diff --git a/kernels/euler/euler_surfy_3x_ser_p1.c b/kernels/euler/euler_surfy_3x_ser_p1.c index f8e8f1a63..871414bed 100644 --- a/kernels/euler/euler_surfy_3x_ser_p1.c +++ b/kernels/euler/euler_surfy_3x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx2_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx2_eval_quad_node_0_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx2_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx2_eval_quad_node_1_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx2_eval_quad_node_2_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx2_eval_quad_node_2_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; @@ -392,10 +392,10 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx2_eval_quad_node_3_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx2_eval_quad_node_3_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -408,8 +408,8 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[1]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -419,13 +419,13 @@ GKYL_CU_DH double euler_surfy_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[1], geom_l->tau2[1], geom_l->norm[1], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[1], geom_r->tau2[1], geom_r->norm[1], apdq_r_local, apdq_r); amdq_rho_quad_l[3] = amdq_l[0]; apdq_rho_quad_l[3] = apdq_l[0]; diff --git a/kernels/euler/euler_surfz_3x_ser_p1.c b/kernels/euler/euler_surfz_3x_ser_p1.c index 366124af7..2a2e58d52 100644 --- a/kernels/euler/euler_surfz_3x_ser_p1.c +++ b/kernels/euler/euler_surfz_3x_ser_p1.c @@ -158,10 +158,10 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx3_eval_quad_node_0_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx3_eval_quad_node_0_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -174,8 +174,8 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[2]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -185,13 +185,13 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); amdq_rho_quad_l[0] = amdq_l[0]; apdq_rho_quad_l[0] = apdq_l[0]; @@ -236,10 +236,10 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx3_eval_quad_node_1_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx3_eval_quad_node_1_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -252,8 +252,8 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[2]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -263,13 +263,13 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); amdq_rho_quad_l[1] = amdq_l[0]; apdq_rho_quad_l[1] = apdq_l[0]; @@ -314,10 +314,10 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx3_eval_quad_node_2_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx3_eval_quad_node_2_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -330,8 +330,8 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[2]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -341,13 +341,13 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); amdq_rho_quad_l[2] = amdq_l[0]; apdq_rho_quad_l[2] = apdq_l[0]; @@ -392,10 +392,10 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons q_rl[3] = ser_3x_p1_surfx3_eval_quad_node_3_l(rhouz_r); q_rl[4] = ser_3x_p1_surfx3_eval_quad_node_3_l(energy_r); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); + rot_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_lr, q_lr_local); + rot_to_local(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], q_cl, q_cl_local); + rot_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_cr, q_cr_local); + rot_to_local(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], q_rl, q_rl_local); delta_l[0] = q_cl_local[0] - q_lr_local[0]; delta_l[1] = q_cl_local[1] - q_lr_local[1]; @@ -408,8 +408,8 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons delta_r[3] = q_rl_local[3] - q_cr_local[3]; delta_r[4] = q_rl_local[4] - q_cr_local[4]; - my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); - my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); + my_max_speed_l = wave_roe(wv_eqn, delta_l, q_lr_local, q_cl_local, waves_l, speeds_l); + my_max_speed_r = wave_roe(wv_eqn, delta_r, q_cr_local, q_rl_local, waves_r, speeds_r); lenr_l = geom_l->lenr[2]; speeds_l[0] *= lenr_l; speeds_l[1] *= lenr_l; @@ -419,13 +419,13 @@ GKYL_CU_DH double euler_surfz_3x_ser_p1(const double *w, const double *dxv, cons speeds_r[1] *= lenr_r; speeds_r[2] *= lenr_r; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); + qfluct_roe(wv_eqn, q_lr_local, q_cl_local, waves_l, speeds_l, amdq_l_local, apdq_l_local); + qfluct_roe(wv_eqn, q_cr_local, q_rl_local, waves_r, speeds_r, amdq_r_local, apdq_r_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); - wv_eqn->rotate_to_global_func(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); + rot_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], amdq_l_local, amdq_l); + rot_to_global(wv_eqn, geom_l->tau1[2], geom_l->tau2[2], geom_l->norm[2], apdq_l_local, apdq_l); + rot_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], amdq_r_local, amdq_r); + rot_to_global(wv_eqn, geom_r->tau1[2], geom_r->tau2[2], geom_r->norm[2], apdq_r_local, apdq_r); amdq_rho_quad_l[3] = amdq_l[0]; apdq_rho_quad_l[3] = apdq_l[0]; diff --git a/kernels/euler/fluid_vars_limiterx_1x_ser_p1.c b/kernels/euler/fluid_vars_limiterx_1x_ser_p1.c index e8d01ca67..8ecc7b17e 100644 --- a/kernels/euler/fluid_vars_limiterx_1x_ser_p1.c +++ b/kernels/euler/fluid_vars_limiterx_1x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_1x_ser_p2.c b/kernels/euler/fluid_vars_limiterx_1x_ser_p2.c index 523fa4d37..128e2325a 100644 --- a/kernels/euler/fluid_vars_limiterx_1x_ser_p2.c +++ b/kernels/euler/fluid_vars_limiterx_1x_ser_p2.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p2(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p2(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_1x_ser_p3.c b/kernels/euler/fluid_vars_limiterx_1x_ser_p3.c index 8ba902247..543bd5f2d 100644 --- a/kernels/euler/fluid_vars_limiterx_1x_ser_p3.c +++ b/kernels/euler/fluid_vars_limiterx_1x_ser_p3.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p3(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_1x_ser_p3(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_2x_ser_p1.c b/kernels/euler/fluid_vars_limiterx_2x_ser_p1.c index fd42006ab..46632d998 100644 --- a/kernels/euler/fluid_vars_limiterx_2x_ser_p1.c +++ b/kernels/euler/fluid_vars_limiterx_2x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_2x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_2x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_2x_tensor_p2.c b/kernels/euler/fluid_vars_limiterx_2x_tensor_p2.c index 2c4affb78..92b84902a 100644 --- a/kernels/euler/fluid_vars_limiterx_2x_tensor_p2.c +++ b/kernels/euler/fluid_vars_limiterx_2x_tensor_p2.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_2x_tensor_p2(double limiter_fac, const struc double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_2x_tensor_p2(double limiter_fac, const struc delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterx_3x_ser_p1.c b/kernels/euler/fluid_vars_limiterx_3x_ser_p1.c index 105a518bc..1cc463a7b 100644 --- a/kernels/euler/fluid_vars_limiterx_3x_ser_p1.c +++ b/kernels/euler/fluid_vars_limiterx_3x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterx_3x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterx_3x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limitery_2x_ser_p1.c b/kernels/euler/fluid_vars_limitery_2x_ser_p1.c index 5540c29b7..721759a93 100644 --- a/kernels/euler/fluid_vars_limitery_2x_ser_p1.c +++ b/kernels/euler/fluid_vars_limitery_2x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limitery_2x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limitery_2x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limitery_2x_tensor_p2.c b/kernels/euler/fluid_vars_limitery_2x_tensor_p2.c index a5fcd5e4a..df00ca159 100644 --- a/kernels/euler/fluid_vars_limitery_2x_tensor_p2.c +++ b/kernels/euler/fluid_vars_limitery_2x_tensor_p2.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limitery_2x_tensor_p2(double limiter_fac, const struc double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limitery_2x_tensor_p2(double limiter_fac, const struc delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limitery_3x_ser_p1.c b/kernels/euler/fluid_vars_limitery_3x_ser_p1.c index a40d5d3c2..2c0c2ee8a 100644 --- a/kernels/euler/fluid_vars_limitery_3x_ser_p1.c +++ b/kernels/euler/fluid_vars_limitery_3x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limitery_3x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limitery_3x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/fluid_vars_limiterz_3x_ser_p1.c b/kernels/euler/fluid_vars_limiterz_3x_ser_p1.c index 8854ecf2b..9af60d173 100644 --- a/kernels/euler/fluid_vars_limiterz_3x_ser_p1.c +++ b/kernels/euler/fluid_vars_limiterz_3x_ser_p1.c @@ -51,9 +51,9 @@ GKYL_CU_DH void fluid_vars_limiterz_3x_ser_p1(double limiter_fac, const struct g double q_l_local[5] = {0.0}; double q_c_local[5] = {0.0}; double q_r_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[5] = {0.0}; double delta_c[5] = {0.0}; @@ -75,15 +75,15 @@ GKYL_CU_DH void fluid_vars_limiterz_3x_ser_p1(double limiter_fac, const struct g delta_r[4] = limiter_fac*(q_r_local[4] - q_c_local[4]); double delta_c_local[5] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[15] = {0.0}; double waves_slope_c[15] = {0.0}; double waves_slope_r[15] = {0.0}; double speeds[3] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[5] = {0.0}; diff --git a/kernels/euler/gkyl_euler_kernels.h b/kernels/euler/gkyl_euler_kernels.h index 1098f16fa..9d2ba88bb 100644 --- a/kernels/euler/gkyl_euler_kernels.h +++ b/kernels/euler/gkyl_euler_kernels.h @@ -3,6 +3,7 @@ #include #include #include +#include #include EXTERN_C_BEG diff --git a/kernels/maxwell/em_vars_limiterx_1x_ser_p1.c b/kernels/maxwell/em_vars_limiterx_1x_ser_p1.c index 264cc1da3..4325c6eed 100644 --- a/kernels/maxwell/em_vars_limiterx_1x_ser_p1.c +++ b/kernels/maxwell/em_vars_limiterx_1x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_1x_ser_p2.c b/kernels/maxwell/em_vars_limiterx_1x_ser_p2.c index e77b90eec..1a12733db 100644 --- a/kernels/maxwell/em_vars_limiterx_1x_ser_p2.c +++ b/kernels/maxwell/em_vars_limiterx_1x_ser_p2.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p2(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p2(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_1x_ser_p3.c b/kernels/maxwell/em_vars_limiterx_1x_ser_p3.c index 3c36b429c..9265d4583 100644 --- a/kernels/maxwell/em_vars_limiterx_1x_ser_p3.c +++ b/kernels/maxwell/em_vars_limiterx_1x_ser_p3.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p3(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_1x_ser_p3(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_2x_ser_p1.c b/kernels/maxwell/em_vars_limiterx_2x_ser_p1.c index 412897237..d6e2679e7 100644 --- a/kernels/maxwell/em_vars_limiterx_2x_ser_p1.c +++ b/kernels/maxwell/em_vars_limiterx_2x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_2x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_2x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_2x_tensor_p2.c b/kernels/maxwell/em_vars_limiterx_2x_tensor_p2.c index e83040d24..7d4e693d7 100644 --- a/kernels/maxwell/em_vars_limiterx_2x_tensor_p2.c +++ b/kernels/maxwell/em_vars_limiterx_2x_tensor_p2.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_2x_tensor_p2(double limiter_fac, const struct g double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_2x_tensor_p2(double limiter_fac, const struct g delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterx_3x_ser_p1.c b/kernels/maxwell/em_vars_limiterx_3x_ser_p1.c index 8b3ab26d2..914ec827e 100644 --- a/kernels/maxwell/em_vars_limiterx_3x_ser_p1.c +++ b/kernels/maxwell/em_vars_limiterx_3x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterx_3x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterx_3x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limitery_2x_ser_p1.c b/kernels/maxwell/em_vars_limitery_2x_ser_p1.c index 23a4cf1d5..6ef6a47bf 100644 --- a/kernels/maxwell/em_vars_limitery_2x_ser_p1.c +++ b/kernels/maxwell/em_vars_limitery_2x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limitery_2x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limitery_2x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limitery_2x_tensor_p2.c b/kernels/maxwell/em_vars_limitery_2x_tensor_p2.c index 6d6be859a..0834c7db4 100644 --- a/kernels/maxwell/em_vars_limitery_2x_tensor_p2.c +++ b/kernels/maxwell/em_vars_limitery_2x_tensor_p2.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limitery_2x_tensor_p2(double limiter_fac, const struct g double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limitery_2x_tensor_p2(double limiter_fac, const struct g delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limitery_3x_ser_p1.c b/kernels/maxwell/em_vars_limitery_3x_ser_p1.c index fd77ca1a3..5546b9a34 100644 --- a/kernels/maxwell/em_vars_limitery_3x_ser_p1.c +++ b/kernels/maxwell/em_vars_limitery_3x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limitery_3x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limitery_3x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/em_vars_limiterz_3x_ser_p1.c b/kernels/maxwell/em_vars_limiterz_3x_ser_p1.c index 25c271e47..3bb3f516b 100644 --- a/kernels/maxwell/em_vars_limiterz_3x_ser_p1.c +++ b/kernels/maxwell/em_vars_limiterz_3x_ser_p1.c @@ -69,9 +69,9 @@ GKYL_CU_DH void em_vars_limiterz_3x_ser_p1(double limiter_fac, const struct gkyl double q_l_local[8] = {0.0}; double q_c_local[8] = {0.0}; double q_r_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[8] = {0.0}; double delta_c[8] = {0.0}; @@ -102,15 +102,15 @@ GKYL_CU_DH void em_vars_limiterz_3x_ser_p1(double limiter_fac, const struct gkyl delta_r[7] = limiter_fac*(q_r_local[7] - q_c_local[7]); double delta_c_local[8] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[48] = {0.0}; double waves_slope_c[48] = {0.0}; double waves_slope_r[48] = {0.0}; double speeds[6] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[48] = {0.0}; double slope[8] = {0.0}; diff --git a/kernels/maxwell/gkyl_maxwell_kernels.h b/kernels/maxwell/gkyl_maxwell_kernels.h index f5c4e2898..d088b2346 100644 --- a/kernels/maxwell/gkyl_maxwell_kernels.h +++ b/kernels/maxwell/gkyl_maxwell_kernels.h @@ -3,6 +3,7 @@ #include #include #include +#include #include EXTERN_C_BEG typedef struct { double c, chi, gamma; } gkyl_maxwell_inp; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c index 4c694c197..020026a83 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.7071067811865475*rhouy_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.7071067811865475*rhouz_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c index 19d2835f6..cc50c623c 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p2.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p2(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p2(double limiter_fac, const struct delta_c[8] = 0.6324555320336759*rhouy_c[1]*uz_c[2]+0.6324555320336759*uz_c[1]*rhouy_c[2]+0.7071067811865475*rhouy_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.6324555320336759*rhouz_c[1]*uz_c[2]+0.6324555320336759*uz_c[1]*rhouz_c[2]+0.7071067811865475*rhouz_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c index 5c0c886ec..5ae5e7657 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_1x_ser_p3.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p3(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_1x_ser_p3(double limiter_fac, const struct delta_c[8] = 0.6210590034081186*rhouy_c[2]*uz_c[3]+0.6210590034081186*uz_c[2]*rhouy_c[3]+0.6324555320336759*rhouy_c[1]*uz_c[2]+0.6324555320336759*uz_c[1]*rhouy_c[2]+0.7071067811865475*rhouy_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.6210590034081186*rhouz_c[2]*uz_c[3]+0.6210590034081186*uz_c[2]*rhouz_c[3]+0.6324555320336759*rhouz_c[1]*uz_c[2]+0.6324555320336759*uz_c[1]*rhouz_c[2]+0.7071067811865475*rhouz_c[0]*uz_c[1]+0.7071067811865475*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c index f0eebd7c1..64ba829dc 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_2x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_2x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_2x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.5*rhouy_c[2]*uz_c[3]+0.5*uz_c[2]*rhouy_c[3]+0.5*rhouy_c[0]*uz_c[1]+0.5*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.5*rhouz_c[2]*uz_c[3]+0.5*uz_c[2]*rhouz_c[3]+0.5*rhouz_c[0]*uz_c[1]+0.5*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c b/kernels/pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c index a757b5b37..3d55a15cf 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_2x_tensor_p2.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_2x_tensor_p2(double limiter_fac, const stru double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_2x_tensor_p2(double limiter_fac, const stru delta_c[8] = 0.447213595499958*rhouy_c[7]*uz_c[8]+0.447213595499958*uz_c[7]*rhouy_c[8]+0.5000000000000001*rhouy_c[5]*uz_c[7]+0.5000000000000001*uz_c[5]*rhouy_c[7]+0.447213595499958*rhouy_c[3]*uz_c[6]+0.447213595499958*uz_c[3]*rhouy_c[6]+0.4472135954999579*rhouy_c[1]*uz_c[4]+0.4472135954999579*uz_c[1]*rhouy_c[4]+0.5*rhouy_c[2]*uz_c[3]+0.5*uz_c[2]*rhouy_c[3]+0.5*rhouy_c[0]*uz_c[1]+0.5*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.447213595499958*rhouz_c[7]*uz_c[8]+0.447213595499958*uz_c[7]*rhouz_c[8]+0.5000000000000001*rhouz_c[5]*uz_c[7]+0.5000000000000001*uz_c[5]*rhouz_c[7]+0.447213595499958*rhouz_c[3]*uz_c[6]+0.447213595499958*uz_c[3]*rhouz_c[6]+0.4472135954999579*rhouz_c[1]*uz_c[4]+0.4472135954999579*uz_c[1]*rhouz_c[4]+0.5*rhouz_c[2]*uz_c[3]+0.5*uz_c[2]*rhouz_c[3]+0.5*rhouz_c[0]*uz_c[1]+0.5*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c index 0aeda3a68..2fb669d9c 100644 --- a/kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_x_3x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_x_3x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_x_3x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.3535533905932737*rhouy_c[6]*uz_c[7]+0.3535533905932737*uz_c[6]*rhouy_c[7]+0.3535533905932737*rhouy_c[3]*uz_c[5]+0.3535533905932737*uz_c[3]*rhouy_c[5]+0.3535533905932737*rhouy_c[2]*uz_c[4]+0.3535533905932737*uz_c[2]*rhouy_c[4]+0.3535533905932737*rhouy_c[0]*uz_c[1]+0.3535533905932737*uz_c[0]*rhouy_c[1]+Pyz_c[1]; delta_c[9] = 0.3535533905932737*rhouz_c[6]*uz_c[7]+0.3535533905932737*uz_c[6]*rhouz_c[7]+0.3535533905932737*rhouz_c[3]*uz_c[5]+0.3535533905932737*uz_c[3]*rhouz_c[5]+0.3535533905932737*rhouz_c[2]*uz_c[4]+0.3535533905932737*uz_c[2]*rhouz_c[4]+0.3535533905932737*rhouz_c[0]*uz_c[1]+0.3535533905932737*uz_c[0]*rhouz_c[1]+Pzz_c[1]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c index 86c88ce02..247e2907b 100644 --- a/kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_y_2x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_y_2x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_y_2x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.5*rhouy_c[1]*uz_c[3]+0.5*uz_c[1]*rhouy_c[3]+0.5*rhouy_c[0]*uz_c[2]+0.5*uz_c[0]*rhouy_c[2]+Pyz_c[2]; delta_c[9] = 0.5*rhouz_c[1]*uz_c[3]+0.5*uz_c[1]*rhouz_c[3]+0.5*rhouz_c[0]*uz_c[2]+0.5*uz_c[0]*rhouz_c[2]+Pzz_c[2]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c b/kernels/pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c index fa50b66d7..505e8bd8f 100644 --- a/kernels/pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c +++ b/kernels/pkpm/euler_pkpm_limiter_y_2x_tensor_p2.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_y_2x_tensor_p2(double limiter_fac, const stru double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_y_2x_tensor_p2(double limiter_fac, const stru delta_c[8] = 0.447213595499958*rhouy_c[6]*uz_c[8]+0.447213595499958*uz_c[6]*rhouy_c[8]+0.447213595499958*rhouy_c[3]*uz_c[7]+0.447213595499958*uz_c[3]*rhouy_c[7]+0.5000000000000001*rhouy_c[4]*uz_c[6]+0.5000000000000001*uz_c[4]*rhouy_c[6]+0.4472135954999579*rhouy_c[2]*uz_c[5]+0.4472135954999579*uz_c[2]*rhouy_c[5]+0.5*rhouy_c[1]*uz_c[3]+0.5*uz_c[1]*rhouy_c[3]+0.5*rhouy_c[0]*uz_c[2]+0.5*uz_c[0]*rhouy_c[2]+Pyz_c[2]; delta_c[9] = 0.447213595499958*rhouz_c[6]*uz_c[8]+0.447213595499958*uz_c[6]*rhouz_c[8]+0.447213595499958*rhouz_c[3]*uz_c[7]+0.447213595499958*uz_c[3]*rhouz_c[7]+0.5000000000000001*rhouz_c[4]*uz_c[6]+0.5000000000000001*uz_c[4]*rhouz_c[6]+0.4472135954999579*rhouz_c[2]*uz_c[5]+0.4472135954999579*uz_c[2]*rhouz_c[5]+0.5*rhouz_c[1]*uz_c[3]+0.5*uz_c[1]*rhouz_c[3]+0.5*rhouz_c[0]*uz_c[2]+0.5*uz_c[0]*rhouz_c[2]+Pzz_c[2]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c index 57b514b2e..a98837d02 100644 --- a/kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_y_3x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_y_3x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_y_3x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.3535533905932737*rhouy_c[5]*uz_c[7]+0.3535533905932737*uz_c[5]*rhouy_c[7]+0.3535533905932737*rhouy_c[3]*uz_c[6]+0.3535533905932737*uz_c[3]*rhouy_c[6]+0.3535533905932737*rhouy_c[1]*uz_c[4]+0.3535533905932737*uz_c[1]*rhouy_c[4]+0.3535533905932737*rhouy_c[0]*uz_c[2]+0.3535533905932737*uz_c[0]*rhouy_c[2]+Pyz_c[2]; delta_c[9] = 0.3535533905932737*rhouz_c[5]*uz_c[7]+0.3535533905932737*uz_c[5]*rhouz_c[7]+0.3535533905932737*rhouz_c[3]*uz_c[6]+0.3535533905932737*uz_c[3]*rhouz_c[6]+0.3535533905932737*rhouz_c[1]*uz_c[4]+0.3535533905932737*uz_c[1]*rhouz_c[4]+0.3535533905932737*rhouz_c[0]*uz_c[2]+0.3535533905932737*uz_c[0]*rhouz_c[2]+Pzz_c[2]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c b/kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c index f8cb8f5eb..d63deb82a 100644 --- a/kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c +++ b/kernels/pkpm/euler_pkpm_limiter_z_3x_ser_p1.c @@ -94,9 +94,9 @@ GKYL_CU_DH void euler_pkpm_limiter_z_3x_ser_p1(double limiter_fac, const struct double q_l_local[10] = {0.0}; double q_c_local[10] = {0.0}; double q_r_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_l, q_l_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_c, q_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, q_avg_r, q_r_local); double delta_l[10] = {0.0}; double delta_r[10] = {0.0}; @@ -133,15 +133,15 @@ GKYL_CU_DH void euler_pkpm_limiter_z_3x_ser_p1(double limiter_fac, const struct delta_c[8] = 0.3535533905932737*rhouy_c[4]*uz_c[7]+0.3535533905932737*uz_c[4]*rhouy_c[7]+0.3535533905932737*rhouy_c[2]*uz_c[6]+0.3535533905932737*uz_c[2]*rhouy_c[6]+0.3535533905932737*rhouy_c[1]*uz_c[5]+0.3535533905932737*uz_c[1]*rhouy_c[5]+0.3535533905932737*rhouy_c[0]*uz_c[3]+0.3535533905932737*uz_c[0]*rhouy_c[3]+Pyz_c[3]; delta_c[9] = 0.3535533905932737*rhouz_c[4]*uz_c[7]+0.3535533905932737*uz_c[4]*rhouz_c[7]+0.3535533905932737*rhouz_c[2]*uz_c[6]+0.3535533905932737*uz_c[2]*rhouz_c[6]+0.3535533905932737*rhouz_c[1]*uz_c[5]+0.3535533905932737*uz_c[1]*rhouz_c[5]+0.3535533905932737*rhouz_c[0]*uz_c[3]+0.3535533905932737*uz_c[0]*rhouz_c[3]+Pzz_c[3]; double delta_c_local[10] = {0.0}; - wv_eqn->rotate_to_local_func(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); + rot_to_local(wv_eqn, tau1, tau2, norm, delta_c, delta_c_local); double waves_slope_l[50] = {0.0}; double waves_slope_c[50] = {0.0}; double waves_slope_r[50] = {0.0}; double speeds[5] = {0.0}; - double my_max_speed_l = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); - double my_max_speed_c = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); - double my_max_speed_r = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); + double my_max_speed_l = wave_roe(wv_eqn, delta_l, q_c_local, q_c_local, waves_slope_l, speeds); + double my_max_speed_c = wave_roe(wv_eqn, delta_c_local, q_c_local, q_c_local, waves_slope_c, speeds); + double my_max_speed_r = wave_roe(wv_eqn, delta_r, q_c_local, q_c_local, waves_slope_r, speeds); double mm[15] = {0.0}; double slope[3] = {0.0}; diff --git a/kernels/pkpm/gkyl_euler_pkpm_kernels.h b/kernels/pkpm/gkyl_euler_pkpm_kernels.h index 056db865f..911f90134 100644 --- a/kernels/pkpm/gkyl_euler_pkpm_kernels.h +++ b/kernels/pkpm/gkyl_euler_pkpm_kernels.h @@ -3,6 +3,7 @@ #include #include #include +#include #include EXTERN_C_BEG diff --git a/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p1.c index 234efa407..4054297d5 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p1.c @@ -130,8 +130,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_1x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -143,16 +143,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_1x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p2.c b/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p2.c index 7b66aa678..2a6e3ac1a 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p2.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_1x_ser_p2.c @@ -130,8 +130,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_1x_ser_p2(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -143,16 +143,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_1x_ser_p2(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_x_2x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_x_2x_ser_p1.c index ca2c4ce61..85a9778f8 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_2x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_2x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_x_2x_tensor_p2.c b/kernels/pkpm/pkpm_vars_penalization_x_2x_tensor_p2.c index a1ca93185..955cc3a3f 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_2x_tensor_p2.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_2x_tensor_p2.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_x_3x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_x_3x_ser_p1.c index 25124ad6d..ceeeac229 100644 --- a/kernels/pkpm/pkpm_vars_penalization_x_3x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_x_3x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; @@ -356,8 +356,8 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -369,16 +369,16 @@ GKYL_CU_DH void pkpm_vars_penalization_x_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[0]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[0], geom->tau2[0], geom->norm[0], apdq_local, apdq); amdq_rhoux_quad[3] = amdq[1]; apdq_rhoux_quad[3] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_y_2x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_y_2x_ser_p1.c index 76118f375..ef44b0770 100644 --- a/kernels/pkpm/pkpm_vars_penalization_y_2x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_y_2x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_y_2x_tensor_p2.c b/kernels/pkpm/pkpm_vars_penalization_y_2x_tensor_p2.c index 62b17fdfe..dee0d560b 100644 --- a/kernels/pkpm/pkpm_vars_penalization_y_2x_tensor_p2.c +++ b/kernels/pkpm/pkpm_vars_penalization_y_2x_tensor_p2.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_2x_tensor_p2(double tol, bool force_lax delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_y_3x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_y_3x_ser_p1.c index b17140a5e..e682cc7a1 100644 --- a/kernels/pkpm/pkpm_vars_penalization_y_3x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_y_3x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; @@ -356,8 +356,8 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -369,16 +369,16 @@ GKYL_CU_DH void pkpm_vars_penalization_y_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[1]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[1], geom->tau2[1], geom->norm[1], apdq_local, apdq); amdq_rhoux_quad[3] = amdq[1]; apdq_rhoux_quad[3] = apdq[1]; diff --git a/kernels/pkpm/pkpm_vars_penalization_z_3x_ser_p1.c b/kernels/pkpm/pkpm_vars_penalization_z_3x_ser_p1.c index 20916101b..7a57d0a13 100644 --- a/kernels/pkpm/pkpm_vars_penalization_z_3x_ser_p1.c +++ b/kernels/pkpm/pkpm_vars_penalization_z_3x_ser_p1.c @@ -131,8 +131,8 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -144,16 +144,16 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[2]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); amdq_rhoux_quad[0] = amdq[1]; apdq_rhoux_quad[0] = apdq[1]; @@ -206,8 +206,8 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -219,16 +219,16 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[2]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); amdq_rhoux_quad[1] = amdq[1]; apdq_rhoux_quad[1] = apdq[1]; @@ -281,8 +281,8 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -294,16 +294,16 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[2]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); amdq_rhoux_quad[2] = amdq[1]; apdq_rhoux_quad[2] = apdq[1]; @@ -356,8 +356,8 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, if (q_r[0] < tol) use_lax = 1; if (u_l + u_r < tol && u_max > vth_max) use_lax = 1; - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); - wv_eqn->rotate_to_local_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); + rot_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_l, q_l_local); + rot_to_local(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], q_r, q_r_local); delta[0] = q_r_local[0] - q_l_local[0]; delta[1] = q_r_local[1] - q_l_local[1]; @@ -369,16 +369,16 @@ GKYL_CU_DH void pkpm_vars_penalization_z_3x_ser_p1(double tol, bool force_lax, delta[7] = q_r_local[7] - q_l_local[7]; delta[8] = q_r_local[8] - q_l_local[8]; delta[9] = q_r_local[9] - q_l_local[9]; - my_max_speed = wv_eqn->waves_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, delta, q_l_local, q_r_local, waves, speeds); + my_max_speed = wave_roe(wv_eqn, delta, q_l_local, q_r_local, waves, speeds); lenr = geom->lenr[2]; speeds[0] *= lenr; speeds[1] *= lenr; speeds[2] *= lenr; speeds[3] *= lenr; speeds[4] *= lenr; - wv_eqn->qfluct_func(wv_eqn, GKYL_WV_HIGH_ORDER_FLUX, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); - wv_eqn->rotate_to_global_func(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); + qfluct_roe(wv_eqn, q_l_local, q_r_local, waves, speeds, amdq_local, apdq_local); + rot_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], amdq_local, amdq); + rot_to_global(wv_eqn, geom->tau1[2], geom->tau2[2], geom->norm[2], apdq_local, apdq); amdq_rhoux_quad[3] = amdq[1]; apdq_rhoux_quad[3] = apdq[1]; From 5a38bae21af083bc59b7da504b83d9377a00c932 Mon Sep 17 00:00:00 2001 From: Junoravin Date: Thu, 19 Sep 2024 16:10:54 -0400 Subject: [PATCH 12/16] Need to make these functions in these private headers device host methods now because we can call them from both host and device code --- zero/gkyl_wv_euler_priv.h | 74 +++++++++++++++++----------------- zero/gkyl_wv_maxwell_priv.h | 26 ++++++------ zero/gkyl_wv_ten_moment_priv.h | 38 ++++++++--------- 3 files changed, 69 insertions(+), 69 deletions(-) diff --git a/zero/gkyl_wv_euler_priv.h b/zero/gkyl_wv_euler_priv.h index 8c08bcde3..48b13e274 100644 --- a/zero/gkyl_wv_euler_priv.h +++ b/zero/gkyl_wv_euler_priv.h @@ -27,7 +27,7 @@ void gkyl_euler_free(const struct gkyl_ref_count *ref); * @param gas_gamma Gas adiabatic constant * @param q Conserved variables */ -GKYL_CU_D +GKYL_CU_DH static inline double gkyl_euler_pressure(double gas_gamma, const double q[5]) { @@ -41,7 +41,7 @@ gkyl_euler_pressure(double gas_gamma, const double q[5]) * @param q Conserved variables * @param v Primitive variables (output) */ -GKYL_CU_D +GKYL_CU_DH static inline void gkyl_euler_prim_vars(double gas_gamma, const double q[5], double v[5]) { @@ -59,7 +59,7 @@ gkyl_euler_prim_vars(double gas_gamma, const double q[5], double v[5]) * @param q Conserved variables * @return Maximum absolute speed for given q */ -GKYL_CU_D +GKYL_CU_DH static inline double gkyl_euler_max_abs_speed(double gas_gamma, const double q[5]) { @@ -77,7 +77,7 @@ gkyl_euler_max_abs_speed(double gas_gamma, const double q[5]) * @param Conserved variables * @param flux On output, the flux in direction 'dir' */ -GKYL_CU_D +GKYL_CU_DH static void gkyl_euler_flux(double gas_gamma, const double q[5], double flux[5]) { @@ -89,7 +89,7 @@ gkyl_euler_flux(double gas_gamma, const double q[5], double flux[5]) flux[4] = (q[4]+pr)*u; // (E+p)*u } -GKYL_CU_D +GKYL_CU_DH static inline void cons_to_riem(const struct gkyl_wv_eqn *eqn, const double *qstate, const double *qin, double *wout) @@ -98,7 +98,7 @@ cons_to_riem(const struct gkyl_wv_eqn *eqn, for (int i=0; i<5; ++i) wout[i] = qin[i]; } -GKYL_CU_D +GKYL_CU_DH static inline void riem_to_cons(const struct gkyl_wv_eqn *eqn, const double *qstate, const double *win, double *qout) @@ -109,7 +109,7 @@ riem_to_cons(const struct gkyl_wv_eqn *eqn, } // Euler perfectly reflecting wall -GKYL_CU_D +GKYL_CU_DH static void euler_wall(const struct gkyl_wv_eqn* eqn, double t, int nc, const double *skin, double * GKYL_RESTRICT ghost, void *ctx) { @@ -124,7 +124,7 @@ euler_wall(const struct gkyl_wv_eqn* eqn, double t, int nc, const double *skin, } // Euler no-slip wall -GKYL_CU_D +GKYL_CU_DH static void euler_no_slip(const struct gkyl_wv_eqn* eqn, double t, int nc, const double *skin, double * GKYL_RESTRICT ghost, void *ctx) { @@ -138,7 +138,7 @@ euler_no_slip(const struct gkyl_wv_eqn* eqn, double t, int nc, const double *ski ghost[3] = -skin[3]; } -GKYL_CU_D +GKYL_CU_DH static inline void rot_to_local(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* tau2, const double* norm, const double* GKYL_RESTRICT qglobal, double* GKYL_RESTRICT qlocal) @@ -150,7 +150,7 @@ rot_to_local(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* ta qlocal[4] = qglobal[4]; } -GKYL_CU_D +GKYL_CU_DH static inline void rot_to_global(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* tau2, const double* norm, const double* GKYL_RESTRICT qlocal, double* GKYL_RESTRICT qglobal) @@ -163,7 +163,7 @@ rot_to_global(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* t } // Waves and speeds using Lax fluxes -GKYL_CU_D +GKYL_CU_DH static double wave_lax(const struct gkyl_wv_eqn *eqn, const double *delta, const double *ql, const double *qr, double *waves, double *s) @@ -193,7 +193,7 @@ wave_lax(const struct gkyl_wv_eqn *eqn, return s[1]; } -GKYL_CU_D +GKYL_CU_DH static void qfluct_lax(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, const double *waves, const double *s, @@ -209,7 +209,7 @@ qfluct_lax(const struct gkyl_wv_eqn *eqn, } } -GKYL_CU_D +GKYL_CU_DH static double wave_lax_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *delta, const double *ql, const double *qr, double *waves, double *s) @@ -217,7 +217,7 @@ wave_lax_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, return wave_lax(eqn, delta, ql, qr, waves, s); } -GKYL_CU_D +GKYL_CU_DH static void qfluct_lax_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *ql, const double *qr, const double *waves, const double *s, @@ -228,7 +228,7 @@ qfluct_lax_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, // project column vector delta onto the right eigenvectors of the flux Jacobian // evaluated at avg = {u, v, w, enth} -GKYL_CU_D +GKYL_CU_DH static double proj_onto_euler_eigvect(const struct gkyl_wv_eqn *eqn, const double *delta, const double *avg, double *waves, double *s) @@ -284,7 +284,7 @@ proj_onto_euler_eigvect(const struct gkyl_wv_eqn *eqn, return fabs(u)+a; } -GKYL_CU_D +GKYL_CU_DH inline static void roe_avg(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, double *avg) @@ -309,7 +309,7 @@ roe_avg(const struct gkyl_wv_eqn *eqn, const double *ql, } // Waves and speeds using Roe averaging -GKYL_CU_D +GKYL_CU_DH static double wave_roe(const struct gkyl_wv_eqn *eqn, const double *delta, const double *ql, const double *qr, double *waves, double *s) @@ -319,7 +319,7 @@ wave_roe(const struct gkyl_wv_eqn *eqn, return proj_onto_euler_eigvect(eqn, delta, avg, waves, s); } -GKYL_CU_D +GKYL_CU_DH static void qfluct_roe(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, const double *waves, const double *s, @@ -335,7 +335,7 @@ qfluct_roe(const struct gkyl_wv_eqn *eqn, } } -GKYL_CU_D +GKYL_CU_DH static double wave_roe_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *delta, const double *ql, const double *qr, double *waves, double *s) @@ -348,7 +348,7 @@ wave_roe_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, return 0.0; // can't happen } -GKYL_CU_D +GKYL_CU_DH static void qfluct_roe_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *ql, const double *qr, const double *waves, const double *s, @@ -361,7 +361,7 @@ qfluct_roe_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, } // HLL -GKYL_CU_D +GKYL_CU_DH static void states_hll_common(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, double state[8]) @@ -406,7 +406,7 @@ states_hll_common(const struct gkyl_wv_eqn *eqn, const double *ql, } // HLL -GKYL_CU_D +GKYL_CU_DH static void states_hll(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, double *speeds, double *qm) @@ -447,7 +447,7 @@ states_hll(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, speeds[1] = sr; } -GKYL_CU_D +GKYL_CU_DH static double wave_hll(const struct gkyl_wv_eqn *eqn, const double *dQ, const double *ql, const double *qr, double *waves, double *speeds) @@ -466,7 +466,7 @@ wave_hll(const struct gkyl_wv_eqn *eqn, const double *dQ, const double *ql, return fmax(fabs(speeds[0]), fabs(speeds[1])); } -GKYL_CU_D +GKYL_CU_DH static void qfluct_hll(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, const double *waves, const double *s, double *amdq, double *apdq) @@ -481,7 +481,7 @@ qfluct_hll(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, } } -GKYL_CU_D +GKYL_CU_DH static double wave_hll_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *delta, const double *ql, const double *qr, double *waves, double *s) @@ -494,7 +494,7 @@ wave_hll_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, return 0.0; // can't happen } -GKYL_CU_D +GKYL_CU_DH static void qfluct_hll_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *ql, const double *qr, const double *waves, const double *s, @@ -507,7 +507,7 @@ qfluct_hll_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, } // HLLC -GKYL_CU_D +GKYL_CU_DH static void states_hllc(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, double *speeds, double *qml, double *qmr) @@ -543,7 +543,7 @@ states_hllc(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, speeds[2] = sr; } -GKYL_CU_D +GKYL_CU_DH static double wave_hllc(const struct gkyl_wv_eqn *eqn, const double *dQ, const double *ql, const double *qr, double *waves, double *speeds) @@ -565,7 +565,7 @@ wave_hllc(const struct gkyl_wv_eqn *eqn, const double *dQ, const double *ql, return fmax(fabs(speeds[0]), fabs(speeds[2])); } -GKYL_CU_D +GKYL_CU_DH static void qfluct_hllc(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, const double *waves, const double *s, double *amdq, double *apdq) @@ -580,7 +580,7 @@ qfluct_hllc(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, } } -GKYL_CU_D +GKYL_CU_DH static double wave_hllc_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *delta, const double *ql, const double *qr, double *waves, double *s) @@ -593,7 +593,7 @@ wave_hllc_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, return 0.0; // can't happen } -GKYL_CU_D +GKYL_CU_DH static void qfluct_hllc_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *ql, const double *qr, const double *waves, const double *s, @@ -605,7 +605,7 @@ qfluct_hllc_l(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, return qfluct_lax(eqn, ql, qr, waves, s, amdq, apdq); } -GKYL_CU_D +GKYL_CU_DH static void qfluct_hllc_direct(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *ql, const double *qr, const double *waves, const double *speeds, @@ -626,7 +626,7 @@ qfluct_hllc_direct(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, } } -GKYL_CU_D +GKYL_CU_DH static double flux_jump(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, double *flux_jump) { @@ -644,7 +644,7 @@ flux_jump(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, dou return fmax(amaxl, amaxr); } -GKYL_CU_D +GKYL_CU_DH static bool check_inv(const struct gkyl_wv_eqn *eqn, const double *q) { @@ -660,7 +660,7 @@ check_inv(const struct gkyl_wv_eqn *eqn, const double *q) return true; } -GKYL_CU_D +GKYL_CU_DH static double max_speed(const struct gkyl_wv_eqn *eqn, const double *q) { @@ -668,7 +668,7 @@ max_speed(const struct gkyl_wv_eqn *eqn, const double *q) return gkyl_euler_max_abs_speed(euler->gas_gamma, q); } -GKYL_CU_D +GKYL_CU_DH static inline void euler_cons_to_diag(const struct gkyl_wv_eqn *eqn, const double *qin, double *diag) @@ -681,7 +681,7 @@ euler_cons_to_diag(const struct gkyl_wv_eqn *eqn, diag[5] = qin[4]-ke; } -GKYL_CU_D +GKYL_CU_DH static inline void euler_source(const struct gkyl_wv_eqn* eqn, const double* qin, double* sout) { diff --git a/zero/gkyl_wv_maxwell_priv.h b/zero/gkyl_wv_maxwell_priv.h index b35aca33d..967b59755 100644 --- a/zero/gkyl_wv_maxwell_priv.h +++ b/zero/gkyl_wv_maxwell_priv.h @@ -31,7 +31,7 @@ void gkyl_wv_maxwell_free(const struct gkyl_ref_count *ref); * @param q Conserved variables * @return Maximum absolute speed for given q */ -GKYL_CU_D +GKYL_CU_DH static inline double gkyl_maxwell_max_abs_speed(double c, double e_fact, double b_fact, const double q[8]) { @@ -47,7 +47,7 @@ gkyl_maxwell_max_abs_speed(double c, double e_fact, double b_fact, const double * @param Conserved variables * @param flux On output, the flux in direction 'dir' */ -GKYL_CU_D +GKYL_CU_DH static inline void gkyl_maxwell_flux(double c, double e_fact, double b_fact, const double q[8], double flux[8]) { @@ -63,7 +63,7 @@ gkyl_maxwell_flux(double c, double e_fact, double b_fact, const double q[8], dou flux[7] = b_fact*c2*q[3]; // b_fact*c^2*Bx } -GKYL_CU_D +GKYL_CU_DH static inline void cons_to_riem(const struct gkyl_wv_eqn *eqn, const double *qstate, const double *qin, double *wout) @@ -73,7 +73,7 @@ cons_to_riem(const struct gkyl_wv_eqn *eqn, wout[i] = qin[i]; } -GKYL_CU_D +GKYL_CU_DH static inline void riem_to_cons(const struct gkyl_wv_eqn *eqn, const double *qstate, const double *win, double *qout) @@ -83,7 +83,7 @@ riem_to_cons(const struct gkyl_wv_eqn *eqn, qout[i] = win[i]; } -GKYL_CU_D +GKYL_CU_DH static void maxwell_wall(const struct gkyl_wv_eqn* eqn, double t, int nc, const double *skin, double * GKYL_RESTRICT ghost, void *ctx) { @@ -102,7 +102,7 @@ maxwell_wall(const struct gkyl_wv_eqn* eqn, double t, int nc, const double *skin ghost[7] = skin[7]; } -GKYL_CU_D +GKYL_CU_DH static inline void rot_to_local(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* tau2, const double* norm, const double* GKYL_RESTRICT qglobal, double* GKYL_RESTRICT qlocal) @@ -120,7 +120,7 @@ rot_to_local(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* ta qlocal[7] = qglobal[7]; } -GKYL_CU_D +GKYL_CU_DH static inline void rot_to_global(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* tau2, const double* norm, const double* GKYL_RESTRICT qlocal, double* GKYL_RESTRICT qglobal) @@ -139,7 +139,7 @@ rot_to_global(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* t } // Waves and speeds using Roe averaging -GKYL_CU_D +GKYL_CU_DH static double wave(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *delta, const double *ql, const double *qr, @@ -208,7 +208,7 @@ wave(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, return c; } -GKYL_CU_D +GKYL_CU_DH static void qfluct(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *ql, const double *qr, const double *waves, const double *s, @@ -257,7 +257,7 @@ qfluct(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, /* amdq[7] = ((qr[3]-ql[3])/2-(qr[7]-ql[7])/(2*c))*c2*b_fact; */ } -GKYL_CU_D +GKYL_CU_DH static double flux_jump(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, double *flux_jump) { @@ -275,14 +275,14 @@ flux_jump(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, dou return c; } -GKYL_CU_D +GKYL_CU_DH static bool check_inv(const struct gkyl_wv_eqn *eqn, const double *q) { return true; // no negative states in Maxwell } -GKYL_CU_D +GKYL_CU_DH static double max_speed(const struct gkyl_wv_eqn *eqn, const double *q) { @@ -290,7 +290,7 @@ max_speed(const struct gkyl_wv_eqn *eqn, const double *q) return maxwell->c; } -GKYL_CU_D +GKYL_CU_DH static inline void maxwell_cons_to_diag(const struct gkyl_wv_eqn *eqn, const double *qin, double *diag) diff --git a/zero/gkyl_wv_ten_moment_priv.h b/zero/gkyl_wv_ten_moment_priv.h index 381b79319..140b76238 100644 --- a/zero/gkyl_wv_ten_moment_priv.h +++ b/zero/gkyl_wv_ten_moment_priv.h @@ -21,14 +21,14 @@ struct wv_ten_moment { */ void gkyl_ten_moment_free(const struct gkyl_ref_count *ref); -GKYL_CU_D +GKYL_CU_DH static inline double sq(double x) { return x * x; } -GKYL_CU_D +GKYL_CU_DH static inline void cons_to_riem(const struct gkyl_wv_eqn *eqn, const double *qstate, const double *qin, double *wout) @@ -38,7 +38,7 @@ cons_to_riem(const struct gkyl_wv_eqn *eqn, wout[i] = qin[i]; } -GKYL_CU_D +GKYL_CU_DH static inline void riem_to_cons(const struct gkyl_wv_eqn *eqn, const double *qstate, const double *win, double *qout) @@ -49,7 +49,7 @@ riem_to_cons(const struct gkyl_wv_eqn *eqn, } /* Multiply by phi prime */ -GKYL_CU_D +GKYL_CU_DH static inline void mulByPhiPrime(double p0, double u1, double u2, double u3, const double w[10], double out[10]) { @@ -71,7 +71,7 @@ mulByPhiPrime(double p0, double u1, double u2, double u3, const double w[10], do * @param q Conserved variables * @param out Primitive variables */ -GKYL_CU_D +GKYL_CU_DH static inline void gkyl_ten_moment_primitive(const double q[10], double out[10]) { @@ -93,7 +93,7 @@ gkyl_ten_moment_primitive(const double q[10], double out[10]) * @param q Conserved variables * @param out [Pxx, Pyy, Pzz] */ -GKYL_CU_D +GKYL_CU_DH static inline void gkyl_ten_moment_diag_pressure(const double q[10], double out[3]) { @@ -109,7 +109,7 @@ gkyl_ten_moment_diag_pressure(const double q[10], double out[3]) * @param q Conserved variables * @return Maximum absolute speed for given q */ -GKYL_CU_D +GKYL_CU_DH static inline double gkyl_ten_moment_max_abs_speed(const double q[10]) { @@ -125,7 +125,7 @@ gkyl_ten_moment_max_abs_speed(const double q[10]) * @param Conserved variables * @param flux On output, the flux in direction 'dir' */ -GKYL_CU_D +GKYL_CU_DH static inline void gkyl_ten_moment_flux(const double q[10], double flux[10]) { @@ -145,7 +145,7 @@ gkyl_ten_moment_flux(const double q[10], double flux[10]) } // Ten moment perfectly reflecting wall -GKYL_CU_D +GKYL_CU_DH static void ten_moment_wall(const struct gkyl_wv_eqn* eqn, double t, int nc, const double *skin, double * GKYL_RESTRICT ghost, void *ctx) { @@ -166,7 +166,7 @@ ten_moment_wall(const struct gkyl_wv_eqn* eqn, double t, int nc, const double *s ghost[5] = -skin[5]; } -GKYL_CU_D +GKYL_CU_DH static inline void rot_to_local(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* tau2, const double* norm, const double* GKYL_RESTRICT qglobal, double* GKYL_RESTRICT qlocal) @@ -214,7 +214,7 @@ rot_to_local(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* ta qlocal[9] = v3[2]; } -GKYL_CU_D +GKYL_CU_DH static inline void rot_to_global(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* tau2, const double* norm, const double* GKYL_RESTRICT qlocal, double* GKYL_RESTRICT qglobal) @@ -265,7 +265,7 @@ rot_to_global(const struct gkyl_wv_eqn* eqn, const double* tau1, const double* t } // Waves and speeds using Roe averaging -GKYL_CU_D +GKYL_CU_DH static double wave_roe(const struct gkyl_wv_eqn *eqn, const double *delta, const double *ql, const double *qr, @@ -410,7 +410,7 @@ wave_roe(const struct gkyl_wv_eqn *eqn, return fabs(u1)+sqrt(3*p11/p0); } -GKYL_CU_D +GKYL_CU_DH static void qfluct_roe(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, const double *waves, const double *s, @@ -427,7 +427,7 @@ qfluct_roe(const struct gkyl_wv_eqn *eqn, } // Waves and speeds using Lax fluxes -GKYL_CU_D +GKYL_CU_DH static double wave_lax(const struct gkyl_wv_eqn *eqn, const double *delta, const double *ql, const double *qr, @@ -453,7 +453,7 @@ wave_lax(const struct gkyl_wv_eqn *eqn, return s[1]; } -GKYL_CU_D +GKYL_CU_DH static void qfluct_lax(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, const double *waves, const double *s, @@ -469,7 +469,7 @@ qfluct_lax(const struct gkyl_wv_eqn *eqn, } } -GKYL_CU_D +GKYL_CU_DH static double wave(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *delta, const double *ql, const double *qr, @@ -483,7 +483,7 @@ wave(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, return 0.0; // can't happen } -GKYL_CU_D +GKYL_CU_DH static void qfluct(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, const double *ql, const double *qr, const double *waves, const double *s, @@ -495,7 +495,7 @@ qfluct(const struct gkyl_wv_eqn *eqn, enum gkyl_wv_flux_type type, return qfluct_lax(eqn, ql, qr, waves, s, amdq, apdq); } -GKYL_CU_D +GKYL_CU_DH static bool check_inv(const struct gkyl_wv_eqn *eqn, const double *q) { @@ -510,7 +510,7 @@ check_inv(const struct gkyl_wv_eqn *eqn, const double *q) return true; } -GKYL_CU_D +GKYL_CU_DH static double max_speed(const struct gkyl_wv_eqn *eqn, const double *q) { From 4a5b9f2f67904860ee0c6dfe2a9412ee712a074b Mon Sep 17 00:00:00 2001 From: Junoravin Date: Thu, 19 Sep 2024 16:18:04 -0400 Subject: [PATCH 13/16] Fixing compilation errors in new moment type for canonical_pb --- zero/mom_canonical_pb_cu.cu | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/zero/mom_canonical_pb_cu.cu b/zero/mom_canonical_pb_cu.cu index 47eb92ce8..89943ec75 100644 --- a/zero/mom_canonical_pb_cu.cu +++ b/zero/mom_canonical_pb_cu.cu @@ -98,8 +98,7 @@ set_cu_ptrs(struct mom_type_canonical_pb* mom_can_pb, int mom_id, enum gkyl_basi struct gkyl_mom_type* gkyl_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, const struct gkyl_basis* pbasis, - const struct gkyl_range* conf_range, const struct gkyl_range* vel_range, - const char *mom) + const struct gkyl_range* phase_range, const char *mom) { assert(cbasis->poly_order == pbasis->poly_order); @@ -115,8 +114,7 @@ gkyl_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, const struct g mom_can_pb->momt.num_config = cbasis->num_basis; mom_can_pb->momt.num_phase = pbasis->num_basis; - mom_can_pb->conf_range = *conf_range; - mom_can_pb->vel_range = *vel_range; + mom_can_pb->phase_range = *phase_range; int mom_id = get_mom_id(mom); assert(mom_id != BAD); @@ -168,7 +166,7 @@ set_int_cu_ptrs(struct mom_type_canonical_pb* mom_can_pb, enum gkyl_basis_type b struct gkyl_mom_type * gkyl_int_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, const struct gkyl_basis* pbasis, - const struct gkyl_range* conf_range, const struct gkyl_range* vel_range) + const struct gkyl_range* phase_range) { assert(cbasis->poly_order == pbasis->poly_order); @@ -186,8 +184,7 @@ gkyl_int_mom_canonical_pb_cu_dev_new(const struct gkyl_basis* cbasis, const stru mom_can_pb->momt.num_mom = vdim+2; - mom_can_pb->conf_range = *conf_range; - mom_can_pb->vel_range = *vel_range; + mom_can_pb->phase_range = *phase_range; mom_can_pb->momt.flags = 0; GKYL_SET_CU_ALLOC(mom_can_pb->momt.flags); From d4cf53d57b8f1989ace1ad32edfa8e9e110c0748 Mon Sep 17 00:00:00 2001 From: Junoravin Date: Fri, 20 Sep 2024 11:00:13 -0400 Subject: [PATCH 14/16] Getting rid of some unused variables in the wv_euler_priv header file to clean it up and prevent lots of unused variable warnings (since now this header file is being directly utilized by kernels). --- zero/gkyl_wv_euler_priv.h | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/zero/gkyl_wv_euler_priv.h b/zero/gkyl_wv_euler_priv.h index 48b13e274..eeb4f1419 100644 --- a/zero/gkyl_wv_euler_priv.h +++ b/zero/gkyl_wv_euler_priv.h @@ -291,7 +291,6 @@ roe_avg(const struct gkyl_wv_eqn *eqn, const double *ql, { const struct wv_euler *euler = container_of(eqn, struct wv_euler, eqn); double gas_gamma = euler->gas_gamma; - double g1 = gas_gamma - 1; double rhol = ql[0], rhor = qr[0]; double pl = gkyl_euler_pressure(gas_gamma, ql), pr = gkyl_euler_pressure(gas_gamma, qr); @@ -411,13 +410,11 @@ static void states_hll(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, double *speeds, double *qm) { - const struct wv_euler *euler = container_of(eqn, struct wv_euler, eqn); - // STEP 1. compute min and max wave speeds double state[8]; states_hll_common(eqn, ql, qr, state); - double rl = state[0], ul = state[1], pl = state[2]; - double rr = state[3], ur = state[4], pr = state[5]; + double ul = state[1], pl = state[2]; + double ur = state[4], pr = state[5]; double sl = state[6], sr = state[7]; // STEP 2. compute left and right fluxes @@ -512,8 +509,6 @@ static void states_hllc(const struct gkyl_wv_eqn *eqn, const double *ql, const double *qr, double *speeds, double *qml, double *qmr) { - const struct wv_euler *euler = container_of(eqn, struct wv_euler, eqn); - // STEP 1. compute min and max wave speeds double state[8]; states_hll_common(eqn, ql, qr, state); @@ -673,7 +668,6 @@ static inline void euler_cons_to_diag(const struct gkyl_wv_eqn *eqn, const double *qin, double *diag) { - const struct wv_euler *euler = container_of(eqn, struct wv_euler, eqn); // density and moment as copied as-is for (int i=0; i<4; ++i) diag[i] = qin[i]; double ke = 0.5*(qin[1]*qin[1] + qin[2]*qin[2] + qin[3]*qin[3])/qin[0]; From 2fee078224a52311a9aa46c0579c04bea21de41b Mon Sep 17 00:00:00 2001 From: johnson452 Date: Sat, 5 Oct 2024 15:48:34 -0400 Subject: [PATCH 15/16] Added missing function handle to ctest_wv_euler_cu --- unit/ctest_wv_euler_cu.cu | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unit/ctest_wv_euler_cu.cu b/unit/ctest_wv_euler_cu.cu index 1046cfd95..ad430d996 100644 --- a/unit/ctest_wv_euler_cu.cu +++ b/unit/ctest_wv_euler_cu.cu @@ -71,8 +71,8 @@ void ker_cu_wv_euler_test(const struct gkyl_wv_eqn *eqn, int *nfail) double q_l[5], q_g[5]; for (int d=0; d<3; ++d) { - eqn->rotate_to_local_func(tau1[d], tau2[d], norm[d], q, q_l); - eqn->rotate_to_global_func(tau1[d], tau2[d], norm[d], q_l, q_g); + eqn->rotate_to_local_func(eqn, tau1[d], tau2[d], norm[d], q, q_l); + eqn->rotate_to_global_func(eqn, tau1[d], tau2[d], norm[d], q_l, q_g); for (int m=0; m<5; ++m) GKYL_CU_CHECK( q[m] == q_g[m], nfail ); } From 889fc13c9c8503ce7499ce087f0a6b517c03908f Mon Sep 17 00:00:00 2001 From: johnson452 Date: Tue, 8 Oct 2024 15:44:39 -0400 Subject: [PATCH 16/16] Fixed formatting issues --- apps/vlasov.c | 2 -- apps/vlasov_lw.c | 1 - zero/dg_updater_moment.c | 6 ++++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/vlasov.c b/apps/vlasov.c index 5bd19b0fe..07d983883 100644 --- a/apps/vlasov.c +++ b/apps/vlasov.c @@ -246,7 +246,6 @@ gkyl_vlasov_app_new(struct gkyl_vm *vm) } } - // Set the appropriate update function for taking a single time step // If we have implicit fluid-EM coupling or implicit BGK collisions, // we perform a first-order operator split and treat those terms implicitly. @@ -851,7 +850,6 @@ comm_reduce_app_stat(const gkyl_vlasov_app* app, global->niter_self_bgk_corr[s] = l_red_bgk_corr[s]; } - enum { TOTAL_TM, RK3_TM, FL_EM_TM, INIT_SPECIES_TM, INIT_FLUID_SPECIES_TM, INIT_FIELD_TM, diff --git a/apps/vlasov_lw.c b/apps/vlasov_lw.c index 72e378b50..2f8016318 100644 --- a/apps/vlasov_lw.c +++ b/apps/vlasov_lw.c @@ -448,7 +448,6 @@ vm_app_calc_integrated_mom(lua_State *L) return 1; } - // Compute integrated L2 norm of distribution function. (tm) -> bool static int vm_app_calc_integrated_L2_f(lua_State *L) diff --git a/zero/dg_updater_moment.c b/zero/dg_updater_moment.c index a48623671..44d369eab 100644 --- a/zero/dg_updater_moment.c +++ b/zero/dg_updater_moment.c @@ -48,7 +48,8 @@ gkyl_dg_updater_moment_new(const struct gkyl_rect_grid *grid, struct gkyl_mom_vlasov_sr_auxfields *sr_inp = aux_inp; gkyl_mom_vlasov_sr_set_auxfields(up->type, *sr_inp); - } else if (up->model_id == GKYL_MODEL_CANONICAL_PB && (strcmp(mom, "MEnergy") == 0 || strcmp(mom, "Integrated") == 0)) { + } + else if (up->model_id == GKYL_MODEL_CANONICAL_PB && (strcmp(mom, "MEnergy") == 0 || strcmp(mom, "Integrated") == 0)) { if (is_integrated) { up->type = gkyl_int_mom_canonical_pb_new(cbasis, pbasis, phase_range, use_gpu); } @@ -59,7 +60,8 @@ gkyl_dg_updater_moment_new(const struct gkyl_rect_grid *grid, struct gkyl_mom_canonical_pb_auxfields *can_pb_inp = aux_inp; gkyl_mom_canonical_pb_set_auxfields(up->type, *can_pb_inp); - } else { + } + else { if (is_integrated) { up->type = gkyl_int_mom_vlasov_new(cbasis, pbasis, use_gpu); }