applications/mp-advec-diff/advection_diffusion_case.hpp Source File

Developer Documentation: applications/mp-advec-diff/advection_diffusion_case.hpp Source File
Developer Documentation
advection_diffusion_case.hpp
Go to the documentation of this file.
1#pragma once
2#include <deal.II/base/parameter_handler.h>
3
12
14{
15 template <typename number>
17 {
18 protected:
19 void
20 add_parameters(dealii::ParameterHandler &prm) final
21 {
23 time_stepping.add_parameters(prm);
24 amr.add_parameters(prm);
25 advec_diff.add_parameters(prm);
26 output.add_parameters(prm);
27 profiling.add_parameters(prm);
28 }
29
30 void
31 post(const std::string &parameter_filename) final
32 {
33 amr.post(base.global_refinements, false /*restart not supported*/);
34 advec_diff.post(base.fe);
35 output.post(time_stepping.time_step_size, parameter_filename);
36
37 // check input parameters for validity
38 advec_diff.check_input_parameters();
39 profiling.check_input_parameters(time_stepping.time_step_size);
40 }
41
42 public:
46 AdvectionDiffusionData<number> advec_diff;
49 };
50
51 template <int dim, typename number>
52 class AdvectionDiffusionCase : public SimulationCaseBase<dim, number>
53 {
54 public:
56
57 AdvectionDiffusionCase(const std::string &parameter_file_in, MPI_Comm mpi_communicator_in)
58 : SimulationCaseBase<dim, number>(parameter_file_in, mpi_communicator_in)
59 {
60 dealii::ParameterHandler prm;
61 parameters.process_parameters_file(prm, parameter_file_in);
62 }
63 };
64} // namespace MeltPoolDG::LevelSet
Definition advection_diffusion_case.hpp:53
AdvectionDiffusionCase(const std::string &parameter_file_in, MPI_Comm mpi_communicator_in)
Definition advection_diffusion_case.hpp:57
AdvectionDiffusionCaseParameters< number > parameters
Definition advection_diffusion_case.hpp:55
Base class for managing a simulation case in a parallel computing environment.
Definition simulation_case_base.hpp:44
This operation solves the reinitialization problem for a CG- or DG-FEM-based discrete level-set field...
Definition advection_DG_operation.hpp:20
Definition amr_data.hpp:9
Definition base_data.hpp:11
unsigned int global_refinements
Definition base_data.hpp:15
void add_parameters(dealii::ParameterHandler &prm)
Definition base_data.cpp:12
FiniteElementData fe
Definition base_data.hpp:18
Definition advection_diffusion_case.hpp:17
AdvectionDiffusionData< number > advec_diff
Definition advection_diffusion_case.hpp:46
OutputData< number > output
Definition advection_diffusion_case.hpp:47
void post(const std::string &parameter_filename) final
Post-processing after reading the parameter file.
Definition advection_diffusion_case.hpp:31
Profiling::ProfilingData< number > profiling
Definition advection_diffusion_case.hpp:48
BaseData base
Definition advection_diffusion_case.hpp:43
TimeIntegration::TimeSteppingData< number > time_stepping
Definition advection_diffusion_case.hpp:44
void add_parameters(dealii::ParameterHandler &prm) final
Add parameters to the ParameterHandler.
Definition advection_diffusion_case.hpp:20
AdaptiveMeshingData< number > amr
Definition advection_diffusion_case.hpp:45
Definition output_data.hpp:41
Abstract base class for managing parameter files.
Definition parameters_base.hpp:40
Definition profiling_data.hpp:13
Definition time_stepping_data.hpp:11