Kokkos::view_alloc("JxW_" + std::to_string(color),
Kokkos::WithoutInitializing),
n_cells,
- scalar_dofs_per_cell);
+ q_points_per_cell);
if (update_flags & update_gradients)
data->inv_jacobian[color] =
Kokkos::view_alloc("inv_jacobian_" + std::to_string(color),
Kokkos::WithoutInitializing),
n_cells,
- scalar_dofs_per_cell);
+ q_points_per_cell);
// Initialize to zero, i.e., unconstrained cell
data->constraint_mask[color] =
} // namespace internal
- template <int dim, int fe_degree, typename Number, typename QuadOperation>
+ template <int dim,
+ int fe_degree,
+ int n_q_points_1d,
+ typename Number,
+ typename QuadOperation>
class CellAction
{
public:
const Number *,
Number *dst) const
{
- Portable::FEEvaluation<dim, fe_degree, fe_degree + 1, 1, Number> fe_eval(
+ Portable::FEEvaluation<dim, fe_degree, n_q_points_1d, 1, Number> fe_eval(
gpu_data, shared_data);
m_quad_operation.set_matrix_free_data(*gpu_data);
m_quad_operation.set_cell(cell);
matrix_free.initialize_dof_vector(diagonal_global);
- CellAction<dim, fe_degree, Number, QuadOperation> cell_action(
- quad_operation, evaluation_flags, integration_flags);
+ CellAction<dim, fe_degree, n_q_points_1d, Number, QuadOperation>
+ cell_action(quad_operation, evaluation_flags, integration_flags);
LinearAlgebra::distributed::Vector<Number, MemorySpace> dummy;
matrix_free.cell_loop(cell_action, dummy, diagonal_global);