include/meltpooldg/radiative_transport/pseudo_rte_operation.hpp Source File

Developer Documentation: include/meltpooldg/radiative_transport/pseudo_rte_operation.hpp Source File
Developer Documentation
pseudo_rte_operation.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/base/tensor.h>
4
5#include <deal.II/lac/la_parallel_vector.h>
6
13
14#include <memory>
15
17{
18 /*
19 * TODO
20 */
21 template <int dim, typename number>
23 {
24 private:
25 using VectorType = dealii::LinearAlgebra::distributed::Vector<number>;
26
28
30
32
33 const unsigned int rte_dof_idx;
34 const unsigned int rte_hanging_nodes_dof_idx;
35 const unsigned int rte_quad_idx;
36 const unsigned int hs_dof_idx;
37
39
40 std::unique_ptr<PseudoRTEOperator<dim, number>> pseudo_rte_operator;
41
43
45
47
48 public:
50 const RadiativeTransportData<number> &rte_data_in,
51 const dealii::Tensor<1, dim, number> &laser_direction_in,
52 const VectorType &heaviside_in,
53 const unsigned int rte_dof_idx_in,
54 const unsigned int rte_hanging_nodes_dof_idx_in,
55 const unsigned int rte_quad_idx_in,
56 const unsigned int hs_dof_idx_in);
57
58 void
59 reinit();
60
61 void
63
64 void
65 solve();
66
67 void
68 set_intensity(const VectorType &intensity_in);
69
70 const VectorType &
72 };
73} // namespace MeltPoolDG::RadiativeTransport
Definition preconditioner.hpp:42
Definition pseudo_rte_operation.hpp:23
Preconditioner< dim, VectorType, number > preconditioner
Definition pseudo_rte_operation.hpp:46
void set_intensity(const VectorType &intensity_in)
Definition pseudo_rte_operation.cpp:176
const RadiativeTransportData< number > & rte_data
Definition pseudo_rte_operation.hpp:29
void perform_pseudo_time_stepping()
Definition pseudo_rte_operation.cpp:71
void reinit()
Definition pseudo_rte_operation.cpp:52
const unsigned int rte_hanging_nodes_dof_idx
Definition pseudo_rte_operation.hpp:34
VectorType rhs
Definition pseudo_rte_operation.hpp:38
const VectorType & get_predicted_intensity() const
Definition pseudo_rte_operation.cpp:185
const unsigned int rte_quad_idx
Definition pseudo_rte_operation.hpp:35
const VectorType & heaviside
Definition pseudo_rte_operation.hpp:31
const ScratchData< dim, dim, number > & scratch_data
Definition pseudo_rte_operation.hpp:27
const unsigned int rte_dof_idx
Definition pseudo_rte_operation.hpp:33
void solve()
Definition pseudo_rte_operation.cpp:135
const unsigned int hs_dof_idx
Definition pseudo_rte_operation.hpp:36
TimeIntegration::SolutionHistory< VectorType > solution_history
Definition pseudo_rte_operation.hpp:42
TimeIntegration::TimeIterator< number > pseudo_time_iterator
Definition pseudo_rte_operation.hpp:44
dealii::LinearAlgebra::distributed::Vector< number > VectorType
Definition pseudo_rte_operation.hpp:25
std::unique_ptr< PseudoRTEOperator< dim, number > > pseudo_rte_operator
Definition pseudo_rte_operation.hpp:40
Container for shared scratch data between operations/operators.
Definition scratch_data.hpp:61
Definition solution_history.hpp:21
Definition time_iterator.hpp:15
Definition pseudo_rte_data.hpp:9
Definition radiative_transport_data.hpp:32