include/meltpooldg/level_set/reinitialization_DG_grad_operator.hpp Source File

Developer Documentation: include/meltpooldg/level_set/reinitialization_DG_grad_operator.hpp Source File
Developer Documentation
reinitialization_DG_grad_operator.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/matrix_free/operators.h>
4
5#include <deal.II/numerics/vector_tools.h>
6
9
14{
15 template <int dim, typename number>
17 {
18 public:
19 using VectorType = dealii::LinearAlgebra::distributed::Vector<number>;
20 using BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector<number>;
21
22
24 const unsigned int reinit_dof_idx_in,
25 const unsigned int reinit_quad_idx_in);
26
27
35 template <bool is_right, uint component>
36 void
37 apply(const VectorType &src, VectorType &dst);
38
39 private:
41
42 const unsigned int reinit_dof_idx;
43 const unsigned int reinit_quad_idx;
44
52 template <uint component>
53 void
54 local_apply_domain(const dealii::MatrixFree<dim, number> &data,
55 VectorType &dst,
56 const VectorType &src,
57 const std::pair<unsigned int, unsigned int> &cell_range) const;
58
66 template <bool is_right, uint component>
67 void
68 local_apply_inner_face(const dealii::MatrixFree<dim, number> &data,
69 VectorType &dst,
70 const VectorType &src,
71 const std::pair<unsigned int, unsigned int> &face_range) const;
72
80 template <bool is_right, uint component>
81 void
82 local_apply_boundary_face(const dealii::MatrixFree<dim, number> &data,
83 VectorType &dst,
84 const VectorType &src,
85 const std::pair<unsigned int, unsigned int> &face_range) const;
86 };
87} // namespace MeltPoolDG::LevelSet
Definition reinitialization_DG_grad_operator.hpp:17
const unsigned int reinit_quad_idx
Definition reinitialization_DG_grad_operator.hpp:43
void local_apply_domain(const dealii::MatrixFree< dim, number > &data, VectorType &dst, const VectorType &src, const std::pair< unsigned int, unsigned int > &cell_range) const
const MeltPoolDG::ScratchData< dim, dim, number > & scratch_data
Definition reinitialization_DG_grad_operator.hpp:40
dealii::LinearAlgebra::distributed::BlockVector< number > BlockVectorType
Definition reinitialization_DG_grad_operator.hpp:20
void apply(const VectorType &src, VectorType &dst)
Definition reinitialization_DG_grad_operator.cpp:23
void local_apply_boundary_face(const dealii::MatrixFree< dim, number > &data, VectorType &dst, const VectorType &src, const std::pair< unsigned int, unsigned int > &face_range) const
const unsigned int reinit_dof_idx
Definition reinitialization_DG_grad_operator.hpp:42
dealii::LinearAlgebra::distributed::Vector< number > VectorType
Definition reinitialization_DG_grad_operator.hpp:19
void local_apply_inner_face(const dealii::MatrixFree< dim, number > &data, VectorType &dst, const VectorType &src, const std::pair< unsigned int, unsigned int > &face_range) const
Container for shared scratch data between operations/operators.
Definition scratch_data.hpp:61
This operation solves the reinitialization problem for a CG- or DG-FEM-based discrete level-set field...
Definition advection_DG_operation.hpp:20