adamantine
Public Member Functions | Private Attributes | List of all members
adamantine::CubeHeatSource< dim > Class Template Referencefinal

#include <CubeHeatSource.hh>

Inheritance diagram for adamantine::CubeHeatSource< dim >:
adamantine::HeatSource< dim >

Public Member Functions

 CubeHeatSource (boost::property_tree::ptree const &source_database, boost::optional< boost::property_tree::ptree const & > const &units_optional_database)
 
void update_time (double time) final
 
double value (dealii::Point< dim > const &point, double const) const final
 
dealii::VectorizedArray< double > value (dealii::Point< dim, dealii::VectorizedArray< double >> const &points, dealii::VectorizedArray< double > const &) const final
 
double get_current_height (double const time) const final
 
dealii::BoundingBox< dim > get_bounding_box (double const time, double const scaling_factor) const final
 
- Public Member Functions inherited from adamantine::HeatSource< dim >
 HeatSource ()=default
 
 HeatSource (boost::property_tree::ptree const &beam_database, boost::optional< boost::property_tree::ptree const & > const &units_optional_database)
 
virtual ~HeatSource ()=default
 
virtual ScanPathget_scan_path ()
 
virtual void set_beam_properties (boost::property_tree::ptree const &database)
 

Private Attributes

bool _source_on = false
 
double _start_time
 
double _end_time
 
double _value
 
dealii::Point< dim > _min_point
 
dealii::Point< dim > _max_point
 

Additional Inherited Members

- Protected Attributes inherited from adamantine::HeatSource< dim >
BeamHeatSourceProperties _beam
 
ScanPath _scan_path
 

Detailed Description

template<int dim>
class adamantine::CubeHeatSource< dim >

Cube heat source. This source does not represent a physical source, it is used for verification purpose.

Definition at line 17 of file CubeHeatSource.hh.

Constructor & Destructor Documentation

◆ CubeHeatSource()

template<int dim>
adamantine::CubeHeatSource< dim >::CubeHeatSource ( boost::property_tree::ptree const &  source_database,
boost::optional< boost::property_tree::ptree const & > const &  units_optional_database 
)

Constructor.

Parameters
[in]source_databaserequires the following entries:
  • start_time: double (when the source is turned on)
  • end_time: double (when the source is turned off)
  • value: double (value of the soruce)
  • min_x: double (minimum x coordinate of the cube)
  • max_x: double (maximum x coordinate of the cube)
  • min_y: double (minimum y coordinate of the cube)
  • max_y: double (maximum y coordinate of the cube)
  • min_z: double (3D only, minimum z coordinate of the cube)
  • max_z: double (3D only, maximum z coordinate of the cube)
[in]units_optional_databasemay have the following entries:
  • heat_source.dimension
  • heat_source.power

Definition at line 12 of file CubeHeatSource.cc.

Member Function Documentation

◆ get_bounding_box()

template<int dim>
dealii::BoundingBox< dim > adamantine::CubeHeatSource< dim >::get_bounding_box ( double const  time,
double const  scaling_factor 
) const
finalvirtual

Return a scaled bounding box of the heat source at the given time.

Implements adamantine::HeatSource< dim >.

Definition at line 119 of file CubeHeatSource.cc.

◆ get_current_height()

template<int dim>
double adamantine::CubeHeatSource< dim >::get_current_height ( double const  time) const
finalvirtual

Compute the current height of the where the heat source meets the material (i.e. the current scan path height).

Reimplemented from adamantine::HeatSource< dim >.

Definition at line 112 of file CubeHeatSource.cc.

◆ update_time()

template<int dim>
void adamantine::CubeHeatSource< dim >::update_time ( double  time)
finalvirtual

Set the time variable.

Implements adamantine::HeatSource< dim >.

Definition at line 46 of file CubeHeatSource.cc.

◆ value() [1/2]

template<int dim>
double adamantine::CubeHeatSource< dim >::value ( dealii::Point< dim > const &  point,
double const   
) const
finalvirtual

Return the value of the source for a given point and time.

Implements adamantine::HeatSource< dim >.

Definition at line 52 of file CubeHeatSource.cc.

◆ value() [2/2]

template<int dim>
dealii::VectorizedArray< double > adamantine::CubeHeatSource< dim >::value ( dealii::Point< dim, dealii::VectorizedArray< double >> const &  points,
dealii::VectorizedArray< double > const &   
) const
finalvirtual

Same function as above but it uses vectorized data.

Implements adamantine::HeatSource< dim >.

Definition at line 75 of file CubeHeatSource.cc.

Member Data Documentation

◆ _end_time

template<int dim>
double adamantine::CubeHeatSource< dim >::_end_time
private

Definition at line 70 of file CubeHeatSource.hh.

◆ _max_point

template<int dim>
dealii::Point<dim> adamantine::CubeHeatSource< dim >::_max_point
private

Definition at line 73 of file CubeHeatSource.hh.

◆ _min_point

template<int dim>
dealii::Point<dim> adamantine::CubeHeatSource< dim >::_min_point
private

Definition at line 72 of file CubeHeatSource.hh.

◆ _source_on

template<int dim>
bool adamantine::CubeHeatSource< dim >::_source_on = false
private

Definition at line 68 of file CubeHeatSource.hh.

◆ _start_time

template<int dim>
double adamantine::CubeHeatSource< dim >::_start_time
private

Definition at line 69 of file CubeHeatSource.hh.

◆ _value

template<int dim>
double adamantine::CubeHeatSource< dim >::_value
private

Definition at line 71 of file CubeHeatSource.hh.