Skip to content

Commit

Permalink
Add documentation, refs idaholab#66
Browse files Browse the repository at this point in the history
  • Loading branch information
dewenyushu committed Apr 6, 2023
1 parent 079c4e4 commit ced5429
Show file tree
Hide file tree
Showing 4 changed files with 130 additions and 0 deletions.
39 changes: 39 additions & 0 deletions doc/content/bib/malamute.bib
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,44 @@ @article{Morville2012
doi = {10.2351/1.4726445}
}

@article{yushu2022directed,
title={Directed energy deposition process modeling: A geometry-free thermo-mechanical model with adaptive subdomain construction},
author={Yushu, Dewen and McMurtrey, Michael D and Jiang, Wen and Kong, Fande},
journal={The International Journal of Advanced Manufacturing Technology},
volume={122},
number={2},
pages={849--868},
year={2022},
publisher={Springer}
}

@article{michaleris2014modeling,
title={Modeling metal deposition in heat transfer analyses of additive manufacturing processes},
author={Michaleris, Panagiotis},
journal={Finite Elements in Analysis and Design},
volume={86},
pages={51--60},
year={2014},
publisher={Elsevier}
}

@article{denlinger2017thermomechanical,
title={Thermomechanical model development and in situ experimental validation of the Laser Powder-Bed Fusion process},
author={Denlinger, Erik R and Gouge, Michael and Irwin, Jeff and Michaleris, Pan},
journal={Additive Manufacturing},
volume={16},
pages={73--80},
year={2017},
publisher={Elsevier}
}

@article{irwin2016line,
title={A line heat input model for additive manufacturing},
author={Irwin, Jeff and Michaleris, P},
journal={Journal of Manufacturing Science and Engineering},
volume={138},
number={11},
pages={111004},
year={2016},
publisher={American Society of Mechanical Engineers}
}
18 changes: 18 additions & 0 deletions doc/content/source/materials/FunctionPathGaussianHeatSource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Function Path Gaussian Heat Source

This class creates a Gaussian heat source [!citep](yushu2022directed) (see [GaussianHeatSourceBase](GaussianHeatSource.md) for more information) whose center follows user specified path along three directions. The spatial location of the heat source center $\boldsymbol{p}(\boldsymbol{x},t)$ is decomposed along three directions, i.e.,
\begin{equation}
\boldsymbol{p}(\boldsymbol{x}, t) = [ p_x(t), p_y(t), p_y(t)],
\end{equation}
where $p_x(t), p_y(t), p_y(t)$ are user defined time-varying spatial locations along three directions.


!listing test/tests/gaussian_heat_source/gaussian_heat_source.i block=Materials/volumetric_heat

!syntax parameters /Materials/FunctionPathGaussianHeatSource

!syntax inputs /Materials/FunctionPathGaussianHeatSource

!syntax children /Materials/FunctionPathGaussianHeatSource

!bibtex bibliography
52 changes: 52 additions & 0 deletions doc/content/source/materials/GaussianHeatSource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Gaussian Heat Source

This is a material base class for generating a time and spatially varying heat source that mimics the scanning laser beam, which is often observed in the Directed Energy Deposition (DED) process. Three heat source formulations are available in this class.

### Point heat source

Specifically, this class offers the option to use the classic Gaussian point heat source $\hat{Q}$, which has been widely used for laser heat source modeling (e.g., [!citep](michaleris2014modeling,denlinger2017thermomechanical)):
\begin{equation}
\label{eqn:point_heat_source}
\hat{Q}(\boldsymbol{x}, t) = \frac{2\alpha\eta P}{\pi r^3} \exp \left\{ - \frac{2||| \boldsymbol{x} - \boldsymbol{p}(t) ||^2}{r^2} \right\},
\end{equation}
where $P$ is the laser power, $\alpha$ is the equipment-related scaling factor, $\eta$ is the laser efficiency coefficient, $r$ denotes the effective radius of the laser beam, $||\cdot||$ denotes the Euclidean norm, and $\boldsymbol{p}(t)\in \mathbb{R}^3$ denotes the scanning path, which is a time-varying spatial location that represents the movement of the laser beam.

### Line heat source

