Skip to content

Commit

Permalink
Merge pull request idaholab#164 from apb13/tutorial_moosedocs_145
Browse files Browse the repository at this point in the history
Tutorial MooseDoc and Images
  • Loading branch information
sapitts authored Aug 8, 2024
2 parents 8a5f724 + fba9c63 commit 31e7fba
Show file tree
Hide file tree
Showing 17 changed files with 337 additions and 0 deletions.
11 changes: 11 additions & 0 deletions doc/content/bib/malamute.bib
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,14 @@ @article{Tan2013
journal = {Journal of Physics D: Applied Physics},
}

@article{Preston20243dprinted,
title = {3D printed carbon fiber reinforced carbon as an energy efficient alternative to graphite for EFAS tooling},
journal = {Composites Part B: Engineering},
volume = {283},
pages = {111679},
year = {2024},
issn = {1359-8368},
doi = {https://doi.org/10.1016/j.compositesb.2024.111679},
author = {Arin S. Preston and Andrew J. Gorman and Austin C. Matthews and Jorgen F. Rufner},
keywords = {A. carbon–carbon composites (CCC'S), B. Electrical properties, B. Thermal properties, E. Sintering}
}
7 changes: 7 additions & 0 deletions doc/content/demonstration/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

Documentation regarding demonstration problems using MALAMUTE are outlined here.

## Tutorials

!style halign=left
Step-by-step introductory tutorial with examples and documentation are linked below.

1. [tutorials/efas/introduction/tutorial_overview.md]

## Verification & Validation Problems

!style halign=left
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions doc/content/tutorials/efas/introduction/concluding_remarks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
!content pagination previous=introduction/running_malamute_view_results.md
margin-bottom=0px

## Concluding Remarks

This tutorial was created with the intention of providing initial instructions for MALAMUTE by exploring the relation between temperature and die wall thickness. After visualizing in Excel, the +Temperature vs Time+ data for each wall thickness, we see that the overall temperature decreases as the wall thickness increases. One exception to this pattern is the similar temperature values approximately halfway through the linear portion (approximately t = 1240 s to t = 1260 s) of the “cooling process”. Also, as the die wall thickness increases, the time at which max temperature occurs is higher.

!media media/tutorial_dcs5_images/tutorial_pngs/results_pngs/temp_vs_sim_time.png
style=width:80%;margin-left:auto;margin-right:auto;
id=temp-vs-sim-time
caption=Temperature vs Time data for each of the five wall thicknesses

There is a sizable difference between each of the max temperature values for the various die wall thicknesses and a slight difference at the time which these max temperatures occur, as shown in [max-temp-vs-sim-time]. This occurrence might be explained by the electric field contour plots shown in [5mm-elec-field-and-temp].

!media media/tutorial_dcs5_images/tutorial_pngs/results_pngs/max_temp_vs_sim_time.png
style=width:80%;margin-left:auto;margin-right:auto;
id=max-temp-vs-sim-time
caption=Max Temperature vs Simulation Time.

Regarding the contour plots at max temperature formed by ParaView, we observed patterns regarding temperature and electric potential. The graphite die wall thickness increase leads to a cooler temperature of the powder and die wall as shown by the ‘temperature’ contour plot, in [potential-temp-screenshot] for example. The temperature difference due to die wall thickness is visualized in the figures below by a sharp color shade difference between the 5 mm and 25 mm die thickness contour plots shown below. Also, this color change and thus gradual temperature decrease is seen progressively across all five die wall thickness examples. Especially if viewing the contour plots starting from the 5 mm die wall thickness temperature contour plot, then ending with the 25 mm die wall thickness temperature contour plot. Also, the center of the graphite plungers is generally hotter than the die wall and the powder casing, with an almost white color having an approximate value of 2.3e+03 K.

The electric potential on the toolset steadily decreases from the top of the toolset to the bottom of it, as observed in the contour plot below. This indicates that the direction of electric current is from top to bottom, and this current direction corresponds with how the DCS-5 machine is constructed.

!media media/tutorial_dcs5_images/tutorial_pngs/results_pngs/potential_temp_screenshot.png
style=width:80%;margin-left:auto;margin-right:auto;
id=potential-temp-screenshot
caption=Electrical Potential and Temperature Contour Plots.

Electric field values slightly between different wall thickness, but noticeably changes on the graphite spacers. The electric field is highly concentrated in the center of these graphite spacers and seems to correspond with the higher temperature values in the same spot. This phenomenon is shown in [10mm-elec-field-and-temp], for example. However, the powder casing and die wall do not experience a similar spike in temperature or electric potential to the graphite spacers and may need to be considered when analyzing an EFAS toolset.

!row!
!col! small=12 medium=12 large=12
!style halign=center

!media media/tutorial_dcs5_images/tutorial_pngs/results_pngs/5mm_elec_field_and_temp.jpg
style=width:40%;margin-left:auto;margin-right:auto;
id=5mm-elec-field-and-temp
caption=Electric Field and Temperature Contour Plots for a 5 mm wall thickness at t = 954 seconds.

!media media/tutorial_dcs5_images/tutorial_pngs/results_pngs/10mm_elec_field_and_temp.jpg
style=width:40%;margin-left:auto;margin-right:auto;
id=10mm-elec-field-and-temp
caption=Electric Field and Temperature Contour Plots for a 10 mm wall thickness at t = 960 seconds.

!media media/tutorial_dcs5_images/tutorial_pngs/results_pngs/13.875mm_elec_field_and_temp.jpg
style=width:40%;margin-left:auto;margin-right:auto;
id=13.875mm-elec-field-and-temp
caption=Electric Field and Temperature Contour Plots for a 13.875 mm wall thickness at t = 960 seconds.

!col-end!

!col! small=12 medium=12 large=12

!style halign=center

!media media/tutorial_dcs5_images/tutorial_pngs/results_pngs/20mm_elec_field_and_temp.jpg
style=width:40%;margin-left:auto;margin-right:auto;
id=20mm-elec-field-and-temp
caption=Electric Field and Temperature Contour Plots for a 20 mm wall thickness at t = 966 seconds.

!media media/tutorial_dcs5_images/tutorial_pngs/results_pngs/25mm_elec_field_and_temp.jpg
style=width:40%;margin-left:auto;margin-right:auto;
id=25mm-elec-field-and-temp
caption=Electric Field and Temperature Contour Plots for a 25 mm wall thickness at t = 972 seconds.

!col-end!
!row-end!

### Conclusion

As mentioned in the beginning of this tutorial, temperature distribution as a function of die geometry is crucial in the EFAS process. A thicker die wall thickness led to a lower temperature on the die wall, and thus a lower overall temperature on the powder casing. A die wall being too thin caused an ineffective management of temperature gradients, as shown in the journal article at the beginning of this tutorial. It is therefore essential to optimize the die wall thickness to ensure consistent heating and the integrity of the sintering process.

We successfully performed a basic one-factor study involving a parametric analysis, limiting the independent variable to five different die wall thicknesses (e.g., 5 mm, 10 mm, 13.875 mm, 20 mm, 25 mm).

The primary objective of this tutorial was to observe how the temperature distribution within the DCS-5 tooling stack varies with die wall thickness.

We achieved this goal by utilizing temperature and electrical potential contour fields as well as time versus history graphs to identify any patterns of temperature localization that emerged. Analysis of these results was completed effectively to determine the impact of the die wall thickness relative to temperature as predicted by these MALAMUTE simulations.

!content pagination previous=introduction/running_malamute_view_results.md
margin-bottom=0px
77 changes: 77 additions & 0 deletions doc/content/tutorials/efas/introduction/content.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
!content pagination previous=introduction/tutorial_overview.md
next=introduction/required_input_file_modifications.md
margin-bottom=0px

## Input File Content

The six key parts of an input file are as follows: `[Mesh], [Variables], [Kernels], [BCs], [Executioner], and [Outputs]`. This guide is an overview of what elements to modify (or not modify) within these parts to run an electrothermal simulation with the desired parameters. A key term to keep in mind is “block.” The six key parts as mentioned earlier are considered high-level blocks and will be referred to as blocks for the remainder of this guide. View the [MOOSE Workshop](https://mooseframework.inl.gov/workshop/#/) to explore these six parts in greater detail. The majority of this input file is presented as a template, and only a few lines of the input file will need to be modified for the purposes of this tutorial.

The `Mesh` block maps out and displays the geometry of the distinct sections of the EFAS tooling stack, as described in the [tutorial_overview.md] +Motivation+ section, that are shown in open-source data visualization software such as [ParaView](https://www.paraview.org). The `[Problem]` block sets up the handling of numerical convergence. Please do not modify any values in the `[Mesh]` and `[Problem]` blocks as to allow for easier understanding of the tutorial.

The `[Variables]` block has two parts of note, in particular the `[temperature]` and `[potential]` blocks:

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=Variables
link=False

The initial condition value of 300 K should remain as such. Also, understand that temperature and potential will be showcased in ParaView. While the remaining “_lm” listings are shown in `[Variables]`, these variables are associated with the many interfaces within the simulation. These variables will not be included directly in the analyses performed in this tutorial, and more information on these variables and their use in the Constraint system is available [here](https://mooseframework.inl.gov/syntax/Constraints/).

`[AuxVariables]` contains a block that applies boundary conditions related to heat transfer and includes a block that displays pictures of the electric field with smoother values.

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=AuxVariables
link=False

The `[Kernels]` block uses the same equation for diffusion of temperature and diffusion of electric potential. The goal of this block is to couple temperature and electrical physics with joule heating. There are 12 sub-blocks inside the high-level `[Kernel]` block which are named according to the material it supports. For example, there are four out of twelve sub-blocks that include graphite in their name and include temperature diffusion (“HeatDiff_graphite”), electric potential diffusion (“electric_graphite”), and joule heating (“JouleHeating_graphite”).

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=Kernels
link=False

The `[AuxKernels]` block contains a sub-block (“heat_transfer_radiation”) from the `[AuxVariables]` block that applies radiation heat loss boundary conditions on the external right side of spacers and die wall, as well as on the external right side of punches when uncovered. Constant expressions are also included in the `[AuxKernels]` block, such as graphite emissivity and initial temperature.

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=AuxKernels
link=False

Current from the DCS-5 sintering machine is generalized in the `[Functions]` block. Please note a few aspects of the Neumann boundary condition. It is a function of time and is generalized from an uninsulated, 20 mm G535 graphite tooling DCS-5 run. Also, the Neumann boundary condition is the current divided by the surface area of the top surface of the top ram spacer.

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=Functions
link=False

The `[BCs]` block sets the temperature and electrical boundary conditions on various parts of the sintering machine. For example, the ("temperature_rams") sub-block sets the edge of the top ram spacer and the edge of the bottom ram spacer to 300 K.

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=BCs
link=False

The `[Constraints]` block is meant to specify contact interfaces and should remain unmodified throughout the tutorial.

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=Constraints
link=False

All three materials (copper, graphite, C-C fiber) involved with the EFAS machine are described in the `[Materials]` block. Property values for each the materials are constant values as opposed to variable values, as shown in the "carbon_fiber_electro_thermal_properties" sub-block, for example. In the same sub-block, at `prop_values`, note the value for `ccfiber_thermal_conductivity`. The value “5” is the thermal conductivity of the C-C fiber in the y direction. This “5” value is the same as the middle value in the tensor matrix shown below under the sub-block titled “carbon_fiber_anisotropic_thermal_cond”. This matrix is a representation of anisoptropic thermal conductivity of C-C fiber.

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=Materials/carbon_fiber_electro_thermal_properties
link=False

The `[UserObjects]` block is used for contact models and should remain untouched for the tutorial’s ease of use. When opening an output csv file, the `[Postprocessors]` block allows for a better understanding of boundary conditions by exporting the data to a program such as Excel. The "pyrometer_point" sub-block under the `[Postprocessors]` block points to where the pyrometer reads temperature at the end of the view hole.

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=Postprocessors
link=False

`[Preconditioning]` and `[Executioner]` blocks are typically used for numerical convergence and for the sake of this tutorial, should remain unmodified. The `[Outputs]` block should also remain unmodified and simply exists to display data in Excel and ParaView.

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=Outputs
link=False

Now that we are familiar with the sections of an input file, we are ready to make changes to the input file.

!content pagination previous=introduction/tutorial_overview.md
next=introduction/required_input_file_modifications.md
margin-bottom=0px
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
!content pagination previous=introduction/content.md
next=introduction/running_malamute_view_results.md

## Required Input File Modifications

Two sections that may require editing is in Line 55’s `die_wall_thickness` variable and the `pyrometer_point` block. The value for die wall thickness must be written in meters, not millimeters. The impact of die wall thickness on the temperature read by the pyrometer is explored in this tutorial.

### Die Wall Thickness

We performed a study to observe the temperature of the powder as the die wall thickness changes. The only value (in meters) changed in the input files was in Line 55:

```
die_wall_thickness = (value here)
```

We will create a separate input file for each thickness change. [suggested_input_file_names] below shows suggested names for the five separate input files for each die wall thickness.

!table id=suggested_input_file_names caption=Input file name suggestions for the five different die wall thicknesses.
| Case | die_wall_thickness | Suggested Input File Name |
| :- | :- | :- |
| 1 | 5 mm | dcs5_5_mm_constant_properties.i |
| 2 | 10 mm | dcs5_10_mm_constant_properties.i |
| 3 | 13.875 mm | dcs5_13.875_mm_constant_properties.i |
| 4 | 20 mm | dcs5_20_mm_constant_properties.i |
| 5 | 25 mm | dcs5_25_mm_constant_properties.i |

These five separate input files were created so these five different MALAMUTE runs could process at the same moment and thus save time compared to running these input files separately.

### Pyrometer Point

One concern we held was how to accurately represent the distance of the pyrometer inside the die wall. The first equation in `[Postprocessors]`, which includes `fparse powder_radius`, details the length at which the pyrometer is inserted into the die wall.

!listing tutorials/efas/introduction/dcs5_copper_constant_properties_electrothermal.i
block=Postprocessors/ pyrometer_point
link=False

The `0.004` value in the equation mentioned above has units of meters and was calculated with the following steps. This `0.004` value is the distance from the edge of the powder casing to the tip of the inserted pyrometer. In our studies we noticed, the size of the graphite toolset affected the radius of the powder casing. The radius of the powder casing is constant in this example, but in future studies, this equation: `${fparse powder_radius + 0.004}` may require modification based on the graphite toolset used.

!content pagination previous=introduction/content.md
next=introduction/running_malamute_view_results.md
margin-bottom=0px
Loading

0 comments on commit 31e7fba

Please sign in to comment.