RadiativeTransportOperation< dim, number > Class Template Reference

Developer Documentation: MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number > Class Template Reference
Developer Documentation
MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number > Class Template Reference

#include <radiative_transport_operation.hpp>

Collaboration diagram for MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >:
[legend]

Public Member Functions

 RadiativeTransportOperation (const ScratchData< dim, dim, number > &scratch_data_in, const RadiativeTransportData< number > &rte_data_in, const dealii::Tensor< 1, dim, number > &laser_direction_in, const VectorType &heaviside_in, const unsigned int rte_dof_idx_in, const unsigned int rte_hanging_nodes_dof_idx_in, const unsigned int rte_quad_idx_in, const unsigned int hs_dof_idx_in)
 
void reinit ()
 
void distribute_constraints ()
 
void setup_constraints (ScratchData< dim, dim, number > &scratch_data, const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &bc_data, const PeriodicBoundaryConditions< dim > &pbc)
 
void solve ()
 
const VectorTypeget_intensity () const
 
VectorTypeget_intensity ()
 
void attach_vectors (std::vector< VectorType * > &vectors)
 
void attach_output_vectors (MeltPoolDG::GenericDataOut< dim, number > &data_out) const
 
void compute_heat_source (VectorType &heat_source, const unsigned int heat_source_dof_idx, const bool zero_out=true) const
 

Private Types

using VectorType = dealii::LinearAlgebra::distributed::Vector< number >
 

Private Attributes

const ScratchData< dim, dim, number > & scratch_data
 
const RadiativeTransportData< number > rte_data
 
const dealii::Tensor< 1, dim, number > laser_direction
 
const VectorTypeheaviside
 
const unsigned int rte_dof_idx
 
const unsigned int rte_hanging_nodes_dof_idx
 
const unsigned int rte_quad_idx
 
const unsigned int hs_dof_idx
 
VectorType intensity
 
VectorType rhs
 
std::unique_ptr< RadiativeTransportOperator< dim, number > > rte_operator
 
std::unique_ptr< PseudoRTEOperation< dim, number > > pseudo_rte_operation
 
Preconditioner< dim, VectorType, number > preconditioner
 

Member Typedef Documentation

◆ VectorType

template<int dim, typename number >
using MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::VectorType = dealii::LinearAlgebra::distributed::Vector<number>
private

Constructor & Destructor Documentation

◆ RadiativeTransportOperation()

template<int dim, typename number >
MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::RadiativeTransportOperation ( const ScratchData< dim, dim, number > &  scratch_data_in,
const RadiativeTransportData< number > &  rte_data_in,
const dealii::Tensor< 1, dim, number > &  laser_direction_in,
const VectorType heaviside_in,
const unsigned int  rte_dof_idx_in,
const unsigned int  rte_hanging_nodes_dof_idx_in,
const unsigned int  rte_quad_idx_in,
const unsigned int  hs_dof_idx_in 
)

Member Function Documentation

◆ attach_output_vectors()

template<int dim, typename number >
void MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::attach_output_vectors ( MeltPoolDG::GenericDataOut< dim, number > &  data_out) const

attach vectors for output

◆ attach_vectors()

template<int dim, typename number >
void MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::attach_vectors ( std::vector< VectorType * > &  vectors)

register vectors for adaptive mesh refinement

◆ compute_heat_source()

template<int dim, typename number >
void MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::compute_heat_source ( VectorType heat_source,
const unsigned int  heat_source_dof_idx,
const bool  zero_out = true 
) const

◆ distribute_constraints()

template<int dim, typename number >
void MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::distribute_constraints ( )

◆ get_intensity() [1/2]

template<int dim, typename number >
LinearAlgebra::distributed::Vector< number > & MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::get_intensity ( )

◆ get_intensity() [2/2]

template<int dim, typename number >
const LinearAlgebra::distributed::Vector< number > & MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::get_intensity ( ) const

◆ reinit()

template<int dim, typename number >
void MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::reinit ( )

◆ setup_constraints()

template<int dim, typename number >
void MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::setup_constraints ( ScratchData< dim, dim, number > &  scratch_data,
const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &  bc_data,
const PeriodicBoundaryConditions< dim > &  pbc 
)

◆ solve()

template<int dim, typename number >
void MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::solve ( )

Member Data Documentation

◆ heaviside

template<int dim, typename number >
const VectorType& MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::heaviside
private

◆ hs_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::hs_dof_idx
private

◆ intensity

template<int dim, typename number >
VectorType MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::intensity
private

◆ laser_direction

template<int dim, typename number >
const dealii::Tensor<1, dim, number> MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::laser_direction
private

◆ preconditioner

template<int dim, typename number >
Preconditioner<dim, VectorType, number> MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::preconditioner
private

◆ pseudo_rte_operation

template<int dim, typename number >
std::unique_ptr<PseudoRTEOperation<dim, number> > MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::pseudo_rte_operation
private

◆ rhs

template<int dim, typename number >
VectorType MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::rhs
private

◆ rte_data

template<int dim, typename number >
const RadiativeTransportData<number> MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::rte_data
private

◆ rte_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::rte_dof_idx
private

◆ rte_hanging_nodes_dof_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::rte_hanging_nodes_dof_idx
private

◆ rte_operator

template<int dim, typename number >
std::unique_ptr<RadiativeTransportOperator<dim, number> > MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::rte_operator
private

◆ rte_quad_idx

template<int dim, typename number >
const unsigned int MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::rte_quad_idx
private

◆ scratch_data

template<int dim, typename number >
const ScratchData<dim, dim, number>& MeltPoolDG::RadiativeTransport::RadiativeTransportOperation< dim, number >::scratch_data
private

The documentation for this class was generated from the following files: