HeatTransferApplication< dim, number > Class Template Reference

Developer Documentation: MeltPoolDG::Heat::HeatTransferApplication< dim, number > Class Template Reference
Developer Documentation
MeltPoolDG::Heat::HeatTransferApplication< dim, number > Class Template Reference

#include <heat_transfer_application.hpp>

Public Member Functions

 HeatTransferApplication (std::unique_ptr< CaseType > simulation_case)
 
void run ()
 

Private Types

using CaseType = HeatTransferCase< dim, number >
 
using VectorType = dealii::LinearAlgebra::distributed::Vector< number >
 
using BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector< number >
 

Private Member Functions

void initialize ()
 
void setup_dof_system ()
 
void compute_field_vector (VectorType &vector, unsigned dof_idx, dealii::Function< dim > &field_function)
 
void output_results (const bool output_not_converged=false)
 
void attach_output_vectors (GenericDataOut< dim, number > &data_out) const
 
void refine_mesh (const bool is_initial_solution=false)
 

Private Attributes

const std::unique_ptr< CaseTypesimulation_case
 
TimeIntegration::SolutionHistory< VectorTypevelocity_hist
 
VectorType level_set_as_heaviside
 
VectorType level_set
 
std::shared_ptr< TimeIntegration::TimeIterator< number > > time_iterator
 
dealii::DoFHandler< dim > dof_handler
 
dealii::DoFHandler< dim > dof_handler_velocity
 
dealii::DoFHandler< dim > dof_handler_level_set
 
dealii::AffineConstraints< number > heat_dirichlet_constraints
 
dealii::AffineConstraints< number > heat_hanging_nodes_constraints
 
dealii::AffineConstraints< number > velocity_hanging_nodes_constraints
 
dealii::AffineConstraints< number > level_set_hanging_nodes_constraints
 
unsigned int heat_dof_idx
 
unsigned int heat_no_bc_dof_idx
 
unsigned int heat_quad_idx
 
unsigned int velocity_dof_idx
 
unsigned int level_set_dof_idx
 
unsigned int heat_continuous_no_bc_dof_idx = -1
 
std::shared_ptr< ScratchData< dim, dim, number > > scratch_data
 
std::shared_ptr< HeatOperationBase< dim, number > > heat_operation
 
std::shared_ptr< Material< number > > material
 
std::shared_ptr< Postprocessor< dim, number > > post_processor
 
std::shared_ptr< dealii::Function< dim > > velocity_field_function
 
std::shared_ptr< dealii::Function< dim > > heaviside_field_function
 
std::shared_ptr< dealii::Function< dim > > level_set_field_function
 
std::shared_ptr< LaserOperation< dim, number > > laser_operation
 
AMR::MarkCellsForRefinementType< dim > mark_cells_for_refinement = {}
 
AttachDoFHandlerAndVectorsType< dim, VectorTypeattach_vectors_for_amr = {}
 
std::function< void()> amr_post = {}
 

Member Typedef Documentation

◆ BlockVectorType

template<int dim, typename number >
using MeltPoolDG::Heat::HeatTransferApplication< dim, number >::BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector<number>
private

◆ CaseType

template<int dim, typename number >
using MeltPoolDG::Heat::HeatTransferApplication< dim, number >::CaseType = HeatTransferCase<dim, number>
private

◆ VectorType

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

Constructor & Destructor Documentation

◆ HeatTransferApplication()

template<int dim, typename number >
MeltPoolDG::Heat::HeatTransferApplication< dim, number >::HeatTransferApplication ( std::unique_ptr< CaseType simulation_case)
inline

Member Function Documentation

◆ attach_output_vectors()

template<int dim, typename number >
void MeltPoolDG::Heat::HeatTransferApplication< dim, number >::attach_output_vectors ( GenericDataOut< dim, number > &  data_out) const
private

◆ compute_field_vector()

template<int dim, typename number >
void MeltPoolDG::Heat::HeatTransferApplication< dim, number >::compute_field_vector ( VectorType vector,
unsigned  dof_idx,
dealii::Function< dim > &  field_function 
)
private

◆ initialize()

template<int dim, typename number >
void MeltPoolDG::Heat::HeatTransferApplication< dim, number >::initialize ( )
private

◆ output_results()

template<int dim, typename number >
void MeltPoolDG::Heat::HeatTransferApplication< dim, number >::output_results ( const bool  output_not_converged = false)
private

◆ refine_mesh()

template<int dim, typename number >
void MeltPoolDG::Heat::HeatTransferApplication< dim, number >::refine_mesh ( const bool  is_initial_solution = false)
private

◆ run()

template<int dim, typename number >
void MeltPoolDG::Heat::HeatTransferApplication< dim, number >::run ( )

◆ setup_dof_system()

template<int dim, typename number >
void MeltPoolDG::Heat::HeatTransferApplication< dim, number >::setup_dof_system ( )
private

Member Data Documentation

◆ amr_post

