50 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
53 Operator(std::shared_ptr<
Grid<dim> const> grid,
54 std::shared_ptr<dealii::Mapping<dim>
const> mapping,
58 std::string
const & field,
59 MPI_Comm
const & mpi_comm);
76 setup(std::shared_ptr<dealii::MatrixFree<dim, Number>
const> matrix_free,
79 dealii::types::global_dof_index
80 get_number_of_dofs()
const;
84 initialize_dof_vector(VectorType & src)
const final;
87 initialize_dof_vector_scalar(VectorType & src)
const;
90 initialize_dof_vector_dim_components(VectorType & src)
const;
94 prescribe_initial_conditions(VectorType & src,
double const time)
const final;
104 evaluate(VectorType & dst, VectorType
const & src, Number
const time)
const final;
107 evaluate_convective(VectorType & dst, VectorType
const & src, Number
const time)
const;
110 evaluate_viscous(VectorType & dst, VectorType
const & src, Number
const time)
const;
113 evaluate_convective_and_viscous(VectorType & dst,
114 VectorType
const & src,
115 Number
const time)
const;
118 apply_inverse_mass(VectorType & dst, VectorType
const & src)
const;
121 dealii::MatrixFree<dim, Number>
const &
122 get_matrix_free()
const;
124 dealii::Mapping<dim>
const &
127 dealii::FiniteElement<dim>
const &
130 dealii::DoFHandler<dim>
const &
131 get_dof_handler()
const;
133 dealii::DoFHandler<dim>
const &
134 get_dof_handler_scalar()
const;
136 dealii::DoFHandler<dim>
const &
137 get_dof_handler_vector()
const;
140 get_dof_index_vector()
const;
143 get_dof_index_scalar()
const;
146 get_quad_index_standard()
const;
150 compute_pressure(VectorType & dst, VectorType
const & src)
const;
154 compute_velocity(VectorType & dst, VectorType
const & src)
const;
158 compute_temperature(VectorType & dst, VectorType
const & src)
const;
162 compute_vorticity(VectorType & dst, VectorType
const & src)
const;
166 compute_divergence(VectorType & dst, VectorType
const & src)
const;
170 compute_shear_rate(VectorType & dst, VectorType
const & src)
const;
173 get_wall_time_operator_evaluation()
const final;
177 calculate_time_step_cfl_global()
const final;
181 calculate_time_step_diffusion()
const final;
185 initialize_dof_handler_and_constraints();
191 get_dof_index_all()
const;
194 get_quad_index_overintegration_conv()
const;
197 get_quad_index_overintegration_vis()
const;
200 get_quad_index_l2_projections()
const;
205 std::shared_ptr<Grid<dim>
const> grid;
210 std::shared_ptr<dealii::Mapping<dim>
const> mapping;
215 std::shared_ptr<BoundaryDescriptor<dim>
const> boundary_descriptor;
216 std::shared_ptr<FieldFunctions<dim>
const> field_functions;
223 std::string
const field;
229 std::shared_ptr<dealii::FiniteElement<dim>> fe;
230 std::shared_ptr<dealii::FiniteElement<dim>> fe_vector;
231 std::shared_ptr<dealii::FiniteElement<dim>> fe_scalar;
234 dealii::DoFHandler<dim> dof_handler;
235 dealii::DoFHandler<dim> dof_handler_vector;
236 dealii::DoFHandler<dim> dof_handler_scalar;
238 std::string
const dof_index_all =
"all_fields";
239 std::string
const dof_index_vector =
"vector";
240 std::string
const dof_index_scalar =
"scalar";
242 std::string
const quad_index_standard =
"standard";
243 std::string
const quad_index_overintegration_conv =
"overintegration_conv";
244 std::string
const quad_index_overintegration_vis =
"overintegration_vis";
246 std::string
const quad_index_l2_projections = quad_index_standard;
253 dealii::AffineConstraints<Number> constraint;
258 std::shared_ptr<MatrixFreeData<dim, Number>
const> matrix_free_data;
259 std::shared_ptr<dealii::MatrixFree<dim, Number>
const> matrix_free;
274 InverseMassOperator<dim, dim + 2, Number> inverse_mass_all;
275 InverseMassOperator<dim, dim, Number> inverse_mass_vector;
276 InverseMassOperator<dim, 1, Number> inverse_mass_scalar;
287 MPI_Comm
const mpi_comm;
292 dealii::ConditionalOStream pcout;
295 mutable double wall_time_operator_evaluation;
Definition kernels_and_operators.h:301