Skip to content
Snippets Groups Projects
kernels_cpu.cpp 1.06 KiB
Newer Older
#include "types.h"
#include "entity_data.h"
#include "kernels_cpu.h"
Matteo Cicuttin's avatar
Matteo Cicuttin committed
/* 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;