From ced54298133b6c961f23ba2dc9eff6e4a9d1bf80 Mon Sep 17 00:00:00 2001 From: dewenyushu Date: Thu, 6 Apr 2023 16:41:13 -0700 Subject: [PATCH] Add documentation, refs #66 --- doc/content/bib/malamute.bib | 39 ++++++++++++++ .../FunctionPathGaussianHeatSource.md | 18 +++++++ .../source/materials/GaussianHeatSource.md | 52 +++++++++++++++++++ .../materials/VelocityGaussianHeatSource.md | 21 ++++++++ 4 files changed, 130 insertions(+) create mode 100644 doc/content/source/materials/FunctionPathGaussianHeatSource.md create mode 100644 doc/content/source/materials/GaussianHeatSource.md create mode 100644 doc/content/source/materials/VelocityGaussianHeatSource.md diff --git a/doc/content/bib/malamute.bib b/doc/content/bib/malamute.bib index 8f2f163..7704c95 100644 --- a/doc/content/bib/malamute.bib +++ b/doc/content/bib/malamute.bib @@ -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} +} diff --git a/doc/content/source/materials/FunctionPathGaussianHeatSource.md b/doc/content/source/materials/FunctionPathGaussianHeatSource.md new file mode 100644 index 0000000..aea3cef --- /dev/null +++ b/doc/content/source/materials/FunctionPathGaussianHeatSource.md @@ -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 diff --git a/doc/content/source/materials/GaussianHeatSource.md b/doc/content/source/materials/GaussianHeatSource.md new file mode 100644 index 0000000..94adc94 --- /dev/null +++ b/doc/content/source/materials/GaussianHeatSource.md @@ -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 diff --git a/doc/content/source/materials/VelocityGaussianHeatSource.md b/doc/content/source/materials/VelocityGaussianHeatSource.md new file mode 100644 index 0000000..ded4a76 --- /dev/null +++ b/doc/content/source/materials/VelocityGaussianHeatSource.md @@ -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