LaserData< number > Struct Template Reference

Developer Documentation: MeltPoolDG::Heat::LaserData< number > Struct Template Reference
Developer Documentation
MeltPoolDG::Heat::LaserData< number > Struct Template Reference

#include <laser_data.hpp>

Collaboration diagram for MeltPoolDG::Heat::LaserData< number >:
[legend]

Classes

struct  AnalyticalData
 
struct  GusarovData
 

Public Member Functions

template<int dim>
dealii::Point< dim, number > get_starting_position () const
 
template<int dim>
dealii::Tensor< 1, dim, number > get_beam_direction () const
 
template<int dim>
dealii::Tensor< 1, dim, number > get_scan_direction () const
 
void add_parameters (dealii::ParameterHandler &prm)
 
void post (const unsigned int dim)
 
void post (const unsigned int dim, const bool heat_use_volume_specific_thermal_capacity_for_phase_interpolation, const MaterialData< number > &material, const bool heat_is_cut_operator)
 
void check_input_parameters () const
 
template<int dim>
Point< dim, number > get_starting_position () const
 
template<int dim>
Tensor< 1, dim, number > get_beam_direction () const
 
template<int dim>
Tensor< 1, dim, number > get_scan_direction () const
 

Public Attributes

LaserModelType model = LaserModelType::not_initialized
 
LaserIntensityProfileType intensity_profile = LaserIntensityProfileType::Gauss
 
number power = 0.0
 
std::string power_over_time = "constant"
 
number power_start_time = 0.0
 
number power_end_time = std::numeric_limits<number>::max()
 
number absorptivity_liquid = 1.0
 
number absorptivity_gas = 1.0
 
number scan_speed = 0.0
 
number radius = 0.0
 
dealii::types::boundary_id rte_boundary_id = dealii::numbers::invalid_boundary_id
 
LevelSet::DeltaApproximationPhaseWeightedData< number > delta_approximation_phase_weighted
 
struct MeltPoolDG::Heat::LaserData::GusarovData gusarov
 
struct MeltPoolDG::Heat::LaserData::AnalyticalData analytical
 

Private Attributes

std::vector< number > starting_position
 
std::vector< number > beam_direction
 
std::vector< number > scan_direction
 
std::vector< number > beam_rotation_axis
 
number beam_rotation_angle = 0
 

Member Function Documentation

◆ add_parameters()

template<typename number = double>
void MeltPoolDG::Heat::LaserData< number >::add_parameters ( dealii::ParameterHandler &  prm)

◆ check_input_parameters()

template<typename number >
void MeltPoolDG::Heat::LaserData< number >::check_input_parameters ( ) const

◆ get_beam_direction() [1/2]

template<typename number = double>
template<int dim>
dealii::Tensor< 1, dim, number > MeltPoolDG::Heat::LaserData< number >::get_beam_direction ( ) const

◆ get_beam_direction() [2/2]

template<typename number = double>
template<int dim>
template Tensor< 1, 3, double > MeltPoolDG::Heat::LaserData< number >::get_beam_direction< 3 > ( ) const

◆ get_scan_direction() [1/2]

template<typename number = double>
template<int dim>
dealii::Tensor< 1, dim, number > MeltPoolDG::Heat::LaserData< number >::get_scan_direction ( ) const

◆ get_scan_direction() [2/2]

template<typename number = double>
template<int dim>
template Tensor< 1, 3, double > MeltPoolDG::Heat::LaserData< number >::get_scan_direction< 3 > ( ) const

◆ get_starting_position() [1/2]

template<typename number = double>
template<int dim>
dealii::Point< dim, number > MeltPoolDG::Heat::LaserData< number >::get_starting_position ( ) const

◆ get_starting_position() [2/2]

template<typename number = double>
template<int dim>
template Point< 3, double > MeltPoolDG::Heat::LaserData< number >::get_starting_position< 3 > ( ) const

◆ post() [1/2]

template<typename number >
void MeltPoolDG::Heat::LaserData< number >::post ( const unsigned int  dim)

Post operation to set up the laser direction and starting position vectors for the dimension

Parameters
dimThis function must be called before you can get_beam_direction(), get_scan_direction() or get_starting_position() even if it's the default value.

◆ post() [2/2]

template<typename number >
void MeltPoolDG::Heat::LaserData< number >::post ( const unsigned int  dim,
const bool  heat_use_volume_specific_thermal_capacity_for_phase_interpolation,
const MaterialData< number > &  material,
const bool  heat_is_cut_operator 
)

Same as above plus set up the parameter-scaled delta function for the laser.

Member Data Documentation

◆ absorptivity_gas

template<typename number = double>
number MeltPoolDG::Heat::LaserData< number >::absorptivity_gas = 1.0

◆ absorptivity_liquid

template<typename number = double>
number MeltPoolDG::Heat::LaserData< number >::absorptivity_liquid = 1.0

◆ analytical

template<typename number = double>
struct MeltPoolDG::Heat::LaserData::AnalyticalData MeltPoolDG::Heat::LaserData< number >::analytical

◆ beam_direction

template<typename number = double>
std::vector<number> MeltPoolDG::Heat::LaserData< number >::beam_direction
private

◆ beam_rotation_angle

template<typename number = double>
number MeltPoolDG::Heat::LaserData< number >::beam_rotation_angle = 0
private

◆ beam_rotation_axis

template<typename number = double>
std::vector<number> MeltPoolDG::Heat::LaserData< number >::beam_rotation_axis
private

◆ delta_approximation_phase_weighted

template<typename number = double>
LevelSet::DeltaApproximationPhaseWeightedData<number> MeltPoolDG::Heat::LaserData< number >::delta_approximation_phase_weighted

◆ gusarov

template<typename number = double>
struct MeltPoolDG::Heat::LaserData::GusarovData MeltPoolDG::Heat::LaserData< number >::gusarov

◆ intensity_profile

template<typename number = double>
LaserIntensityProfileType MeltPoolDG::Heat::LaserData< number >::intensity_profile = LaserIntensityProfileType::Gauss

◆ model

template<typename number = double>
LaserModelType MeltPoolDG::Heat::LaserData< number >::model = LaserModelType::not_initialized

◆ power

template<typename number = double>
number MeltPoolDG::Heat::LaserData< number >::power = 0.0

◆ power_end_time

template<typename number = double>
number MeltPoolDG::Heat::LaserData< number >::power_end_time = std::numeric_limits<number>::max()

◆ power_over_time

template<typename number = double>
std::string MeltPoolDG::Heat::LaserData< number >::power_over_time = "constant"

◆ power_start_time

template<typename number = double>
number MeltPoolDG::Heat::LaserData< number >::power_start_time = 0.0

◆ radius

template<typename number = double>
number MeltPoolDG::Heat::LaserData< number >::radius = 0.0

◆ rte_boundary_id

template<typename number = double>
dealii::types::boundary_id MeltPoolDG::Heat::LaserData< number >::rte_boundary_id = dealii::numbers::invalid_boundary_id

◆ scan_direction

template<typename number = double>
std::vector<number> MeltPoolDG::Heat::LaserData< number >::scan_direction
private

◆ scan_speed

template<typename number = double>
number MeltPoolDG::Heat::LaserData< number >::scan_speed = 0.0

◆ starting_position

template<typename number = double>
std::vector<number> MeltPoolDG::Heat::LaserData< number >::starting_position
private

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