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 serialize_vectors(std::vector<VectorType const *>
const & vectors)
const final;
97 deserialize_vectors(std::vector<VectorType *>
const & vectors)
final;
101 prescribe_initial_conditions(VectorType & src,
double const time)
const final;
111 evaluate(VectorType & dst, VectorType
const & src, Number
const time)
const final;
114 evaluate_convective(VectorType & dst, VectorType
const & src, Number
const time)
const;
117 evaluate_viscous(VectorType & dst, VectorType
const & src, Number
const time)
const;
120 evaluate_convective_and_viscous(VectorType & dst,
121 VectorType
const & src,
122 Number
const time)
const;
125 apply_inverse_mass(VectorType & dst, VectorType
const & src)
const;
128 dealii::MatrixFree<dim, Number>
const &
129 get_matrix_free()
const;
131 dealii::Mapping<dim>
const &
134 dealii::FiniteElement<dim>
const &
137 dealii::DoFHandler<dim>
const &
138 get_dof_handler()
const;
140 dealii::DoFHandler<dim>
const &
141 get_dof_handler_scalar()
const;
143 dealii::DoFHandler<dim>
const &
144 get_dof_handler_vector()
const;
147 get_dof_index_vector()
const;
150 get_dof_index_scalar()
const;
153 get_quad_index_standard()
const;
157 compute_pressure(VectorType & dst, VectorType
const & src)
const;
161 compute_velocity(VectorType & dst, VectorType
const & src)
const;
165 compute_temperature(VectorType & dst, VectorType
const & src)
const;
169 compute_vorticity(VectorType & dst, VectorType
const & src)
const;
173 compute_divergence(VectorType & dst, VectorType
const & src)
const;
177 compute_shear_rate(VectorType & dst, VectorType
const & src)
const;
180 get_wall_time_operator_evaluation()
const final;
184 calculate_time_step_cfl_global()
const final;
188 calculate_time_step_diffusion()
const final;
192 initialize_dof_handler_and_constraints();
198 get_dof_index_all()
const;
201 get_quad_index_overintegration_conv()
const;
204 get_quad_index_overintegration_vis()
const;
207 get_quad_index_l2_projections()
const;
212 std::shared_ptr<Grid<dim>
const> grid;
217 std::shared_ptr<dealii::Mapping<dim>
const> mapping;
222 std::shared_ptr<BoundaryDescriptor<dim>
const> boundary_descriptor;
223 std::shared_ptr<FieldFunctions<dim>
const> field_functions;
230 std::string
const field;
236 std::shared_ptr<dealii::FiniteElement<dim>> fe;
237 std::shared_ptr<dealii::FiniteElement<dim>> fe_vector;
238 std::shared_ptr<dealii::FiniteElement<dim>> fe_scalar;
241 dealii::DoFHandler<dim> dof_handler;
242 dealii::DoFHandler<dim> dof_handler_vector;
243 dealii::DoFHandler<dim> dof_handler_scalar;
245 std::string
const dof_index_all =
"all_fields";
246 std::string
const dof_index_vector =
"vector";
247 std::string
const dof_index_scalar =
"scalar";
249 std::string
const quad_index_standard =
"standard";
250 std::string
const quad_index_overintegration_conv =
"overintegration_conv";
251 std::string
const quad_index_overintegration_vis =
"overintegration_vis";
254 std::shared_ptr<dealii::FiniteElement<dim>> fe_mapping;
255 std::shared_ptr<dealii::DoFHandler<dim>> dof_handler_mapping;
257 std::string
const quad_index_l2_projections = quad_index_standard;
264 dealii::AffineConstraints<Number> constraint;
269 std::shared_ptr<MatrixFreeData<dim, Number>
const> matrix_free_data;
270 std::shared_ptr<dealii::MatrixFree<dim, Number>
const> matrix_free;
285 InverseMassOperator<dim, dim + 2, Number> inverse_mass_all;
286 InverseMassOperator<dim, dim, Number> inverse_mass_vector;
287 InverseMassOperator<dim, 1, Number> inverse_mass_scalar;
298 MPI_Comm
const mpi_comm;
303 dealii::ConditionalOStream pcout;
306 mutable double wall_time_operator_evaluation;
Definition kernels_and_operators.h:301