32class OperatorPressureCorrection :
public OperatorProjectionMethods<dim, Number>
36 typedef OperatorProjectionMethods<dim, Number> ProjectionBase;
37 typedef OperatorPressureCorrection<dim, Number> This;
39 typedef typename Base::VectorType VectorType;
41 typedef typename Base::scalar scalar;
42 typedef typename Base::vector vector;
43 typedef typename Base::tensor tensor;
45 typedef typename Base::Range Range;
47 typedef typename Base::FaceIntegratorU FaceIntegratorU;
48 typedef typename Base::FaceIntegratorP FaceIntegratorP;
54 OperatorPressureCorrection(
56 std::shared_ptr<dealii::Mapping<dim>
const> mapping,
61 std::string
const & field,
62 MPI_Comm
const & mpi_comm);
67 virtual ~OperatorPressureCorrection();
78 update_after_grid_motion(
bool const update_matrix_free) final;
85 evaluate_nonlinear_residual_steady(VectorType & dst_u,
87 VectorType const & src_u,
88 VectorType const & src_p,
89 double const & time) const;
95 apply_momentum_operator(VectorType & dst, VectorType const & src);
103 rhs_pressure_gradient_term_dirichlet_bc_from_dof_vector(VectorType & dst,
104 VectorType const & pressure) const;
107 evaluate_pressure_gradient_term_dirichlet_bc_from_dof_vector(VectorType & dst,
108 VectorType const & src,
109 VectorType const & pressure) const;
117 apply_inverse_pressure_mass_operator(VectorType & dst, VectorType const & src) const;
123 solve_pressure(VectorType & dst, VectorType const & src,
bool const update_preconditioner) const;
126 rhs_ppe_laplace_add(VectorType & dst,
double const & time) const;
129 rhs_ppe_laplace_add_dirichlet_bc_from_dof_vector(VectorType & dst, VectorType const & src) const;
132 interpolate_pressure_dirichlet_bc(VectorType & dst,
double const & time) const;
139 setup_inverse_mass_operator_pressure();
142 cell_loop_empty(dealii::MatrixFree<dim, Number> const &,
150 face_loop_empty(dealii::MatrixFree<dim, Number>
const &,
158 local_interpolate_pressure_dirichlet_bc_boundary_face(
159 dealii::MatrixFree<dim, Number>
const & matrix_free,
162 Range
const & face_range)
const;