|
adamantine
|
#include <HeatSource.hh>
Public Member Functions | |
| 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 void | update_time (double time)=0 |
| virtual double | value (dealii::Point< dim > const &points, double const height) const =0 |
| virtual dealii::VectorizedArray< double > | value (dealii::Point< dim, dealii::VectorizedArray< double >> const &points, dealii::VectorizedArray< double > const &height) const =0 |
| virtual ScanPath & | get_scan_path () |
| virtual double | get_current_height (double const time) const |
| virtual void | set_beam_properties (boost::property_tree::ptree const &database) |
| virtual dealii::BoundingBox< dim > | get_bounding_box (double const time, double const scaling_factor) const =0 |
Protected Attributes | |
| BeamHeatSourceProperties | _beam |
| ScanPath | _scan_path |
This is the base class for describing the functional form of a heat source. It has a pure virtual "value" method that needs to be implemented in a derived class. NOTE: The coordinate system in this class is different than for the finite element mesh. In this class, the first two components of a dealii::Point<3> describe the position along the surface of the part. The last component is the height through the thickness of the part from the base plate. This is in opposition to the finite element mesh where the first and last components of a dealii::Point<3> describe the position along the surface of the part, and the second component is the thickness. That is, the last two components are swapped between the two coordinate systems.
Definition at line 32 of file HeatSource.hh.
|
default |
Default constructor. This constructor should only be used for non-beam heat source.
|
inline |
Constructor.
| [in] | beam_database | requires the following entries:
|
| [in] | units_optional_database | may contain the following entries:
|
Definition at line 54 of file HeatSource.hh.
|
virtualdefault |
Destructor.
|
pure virtual |
Return a scaled bounding box of the heat source at the given time.
Implemented in adamantine::GoldakHeatSource< dim >, adamantine::ElectronBeamHeatSource< dim >, and adamantine::CubeHeatSource< dim >.
|
inlinevirtual |
Compute the current height of the where the heat source meets the material (i.e. the current scan path height).
Reimplemented in adamantine::CubeHeatSource< dim >.
Definition at line 131 of file HeatSource.hh.
|
inlinevirtual |
Return the scan path for the heat source.
Definition at line 125 of file HeatSource.hh.
|
inlinevirtual |
(Re)sets the BeamHeatSourceProperties member variable, necessary if the beam parameters vary in time (e.g. due to data assimilation).
Definition at line 137 of file HeatSource.hh.
|
pure virtual |
Set the time variable.
Implemented in adamantine::GoldakHeatSource< dim >, adamantine::ElectronBeamHeatSource< dim >, and adamantine::CubeHeatSource< dim >.
|
pure virtual |
Compute the heat source at a given point at a given time given the current height of the object being manufactured.
Implemented in adamantine::CubeHeatSource< dim >, adamantine::GoldakHeatSource< dim >, and adamantine::ElectronBeamHeatSource< dim >.
|
pure virtual |
Same function as above but it uses vectorized data.
Implemented in adamantine::GoldakHeatSource< dim >, adamantine::ElectronBeamHeatSource< dim >, and adamantine::CubeHeatSource< dim >.
|
protected |
Structure of the physical properties of the beam heat source.
Definition at line 116 of file HeatSource.hh.
|
protected |
The scan path for the heat source.
Definition at line 121 of file HeatSource.hh.