template<int dim, typename number >
std::function<void()> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::amr_post = {}
private

◆ attach_vectors_for_amr

template<int dim, typename number >
AttachDoFHandlerAndVectorsType<dim, VectorType> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::attach_vectors_for_amr = {}
private

◆ dof_handler

template<int dim, typename number >
dealii::DoFHandler<dim> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::dof_handler
private

◆ dof_handler_level_set

template<int dim, typename number >
dealii::DoFHandler<dim> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::dof_handler_level_set
private

◆ dof_handler_velocity

template<int dim, typename number >
dealii::DoFHandler<dim> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::dof_handler_velocity
private

◆ heat_continuous_no_bc_dof_idx

template<int dim, typename number >
unsigned int MeltPoolDG::Heat::HeatTransferApplication< dim, number >::heat_continuous_no_bc_dof_idx = -1
private

◆ heat_dirichlet_constraints

template<int dim, typename number >
dealii::AffineConstraints<number> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::heat_dirichlet_constraints
private

◆ heat_dof_idx

template<int dim, typename number >
unsigned int MeltPoolDG::Heat::HeatTransferApplication< dim, number >::heat_dof_idx
private

◆ heat_hanging_nodes_constraints

template<int dim, typename number >
dealii::AffineConstraints<number> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::heat_hanging_nodes_constraints
private

◆ heat_no_bc_dof_idx

template<int dim, typename number >
unsigned int MeltPoolDG::Heat::HeatTransferApplication< dim, number >::heat_no_bc_dof_idx
private

◆ heat_operation

template<int dim, typename number >
std::shared_ptr<HeatOperationBase<dim, number> > MeltPoolDG::Heat::HeatTransferApplication< dim, number >::heat_operation
private

◆ heat_quad_idx

template<int dim, typename number >
unsigned int MeltPoolDG::Heat::HeatTransferApplication< dim, number >::heat_quad_idx
private

◆ heaviside_field_function

template<int dim, typename number >
std::shared_ptr<dealii::Function<dim> > MeltPoolDG::Heat::HeatTransferApplication< dim, number >::heaviside_field_function
private

◆ laser_operation

template<int dim, typename number >
std::shared_ptr<LaserOperation<dim, number> > MeltPoolDG::Heat::HeatTransferApplication< dim, number >::laser_operation
private

◆ level_set

template<int dim, typename number >
VectorType MeltPoolDG::Heat::HeatTransferApplication< dim, number >::level_set
private

◆ level_set_as_heaviside

template<int dim, typename number >
VectorType MeltPoolDG::Heat::HeatTransferApplication< dim, number >::level_set_as_heaviside
private

◆ level_set_dof_idx

template<int dim, typename number >
unsigned int MeltPoolDG::Heat::HeatTransferApplication< dim, number >::level_set_dof_idx
private

◆ level_set_field_function

template<int dim, typename number >
std::shared_ptr<dealii::Function<dim> > MeltPoolDG::Heat::HeatTransferApplication< dim, number >::level_set_field_function
private

◆ level_set_hanging_nodes_constraints

template<int dim, typename number >
dealii::AffineConstraints<number> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::level_set_hanging_nodes_constraints
private

◆ mark_cells_for_refinement

template<int dim, typename number >
AMR::MarkCellsForRefinementType<dim> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::mark_cells_for_refinement = {}
private

◆ material

template<int dim, typename number >
std::shared_ptr<Material<number> > MeltPoolDG::Heat::HeatTransferApplication< dim, number >::material
private

◆ post_processor

template<int dim, typename number >
std::shared_ptr<Postprocessor<dim, number> > MeltPoolDG::Heat::HeatTransferApplication< dim, number >::post_processor
private

◆ scratch_data

template<int dim, typename number >
std::shared_ptr<ScratchData<dim, dim, number> > MeltPoolDG::Heat::HeatTransferApplication< dim, number >::scratch_data
private

◆ simulation_case

template<int dim, typename number >
const std::unique_ptr<CaseType> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::simulation_case
private

◆ time_iterator

template<int dim, typename number >
std::shared_ptr<TimeIntegration::TimeIterator<number> > MeltPoolDG::Heat::HeatTransferApplication< dim, number >::time_iterator
private

◆ velocity_dof_idx

template<int dim, typename number >
unsigned int MeltPoolDG::Heat::HeatTransferApplication< dim, number >::velocity_dof_idx
private

◆ velocity_field_function

template<int dim, typename number >
std::shared_ptr<dealii::Function<dim> > MeltPoolDG::Heat::HeatTransferApplication< dim, number >::velocity_field_function
private

◆ velocity_hanging_nodes_constraints

template<int dim, typename number >
dealii::AffineConstraints<number> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::velocity_hanging_nodes_constraints
private

◆ velocity_hist

template<int dim, typename number >
TimeIntegration::SolutionHistory<VectorType> MeltPoolDG::Heat::HeatTransferApplication< dim, number >::velocity_hist
private

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