40class DivergenceCalculator
43 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
45 typedef DivergenceCalculator<dim, Number> This;
47 typedef CellIntegrator<dim, dim, Number> CellIntegratorVector;
48 typedef CellIntegrator<dim, 1, Number> CellIntegratorScalar;
50 typedef dealii::VectorizedArray<Number> scalar;
52 DivergenceCalculator();
55 initialize(dealii::MatrixFree<dim, Number>
const & matrix_free_in,
56 unsigned int const dof_index_vector_in,
57 unsigned int const dof_index_scalar_in,
58 unsigned int const quad_index_in);
64 compute_projection_rhs(VectorType & dst_scalar_valued,
65 VectorType
const & src_vector_valued)
const;
69 cell_loop(dealii::MatrixFree<dim, Number>
const & matrix_free,
70 VectorType & dst_scalar_valued,
71 VectorType
const & src_vector_valued,
72 std::pair<unsigned int, unsigned int>
const & cell_range)
const;
74 dealii::MatrixFree<dim, Number>
const * matrix_free;
76 unsigned int dof_index_vector;
77 unsigned int dof_index_scalar;
78 unsigned int quad_index;
93class ShearRateCalculator
96 typedef ShearRateCalculator<dim, Number> This;
98 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
100 typedef dealii::VectorizedArray<Number> scalar;
101 typedef dealii::SymmetricTensor<2, dim, dealii::VectorizedArray<Number>> symmetric_tensor;
103 typedef std::pair<unsigned int, unsigned int> Range;
105 typedef CellIntegrator<dim, dim, Number> CellIntegratorVector;
106 typedef CellIntegrator<dim, 1, Number> CellIntegratorScalar;
109 ShearRateCalculator();
112 initialize(dealii::MatrixFree<dim, Number>
const & matrix_free_in,
113 unsigned int const dof_index_vector_in,
114 unsigned int const dof_index_scalar_in,
115 unsigned int const quad_index_in);
121 compute_projection_rhs(VectorType & dst_scalar_valued,
122 VectorType
const & src_vector_valued)
const;
126 cell_loop(dealii::MatrixFree<dim, Number>
const & matrix_free,
127 VectorType & dst_scalar_valued,
128 VectorType
const & src_vector_valued,
129 Range
const & cell_range)
const;
131 dealii::MatrixFree<dim, Number>
const * matrix_free;
133 unsigned int dof_index_vector;
134 unsigned int dof_index_scalar;
135 unsigned int quad_index;
155class VorticityCalculator
158 static unsigned int const number_vorticity_components = (dim == 2) ? 1 : dim;
160 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
162 typedef VorticityCalculator<dim, Number> This;
164 typedef CellIntegrator<dim, dim, Number> CellIntegratorVector;
166 typedef dealii::Tensor<1, dim, dealii::VectorizedArray<Number>> vector;
168 VorticityCalculator();
171 initialize(dealii::MatrixFree<dim, Number>
const & matrix_free_in,
172 unsigned int const dof_index_vector_in,
173 unsigned int const quad_index_in);
179 compute_projection_rhs(VectorType & dst_vector_valued,
180 VectorType
const & src_vector_valued)
const;
184 cell_loop(dealii::MatrixFree<dim, Number>
const & matrix_free,
185 VectorType & dst_vector_valued,
186 VectorType
const & src_vector_valued,
187 std::pair<unsigned int, unsigned int>
const & cell_range)
const;
189 dealii::MatrixFree<dim, Number>
const * matrix_free;
190 unsigned int dof_index_vector;
191 unsigned int quad_index;
199class ViscosityCalculator
202 typedef ViscosityCalculator<dim, Number> This;
204 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
206 typedef dealii::VectorizedArray<Number> scalar;
208 typedef std::pair<unsigned int, unsigned int> Range;
210 typedef CellIntegrator<dim, 1, Number> CellIntegratorScalar;
213 ViscosityCalculator();
216 initialize(dealii::MatrixFree<dim, Number>
const & matrix_free_in,
217 unsigned int const dof_index_scalar_in,
218 unsigned int const quad_index_in,
225 compute_projection_rhs(VectorType & dst_scalar_valued)
const;
229 cell_loop(dealii::MatrixFree<dim, Number>
const & matrix_free,
230 VectorType & dst_scalar_valued,
231 VectorType
const & src_scalar_valued,
232 Range
const & cell_range)
const;
234 dealii::MatrixFree<dim, Number>
const * matrix_free;
236 unsigned int dof_index_scalar;
237 unsigned int quad_index;
243class MagnitudeCalculator
246 typedef MagnitudeCalculator<dim, Number> This;
248 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
250 typedef dealii::VectorizedArray<Number> scalar;
252 typedef std::pair<unsigned int, unsigned int> Range;
254 typedef CellIntegrator<dim, dim, Number> IntegratorVector;
255 typedef CellIntegrator<dim, 1, Number> IntegratorScalar;
258 MagnitudeCalculator();
261 initialize(dealii::MatrixFree<dim, Number>
const & matrix_free_in,
262 unsigned int const dof_index_vector_in,
263 unsigned int const dof_index_scalar_in,
264 unsigned int const quad_index_in);
270 compute_projection_rhs(VectorType & dst_scalar_valued,
271 VectorType
const & src_vector_valued)
const;
275 cell_loop(dealii::MatrixFree<dim, Number>
const & matrix_free,
276 VectorType & dst_scalar_valued,
277 VectorType
const & src_vector_valued,
278 Range
const & cell_range)
const;
280 dealii::MatrixFree<dim, Number>
const * matrix_free;
282 unsigned int dof_index_vector;
283 unsigned int dof_index_scalar;
284 unsigned int quad_index;
291class QCriterionCalculator
294 typedef QCriterionCalculator<dim, Number> This;
296 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
298 typedef dealii::VectorizedArray<Number> scalar;
299 typedef dealii::Tensor<2, dim, dealii::VectorizedArray<Number>> tensor;
301 typedef std::pair<unsigned int, unsigned int> Range;
303 typedef CellIntegrator<dim, dim, Number> CellIntegratorVector;
304 typedef CellIntegrator<dim, 1, Number> CellIntegratorScalar;
307 QCriterionCalculator();
310 initialize(dealii::MatrixFree<dim, Number>
const & matrix_free_in,
311 unsigned int const dof_index_vector_in,
312 unsigned int const dof_index_scalar_in,
313 unsigned int const quad_index_in,
314 bool const compressible_flow);
320 compute_projection_rhs(VectorType & dst_scalar_valued,
321 VectorType
const & src_vector_valued)
const;
325 cell_loop(dealii::MatrixFree<dim, Number>
const & matrix_free,
326 VectorType & dst_scalar_valued,
327 VectorType
const & src_vector_valued,
328 Range
const & cell_range)
const;
330 dealii::MatrixFree<dim, Number>
const * matrix_free;
332 unsigned int dof_index_vector;
333 unsigned int dof_index_scalar;
334 unsigned int quad_index;
335 bool compressible_flow;