#include "types.h" #include "entity_data.h" #include "kernels_cpu.h" /* Field derivatives kernel, case for elements with planar faces */ void compute_field_derivatives(const entity_data_cpu<1>& ed, const vecxd& f, vecxd& df_dx, vecxd& df_dy, vecxd& df_dz) { switch (ed.a_order) { case 1: compute_field_derivatives_kernel<1>(ed, f, df_dx, df_dy, df_dz); break; case 2: compute_field_derivatives_kernel<2>(ed, f, df_dx, df_dy, df_dz); break; case 3: compute_field_derivatives_kernel<3>(ed, f, df_dx, df_dy, df_dz); break; case 4: compute_field_derivatives_kernel<4>(ed, f, df_dx, df_dy, df_dz); break; case 5: compute_field_derivatives_kernel<5>(ed, f, df_dx, df_dy, df_dz); break; case 6: compute_field_derivatives_kernel<6>(ed, f, df_dx, df_dy, df_dz); break; default: std::cout << "compute_field_derivatives: invalid order" << std::endl; } }