AdvectionDiffusionApplication< dim, number > Class Template Reference

Developer Documentation: MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number > Class Template Reference
Developer Documentation
MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number > Class Template Reference

#include <advection_diffusion_application.hpp>

Public Member Functions

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

Private Types

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

Private Member Functions

void setup_dof_system ()
 
void initialize ()
 
void compute_advection_velocity (dealii::Function< dim, number > &advec_func)
 
void output_results (unsigned int time_step, number current_time)
 
void refine_mesh ()
 

Private Attributes

std::unique_ptr< CaseTypesimulation_case
 
dealii::DoFHandler< dim > dof_handler
 
dealii::AffineConstraints< number > advec_diff_full_constraints
 
dealii::AffineConstraints< number > advec_diff_mesh_constraints
 
dealii::AffineConstraints< number > advec_diff_full_constraints_hom_dirichlet
 
dealii::DoFHandler< dim > dof_handler_velocity
 
dealii::AffineConstraints< number > velocity_full_constraints
 
std::shared_ptr< ScratchData< dim, dim, number > > scratch_data
 
VectorType advection_velocity
 
std::unique_ptr< TimeIntegration::TimeIterator< number > > time_iterator
 
std::unique_ptr< AdvectionDiffusionOperationBase< dim, number > > advec_diff_operation
 
std::unique_ptr< Profiling::ProfilingMonitor< number > > profiling_monitor
 
std::shared_ptr< dealii::Function< dim, number > > advection_velocity_function = nullptr
 
unsigned int advec_diff_dof_idx = dealii::numbers::invalid_unsigned_int
 
unsigned int advec_diff_mesh_constraints_idx = dealii::numbers::invalid_unsigned_int
 
unsigned int velocity_dof_idx = dealii::numbers::invalid_unsigned_int
 
unsigned int advec_diff_quad_idx = dealii::numbers::invalid_unsigned_int
 
std::unique_ptr< Postprocessor< dim, number > > post_processor
 

Member Typedef Documentation

◆ BlockVectorType

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

◆ CaseType

template<int dim, typename number >
using MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::CaseType = AdvectionDiffusionCase<dim, number>
private

◆ VectorType

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

Constructor & Destructor Documentation

◆ AdvectionDiffusionApplication()

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

Member Function Documentation

◆ compute_advection_velocity()

template<int dim, typename number >
void MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::compute_advection_velocity ( dealii::Function< dim, number > &  advec_func)
private

◆ initialize()

template<int dim, typename number >
void MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::initialize ( )
private

◆ output_results()

template<int dim, typename number >
void MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::output_results ( unsigned int  time_step,
number  current_time 
)
private

◆ refine_mesh()

template<int dim, typename number >
void MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::refine_mesh ( )
private

◆ run()

template<int dim, typename number >
void MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::run ( )

◆ setup_dof_system()

template<int dim, typename number >
void MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::setup_dof_system ( )
private

Member Data Documentation

◆ advec_diff_dof_idx

template<int dim, typename number >
unsigned int MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::advec_diff_dof_idx = dealii::numbers::invalid_unsigned_int
private

◆ advec_diff_full_constraints

template<int dim, typename number >
dealii::AffineConstraints<number> MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::advec_diff_full_constraints
private

◆ advec_diff_full_constraints_hom_dirichlet

template<int dim, typename number >
dealii::AffineConstraints<number> MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::advec_diff_full_constraints_hom_dirichlet
private

◆ advec_diff_mesh_constraints

template<int dim, typename number >
dealii::AffineConstraints<number> MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::advec_diff_mesh_constraints
private

◆ advec_diff_mesh_constraints_idx

template<int dim, typename number >
unsigned int MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::advec_diff_mesh_constraints_idx = dealii::numbers::invalid_unsigned_int
private

◆ advec_diff_operation

template<int dim, typename number >
std::unique_ptr<AdvectionDiffusionOperationBase<dim, number> > MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::advec_diff_operation
private

◆ advec_diff_quad_idx

template<int dim, typename number >
unsigned int MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::advec_diff_quad_idx = dealii::numbers::invalid_unsigned_int
private

◆ advection_velocity

template<int dim, typename number >
VectorType MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::advection_velocity
private

◆ advection_velocity_function

template<int dim, typename number >
std::shared_ptr<dealii::Function<dim, number> > MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::advection_velocity_function = nullptr
private

◆ dof_handler

template<int dim, typename number >
dealii::DoFHandler<dim> MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::dof_handler
private

◆ dof_handler_velocity

template<int dim, typename number >
dealii::DoFHandler<dim> MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::dof_handler_velocity
private

◆ post_processor

template<int dim, typename number >
std::unique_ptr<Postprocessor<dim, number> > MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::post_processor
private

◆ profiling_monitor

template<int dim, typename number >
std::unique_ptr<Profiling::ProfilingMonitor<number> > MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::profiling_monitor
private

◆ scratch_data

template<int dim, typename number >
std::shared_ptr<ScratchData<dim, dim, number> > MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::scratch_data
private

◆ simulation_case

template<int dim, typename number >
std::unique_ptr<CaseType> MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::simulation_case
private

◆ time_iterator

template<int dim, typename number >
std::unique_ptr<TimeIntegration::TimeIterator<number> > MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::time_iterator
private

◆ velocity_dof_idx

template<int dim, typename number >
unsigned int MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::velocity_dof_idx = dealii::numbers::invalid_unsigned_int
private

◆ velocity_full_constraints

template<int dim, typename number >
dealii::AffineConstraints<number> MeltPoolDG::LevelSet::AdvectionDiffusionApplication< dim, number >::velocity_full_constraints
private

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