47 typedef typename Base::VectorType VectorType;
50 initialize(dealii::MatrixFree<dim, Number>
const & matrix_free,
51 dealii::AffineConstraints<Number>
const & affine_constraints,
56 ExaDG::MassOperator<dim, dim, Number>::initialize(matrix_free, affine_constraints, data);
60 set_inhomogeneous_boundary_values(VectorType & dst)
const final
62 std::map<dealii::types::global_dof_index, double> boundary_values;
63 for(
auto dbc : operator_data.bc->dirichlet_bc_initial_acceleration)
65 dbc.second->set_time(this->get_time());
66 dealii::ComponentMask mask =
67 operator_data.bc->dirichlet_bc_component_mask.find(dbc.first)->second;
69 dealii::VectorTools::interpolate_boundary_values(
70 *this->matrix_free->get_mapping_info().mapping,
71 this->matrix_free->get_dof_handler(operator_data.dof_index),
79 for(
auto m : boundary_values)
80 if(dst.get_partitioner()->in_local_range(m.first))
81 dst[m.first] = m.second;
83 dst.update_ghost_values();