ExaDG
Loading...
Searching...
No Matches
pointwise_output_generator.h
1/* ______________________________________________________________________
2 *
3 * ExaDG - High-Order Discontinuous Galerkin for the Exa-Scale
4 *
5 * Copyright (C) 2021 by the ExaDG authors
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
19 * ______________________________________________________________________
20 */
21
22#ifndef EXADG_COMPRESSIBLE_NAVIER_STOKES_POSTPROCESSOR_POINTWISE_OUTPUT_GENERATOR_H_
23#define EXADG_COMPRESSIBLE_NAVIER_STOKES_POSTPROCESSOR_POINTWISE_OUTPUT_GENERATOR_H_
24
25// deal.II
26#include <deal.II/lac/la_parallel_vector.h>
27
28// ExaDG
29#include <exadg/postprocessor/pointwise_output_generator_base.h>
30
31namespace ExaDG
32{
33namespace CompNS
34{
35template<int dim>
36struct PointwiseOutputData : public PointwiseOutputDataBase<dim>
37{
38 PointwiseOutputData();
39
40 void
41 print(dealii::ConditionalOStream & pcout) const;
42
43 bool write_rho;
44 bool write_rho_u;
45 bool write_rho_E;
46};
47
48template<int dim, typename Number>
49class PointwiseOutputGenerator : public PointwiseOutputGeneratorBase<dim, Number>
50{
51public:
52 using VectorType = dealii::LinearAlgebra::distributed::Vector<Number>;
53
54 PointwiseOutputGenerator(MPI_Comm const & comm);
55
56 void
57 setup(dealii::DoFHandler<dim> const & dof_handler_in,
58 dealii::Mapping<dim> const & mapping_in,
59 PointwiseOutputData<dim> const & pointwise_output_data_in);
60
61 void
62 evaluate(VectorType const & solution, double const time, bool const unsteady);
63
64private:
65 dealii::ObserverPointer<dealii::DoFHandler<dim> const> dof_handler;
66 PointwiseOutputData<dim> pointwise_output_data;
67};
68
69} // namespace CompNS
70} // namespace ExaDG
71
72#endif /* EXADG_COMPRESSIBLE_NAVIER_STOKES_POSTPROCESSOR_POINTWISE_OUTPUT_GENERATOR_H_ */
Definition driver.cpp:33
Definition pointwise_output_generator.h:37