applications/mp-radiative-transport/radiative_transport_case.hpp Source File

Developer Documentation: applications/mp-radiative-transport/radiative_transport_case.hpp Source File
Developer Documentation
radiative_transport_case.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/base/parameter_handler.h>
4
14
15#include <string>
16
17
19{
20 template <typename number>
22 {
23 protected:
24 void
25 add_parameters(dealii::ParameterHandler &prm) final
26 {
28 time_stepping.add_parameters(prm);
29 amr.add_parameters(prm);
30 rad_trans.add_parameters(prm);
32 output.add_parameters(prm);
33 profiling.add_parameters(prm);
34 }
35
36 void
37 post(const std::string &parameter_filename) final
38 {
39 amr.post(base.global_refinements, false /*restart not supported*/);
42 output.post(time_stepping.time_step_size, parameter_filename);
43
45 rad_trans.check_input_parameters(base.fe);
47 profiling.check_input_parameters(time_stepping.time_step_size);
48 }
49
50 public:
58 };
59
60 template <int dim, typename number>
61 class RadiativeTransportCase : public SimulationCaseBase<dim, number>
62 {
63 public:
65
66 RadiativeTransportCase(const std::string &parameter_file_in, MPI_Comm mpi_communicator_in)
67 : SimulationCaseBase<dim, number>(parameter_file_in, mpi_communicator_in)
68 {
69 dealii::ParameterHandler prm;
70 parameters.process_parameters_file(prm, parameter_file_in);
71 }
72 };
73} // namespace MeltPoolDG::RadiativeTransport
Definition radiative_transport_case.hpp:62
RadiativeTransportCase(const std::string &parameter_file_in, MPI_Comm mpi_communicator_in)
Definition radiative_transport_case.hpp:66
RadiativeTransportCaseParameters< number > parameters
Definition radiative_transport_case.hpp:64
Base class for managing a simulation case in a parallel computing environment.
Definition simulation_case_base.hpp:44
Definition pseudo_rte_data.hpp:9
Definition amr_data.hpp:9
Definition base_data.hpp:11
void check_input_parameters() const
Definition base_data.cpp:46
unsigned int dimension
Definition base_data.hpp:13
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
unsigned int verbosity_level
Definition base_data.hpp:17
Definition laser_data.hpp:49
void check_input_parameters() const
Definition laser_data.cpp:233
void add_parameters(dealii::ParameterHandler &prm)
Definition laser_data.cpp:19
void post(const unsigned int dim)
Definition laser_data.cpp:115
Definition output_data.hpp:41
Abstract base class for managing parameter files.
Definition parameters_base.hpp:40
Definition profiling_data.hpp:13
BaseData base
Definition radiative_transport_case.hpp:51
OutputData< number > output
Definition radiative_transport_case.hpp:56
void add_parameters(dealii::ParameterHandler &prm) final
Add parameters to the ParameterHandler.
Definition radiative_transport_case.hpp:25
TimeIntegration::TimeSteppingData< number > time_stepping
Definition radiative_transport_case.hpp:52
Heat::LaserData< number > laser
Definition radiative_transport_case.hpp:55
AdaptiveMeshingData< number > amr
Definition radiative_transport_case.hpp:53
Profiling::ProfilingData< number > profiling
Definition radiative_transport_case.hpp:57
void post(const std::string &parameter_filename) final
Post-processing after reading the parameter file.
Definition radiative_transport_case.hpp:37
RadiativeTransportData< number > rad_trans
Definition radiative_transport_case.hpp:54
Definition radiative_transport_data.hpp:32
Definition time_stepping_data.hpp:11