33class OperatorPressureCorrection :
public OperatorProjectionMethods<dim, Number>
37 typedef OperatorProjectionMethods<dim, Number> ProjectionBase;
38 typedef OperatorPressureCorrection<dim, Number> This;
40 typedef typename Base::VectorType VectorType;
42 typedef typename Base::scalar scalar;
43 typedef typename Base::vector vector;
44 typedef typename Base::tensor tensor;
46 typedef typename Base::Range Range;
48 typedef typename Base::FaceIntegratorU FaceIntegratorU;
49 typedef typename Base::FaceIntegratorP FaceIntegratorP;
55 OperatorPressureCorrection(
57 std::shared_ptr<dealii::Mapping<dim>
const> mapping,
62 std::string
const & field,
63 MPI_Comm
const & mpi_comm);
68 virtual ~OperatorPressureCorrection();
79 update_after_grid_motion(
bool const update_matrix_free) final;
86 evaluate_nonlinear_residual_steady(VectorType & dst_u,
88 VectorType const & src_u,
89 VectorType const & src_p,
90 double const & time) const;
96 apply_momentum_operator(VectorType & dst, VectorType const & src);
104 rhs_pressure_gradient_term_dirichlet_bc_from_dof_vector(VectorType & dst,
105 VectorType const & pressure) const;
108 evaluate_pressure_gradient_term_dirichlet_bc_from_dof_vector(VectorType & dst,
109 VectorType const & src,
110 VectorType const & pressure) const;
118 apply_inverse_pressure_mass_operator(VectorType & dst, VectorType const & src) const;
124 solve_pressure(VectorType & dst, VectorType const & src,
bool const update_preconditioner) const;
127 rhs_ppe_laplace_add(VectorType & dst,
double const & time) const;
130 rhs_ppe_laplace_add_dirichlet_bc_from_dof_vector(VectorType & dst, VectorType const & src) const;
133 interpolate_pressure_dirichlet_bc(VectorType & dst,
double const & time) const;
140 setup_inverse_mass_operator_pressure();
143 cell_loop_empty(dealii::MatrixFree<dim, Number> const &,
151 face_loop_empty(dealii::MatrixFree<dim, Number>
const &,
159 local_interpolate_pressure_dirichlet_bc_boundary_face(
160 dealii::MatrixFree<dim, Number>
const & matrix_free,
163 Range
const & face_range)
const;