53class MomentumOperator :
public OperatorBase<dim, Number, dim>
56 typedef dealii::VectorizedArray<Number> scalar;
57 typedef dealii::Tensor<1, dim, dealii::VectorizedArray<Number>> vector;
58 typedef dealii::Tensor<2, dim, dealii::VectorizedArray<Number>> tensor;
60 typedef OperatorBase<dim, Number, dim> Base;
62 typedef typename Base::VectorType VectorType;
63 typedef typename Base::IntegratorCell IntegratorCell;
64 typedef typename Base::IntegratorFace IntegratorFace;
68 typedef Number value_type;
77 initialize(dealii::MatrixFree<dim, Number>
const & matrix_free,
78 dealii::AffineConstraints<Number>
const & affine_constraints,
82 initialize(dealii::MatrixFree<dim, Number>
const & matrix_free,
83 dealii::AffineConstraints<Number>
const & affine_constraints,
92 get_convective_kernel_data()
const;
95 get_viscous_kernel_data()
const;
97 dealii::LinearAlgebra::distributed::Vector<Number>
const &
104 set_solution_linearization(VectorType
const & velocity);
110 update_after_grid_motion();
113 set_velocity_copy(VectorType
const & velocity)
const;
116 set_velocity_ptr(VectorType
const & velocity)
const;
119 get_scaling_factor_mass_operator()
const;
122 set_scaling_factor_mass_operator(Number
const & number);
128 rhs(VectorType & dst)
const final;
131 rhs_add(VectorType & dst)
const final;
134 evaluate(VectorType & dst, VectorType
const & src)
const final;
137 evaluate_add(VectorType & dst, VectorType
const & src)
const final;
141 reinit_cell_derived(IntegratorCell & integrator,
unsigned int const cell)
const final;
144 reinit_face_derived(IntegratorFace & integrator_m,
145 IntegratorFace & integrator_p,
146 unsigned int const face)
const final;
149 reinit_boundary_face_derived(IntegratorFace & integrator_m,
unsigned int const face)
const final;
152 reinit_face_cell_based_derived(IntegratorFace & integrator_m,
153 IntegratorFace & integrator_p,
154 unsigned int const cell,
155 unsigned int const face,
156 dealii::types::boundary_id
const boundary_id)
const final;
160 do_cell_integral(IntegratorCell & integrator)
const final;
164 do_face_integral(IntegratorFace & integrator_m, IntegratorFace & integrator_p)
const final;
168 do_face_int_integral(IntegratorFace & integrator_m, IntegratorFace & integrator_p)
const final;
177 do_face_int_integral_cell_based(IntegratorFace & integrator_m,
178 IntegratorFace & integrator_p)
const final;
182 do_face_ext_integral(IntegratorFace & integrator_m, IntegratorFace & integrator_p)
const final;
186 do_boundary_integral(IntegratorFace & integrator,
187 OperatorType
const & operator_type,
188 dealii::types::boundary_id
const & boundary_id)
const final;
192 std::shared_ptr<MassKernel<dim, Number>> mass_kernel;
193 std::shared_ptr<Operators::ConvectiveKernel<dim, Number>> convective_kernel;
194 std::shared_ptr<Operators::ViscousKernel<dim, Number>> viscous_kernel;
196 double scaling_factor_mass;