The Gaussian point heat source ($\hat{Q}(\boldsymbol{x}, t)$) in Eqn. [eqn:point_heat_source] can skip over some elements when the time step size, $\Delta t$, is too big (i.e., $\Delta t > r∕v$, $v$ the scanning speed). To resolve this issue, we offer an option to use the Gaussian line heat source ($\bar{Q}$), which was proposed in [!citep](irwin2016line),
\begin{equation}
\label{eqn:line_heat_source}
\bar{Q}(\boldsymbol{x}, t) = \frac{1}{\Delta t} \int_{t_0}^{t_0 + \Delta t} \hat{Q}(\boldsymbol{x}, t) \text{d}t,
\end{equation}
where $t_0$ is the time at the beginning of the time step. Here, $\bar{Q}$ is the time-average of $\hat{Q}$, such that $lim_{\Delta t \to 0} \bar{Q} = \hat{Q}$.

### Hybrid heat source

A third option is the hybrid Gaussian heat source $Q$, which is proposed to mitigate numerical inaccuracies by using the line heat source, and enables enlarged time step size. The hybrid Gaussian heat source switches between the Gaussian point heat source model and Gaussian line heat source model as follows [!citep](yushu2022directed):
\begin{equation}
\label{eqn:hybrid_heat_source}
Q(\boldsymbol{x}, t) =
\begin{cases}
& \hat{Q}(\boldsymbol{x}, t)~\quad t<\Delta t~\text{or}~||\boldsymbol{p}(t)-\boldsymbol{p}(t-\Delta t)||\leq L_0,\\
& \bar{Q}(\boldsymbol{x}, t)~\quad \text{otherwise}.\\
\end{cases}
\end{equation}
The $L_0$ is the threshold distance between the current laser spot location and the laser spot location at the previous time step; below this threshold the point heat source is to be applied instead of the line average heat source.

### Scanning path

For all three heat source formulations above, the scanning path $\boldsymbol{p}(t)$ is a time-varying spatial location that represents the movement of the laser beam. Therefore, $\boldsymbol{p}(t)$ is dependent on the product geometry and processing parameters, including scanning pattern, scanning speed, hatch spacing, and layer thickness, etc.

Users can specify the velocity profile or the spacial location of the laser beam using [VelocityGaussianHeatSource](VelocityGaussianHeatSource.md) or [FunctionPathGaussianHeatSource](FunctionPathGaussianHeatSource.md).

### Effective radii

One can choose to explicitly specify the effective radii of the laser spot directly in the input file. Another choice is to use the value that is calculated from the following relationship:
\begin{equation}
\begin{split}
r_x \sim \mathcal{N}(\bar{r}_x, \sigma^2_{x}),\quad r_y \sim \mathcal{N}(\bar{r}_y, \sigma^2_{y}),\quad r_z \sim \mathcal{N}(\bar{r}_z, \sigma^2_{z}),
\end{split}
\end{equation}
where $\bar{r}_x, \bar{r}_y, \bar{r}_z$ and $\sigma^2_{x}, \sigma^2_{y}, \sigma^2_{z}$ are functions of laser power ($P$), scanning speeds, and feed rates. The relations are obtained through parameterizing a second order formulation using experimentally measured data.

!bibtex bibliography
21 changes: 21 additions & 0 deletions doc/content/source/materials/VelocityGaussianHeatSource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Velocity Gaussian Heat Source

This class creates a Gaussian heat source [!citep](yushu2022directed) (see [GaussianHeatSourceBase](GaussianHeatSource.md) for more information) which moves at specified speed profiles along three directions. The spatial location of the heat source center $\boldsymbol{p}(\boldsymbol{x},t)$ can be decomposed along three directions:
\begin{equation}
p_x(t) = x_0 + \int_{0}^{t} v_x(t) \text{d}t,\quad
p_y(t) = y_0 + \int_{0}^{t} v_y(t) \text{d}t,\quad
p_z(t) = z_0 + \int_{0}^{t} v_z(t) \text{d}t,
\end{equation}
where $(x_0, y_0,z_0)$ represents the initial location, and $(v_x(t), v_y(t), v_z(t))$ denotes the time-varying velocity of the heat source center, respectively.

## Example Input File

!listing test/tests/gaussian_heat_source/velocity_gaussian_heat_source.i block=Materials/volumetric_heat

!syntax parameters /Materials/VelocityGaussianHeatSource

!syntax inputs /Materials/VelocityGaussianHeatSource

!syntax children /Materials/VelocityGaussianHeatSource

!bibtex bibliography

0 comments on commit ced5429

Please sign in to comment.