applications/mp-reinit/reinitialization_application.hpp Source File

Developer Documentation: applications/mp-reinit/reinitialization_application.hpp Source File
Developer Documentation
reinitialization_application.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/dofs/dof_handler.h>
4
5#include <deal.II/lac/affine_constraints.h>
6#include <deal.II/lac/generic_linear_algebra.h>
7#include <deal.II/lac/la_parallel_vector.h>
8
15
16#include <memory>
17#include <string>
18
20
21
22namespace MeltPoolDG
23{
24 namespace LevelSet
25 {
26 template <int dim, typename number>
28 {
29 private:
31 using VectorType = dealii::LinearAlgebra::distributed::Vector<number>;
32 using DoFHandlerType = dealii::DoFHandler<dim>;
33
34 public:
35 ReinitializationApplication(std::unique_ptr<CaseType> simulation_case_)
36 : simulation_case(std::move(simulation_case_))
37 , param(simulation_case->parameters)
38 {}
39
40 void
41 run();
42
43 private:
44 std::unique_ptr<CaseType> simulation_case;
47 dealii::AffineConstraints<number> constraints;
48 dealii::AffineConstraints<number> normal_no_bc_constraints;
49 dealii::AffineConstraints<number> normal_dirichlet_x_constraints;
50 dealii::AffineConstraints<number> normal_dirichlet_y_constraints;
51 dealii::AffineConstraints<number> normal_dirichlet_z_constraints;
52 std::unique_ptr<Profiling::ProfilingMonitor<number>> profiling_monitor;
53
54 std::shared_ptr<ScratchData<dim, dim, number>> scratch_data;
55 std::unique_ptr<TimeIntegration::TimeIterator<number>> time_iterator;
56 std::unique_ptr<ReinitializationOperationBase<dim, number>> reinit_operation;
57 unsigned int reinit_dof_idx = -1;
58 unsigned int normal_no_bc_dof_idx = -1;
59 unsigned int normal_dirichlet_x_dof_idx = -1;
60 unsigned int normal_dirichlet_y_dof_idx = -1;
61 unsigned int normal_dirichlet_z_dof_idx = -1;
62 unsigned int reinit_quad_idx = -1;
63
64 std::unique_ptr<Postprocessor<dim, number>> post_processor;
65
66 void
67 initialize();
68
69 void
71
72 void
74
75 void
76 output_results(const unsigned int time_step, const number current_time);
77 };
78 } // namespace LevelSet
79} // namespace MeltPoolDG
Definition reinitialization_application.hpp:28
void refine_mesh()
Definition reinitialization_application.cpp:380
dealii::AffineConstraints< number > normal_dirichlet_x_constraints
Definition reinitialization_application.hpp:49
std::unique_ptr< TimeIntegration::TimeIterator< number > > time_iterator
Definition reinitialization_application.hpp:55
void setup_dof_system()
Definition reinitialization_application.cpp:315
std::shared_ptr< ScratchData< dim, dim, number > > scratch_data
Definition reinitialization_application.hpp:54
dealii::AffineConstraints< number > normal_no_bc_constraints
Definition reinitialization_application.hpp:48
unsigned int reinit_dof_idx
Definition reinitialization_application.hpp:57
unsigned int normal_no_bc_dof_idx
Definition reinitialization_application.hpp:58
std::unique_ptr< ReinitializationOperationBase< dim, number > > reinit_operation
Definition reinitialization_application.hpp:56
const ReinitializationCaseParameters< number > & param
Definition reinitialization_application.hpp:45
unsigned int reinit_quad_idx
Definition reinitialization_application.hpp:62
ReinitializationCase< dim, number > CaseType
Definition reinitialization_application.hpp:30
dealii::DoFHandler< dim > DoFHandlerType
Definition reinitialization_application.hpp:32
unsigned int normal_dirichlet_x_dof_idx
Definition reinitialization_application.hpp:59
std::unique_ptr< Profiling::ProfilingMonitor< number > > profiling_monitor
Definition reinitialization_application.hpp:52
dealii::LinearAlgebra::distributed::Vector< number > VectorType
Definition reinitialization_application.hpp:31
ReinitializationApplication(std::unique_ptr< CaseType > simulation_case_)
Definition reinitialization_application.hpp:35
DoFHandlerType dof_handler
Definition reinitialization_application.hpp:46
void run()
Definition reinitialization_application.cpp:31
unsigned int normal_dirichlet_y_dof_idx
Definition reinitialization_application.hpp:60
void output_results(const unsigned int time_step, const number current_time)
Definition reinitialization_application.cpp:435
std::unique_ptr< Postprocessor< dim, number > > post_processor
Definition reinitialization_application.hpp:64
dealii::AffineConstraints< number > constraints
Definition reinitialization_application.hpp:47
unsigned int normal_dirichlet_z_dof_idx
Definition reinitialization_application.hpp:61
dealii::AffineConstraints< number > normal_dirichlet_z_constraints
Definition reinitialization_application.hpp:51
void initialize()
Definition reinitialization_application.cpp:152
dealii::AffineConstraints< number > normal_dirichlet_y_constraints
Definition reinitialization_application.hpp:50
std::unique_ptr< CaseType > simulation_case
Definition reinitialization_application.hpp:44
Definition reinitialization_case.hpp:79
Interface for a general preconditioner.
Definition boundary_condition_functions.hpp:17
Definition reinitialization_case.hpp:21