Skip to content

Commit

Permalink
Updated example problems and README to include problems with remelting (
Browse files Browse the repository at this point in the history
#111)

* Updated example problems and README to include problems with remelting

* Don't run spot remelting example w/ 1 rank, modified README wording

Co-authored-by: MattRolchigo <65y@ornl.gov>
  • Loading branch information
MattRolchigo and MattRolchigo committed Sep 29, 2022
1 parent 023f0bb commit 54a3fc6
Show file tree
Hide file tree
Showing 7 changed files with 99 additions and 6 deletions.
1 change: 1 addition & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ jobs:
$HOME/exaca/bin/ExaCA-Kokkos Inp_SmallSpotMelt.txt
mpirun -n 2 --oversubscribe $HOME/exaca/bin/ExaCA-Kokkos Inp_SmallDirSolidification.txt
mpirun -n 2 --oversubscribe $HOME/exaca/bin/ExaCA-Kokkos Inp_SmallSpotMelt.txt
mpirun -n 2 --oversubscribe $HOME/exaca/bin/ExaCA-Kokkos Inp_SmallSpotMelt_RM.txt
- name: Test GA
working-directory: analysis/examples
run: |
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,12 +145,15 @@ make install
ExaCA-Kokkos runs using an input file, passed on the command line. Example problems are provided in the `examples/` directory - A separate README file located in the `examples/` directory goes into more detail on the problem types, the optional and required arguments needed for each problem type, and additional files used by ExaCA. The example input files present in this repository are:
* `Inp_DirSolidification.txt`: simulates grain growth from a surface with a fixed thermal gradient and cooling rate
* `Inp_SmallDirSolidification.txt`: a smaller and simpler version of the previous
* `Inp_SpotMelt.txt`: simulates overlapping spot melts with fixed a fixed thermal gradient and cooling rate
* `Inp_SpotMelt.txt`: simulates overlapping spot melts with fixed a fixed thermal gradient and cooling rate, where cells are only allowed to undergo solidification one time (i.e., overlap regions only solidify when they've cooled below the liquidus for the final time in the simulation)
* `Inp_SmallSpotMelt.txt`: a smaller and simpler version of the previous
* `Inp_SpotMelt_RM.txt`: simulates overlapping spot melts with fixed a fixed thermal gradient and cooling rate, where cells in the overlap region are allowed to melt and solidify as many times as needed
* `Inp_SmallSpotMelt_RM.txt`: a smaller and simpler version of the previous

Example problems only possible with external data (available via https://github.com/LLNL/ExaCA-Data):
* `Inp_AMBenchMultilayer.txt`: simulates 4 layers of a representative even-odd layer alternating scan pattern for AM builds
* `Inp_SimpleRaster.txt`: simulates a single layer consisting of four overlapping melt pools
* `Inp_TwoLineTwoLayer.txt`: simulates two layers consisting of segments of two overlapping melt pools

Run by calling the created executable with an ExaCA input file:
```
Expand Down
27 changes: 27 additions & 0 deletions examples/Inp_SmallSpotMelt_RM.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Test problem simulating solidification of a series of overlapping spots, with remelting of spots (Problem type 'SM')
*****
Problem type: SM
Decomposition strategy: 1
Material: Inconel625
Cell size: 1
Heterogeneous nucleation density: 10
Mean nucleation undercooling: 5
Standard deviation of nucleation undercooling: 0.5
Path to output:./
Output file base name:TestProblemSmallSpot_RM
File of grain orientations: GrainOrientationVectors.csv
Thermal gradient: 500000
Cooling rate: 300000
Number of spots in x: 1
Number of spots in y: 2
Offset between spot centers: 25
Radii of spots: 25
Number of layers: 1
Offset between layers: 20
Time step ratio (from steady-state Velocity): 25
Substrate grain spacing: 25
***Output data printing options: (Y or N) which data should be printed***
Print file of grain misorientation values: Y
Print file of all ExaCA data: Y
Debug check (reduced): N
Debug check (extensive): N
31 changes: 31 additions & 0 deletions examples/Inp_SpotMelt_RM.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Test problem simulating solidification of a series of overlapping spots, with remelting of spots (Problem type 'SM')
*****
Problem type: SM
Decomposition strategy: 1
Material:Inconel625
Cell size: 1
Heterogeneous nucleation density: 10
Mean nucleation undercooling: 5
Standard deviation of nucleation undercooling: 0.5
Path to output:./
Output file base name:TestProblemSpot
File of grain orientations:GrainOrientationVectors.csv
Thermal gradient: 500000
Cooling rate: 300000
Number of spots in x: 3
Number of spots in y: 2
Offset between spot centers: 100
Radii of spots: 75
Number of layers: 2
Offset between layers: 20
Time step ratio (from steady-state Velocity): 25
Substrate grain spacing: 25
***Output data printing options: (Y or N) which data should be printed***
Print file of grain misorientation values: Y
Print file of all ExaCA data: Y
Debug check (reduced): N
Debug check (extensive): N
***Intermediate output printing as a time series of vtk files (these can be read as a movie by Paraview)***
Print intermediate output frames: N
Increment to separate frames: 2500
Intermediate output even if system is unchanged from previous state: N
24 changes: 24 additions & 0 deletions examples/Inp_TwoLineTwoLayer.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Test problem using two overlapping segments of line scans, repeated for two layers, with remelting of the overlap region:
*****
Problem type: RM
Decomposition strategy: 1
Material:Inconel625
Cell size: 2.5
Heterogeneous nucleation density: 100
Mean nucleation undercooling: 5
Standard deviation of nucleation undercooling: 0.5
Path to output:./
Output file base name:TestProblemTwoLineTwoLayer
File of grain orientations:GrainOrientationVectors.csv
Time step: 0.0825
Substrate grain spacing: 25
Path to and name of temperature field assembly instructions: examples/Temperatures/T_TwoLineTwoLayer.txt
***Output data printing options: (Y or N) which data should be printed***
Print file of grain misorientation values: Y
Print file of all ExaCA data: Y
Debug check (reduced): N
Debug check (extensive): N
***Intermediate output printing as a time series of vtk files (these can be read as a movie by Paraview)***
Print intermediate output frames: N
Increment to separate frames: 1000
Intermediate output even if system is unchanged from previous state: Y
12 changes: 7 additions & 5 deletions examples/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ExaCA problem types and auxiliary files
ExaCA currently can model three types of problems:
ExaCA currently can model three types of problems, two of which have the option of whether or not to include multiple melting and solidification events in cells:

* Problem type C is a directional solidification problem, with the bottom surface initialized with some fraction of sites home to epitaxial grains and at the liquidus temperature and a positive thermal gradient in the +Z direction. The domain is then cooled at a constant rate.
* Problem type S is an array of hemispherical spots, with the number of spots in X, Y, and the number of layers for which the pattern is repeated (offset by a specified number of cells in the positive Z direction) specified. This problem type also uses fixed thermal gradient magnitude and cooling rate for each spot.
Expand All @@ -8,6 +8,7 @@ ExaCA currently can model three types of problems:
* Each line following the first should have six comma-separated values corresponding to x, y, z, tm, tl, cr. x, y, and z are cell coordinates, in meters, of a given location in the simulation. The spacing between locations should correpond to a Cartesian grid, with a cell size equivalent to that specified in the input file. For each time that an x,y,z coordinate went above and below the liqiuidus temperature of the alloy during a heat transport simulation, a tm (time at which the point went above the liquidus), tl (time at which the point went below the liquidus), and cr (instantaneous cooling rate at the liquidus) should be recorded.
* If an x,y,z coordinate melted and solidified multiple times, it should appear in the file multiple times on separate lines. The order of the lines do not matter, except that the header line must be before any data.
* The top surface (the largest Z coordinate in a file) is assumed to be flat. Additionally, if multiple temperature files are being used (for example, a scan pattern consisting of 10 layers of repeating even and odd file data), the Z coordinate corresponding to this flat top surface should be the same for all files.
* Problem types SM and RM modify problem types S and R to include multiple melting and solidification events per cell. For problem types S and R all cells that will eventually undergo melting are initialized as liquid, and only the final time that a given cell goes below the liquidus temperature is considered. To obtain the most accurate results, all melting and solidification events should be considered; however, for some problem geometries, the microstructure resulting from only considering the final solidification event in each cell is a reasonable approximation (and faster))

All problem types rely on two files in addition to the main input file. First,
a file containing the interfacial response function data governing
Expand All @@ -29,7 +30,7 @@ to simplfy use the file name in the input file. Custom files must either be
added to the ExaCA CMake build, use an absolute file path, or a path relative
to the ExaCA source.

Problems of type R rely on a third file for temperature input, with the path
Problems of type R or RM rely on a third file for temperature input, with the path
and name of this file given in the master input file. Examples of these
temperature field assembly files are given in
`examples/Temperatures/T_SimpleRaster.txt` and
Expand All @@ -47,6 +48,7 @@ The below lines are required regardless of problem type. They can be in any orde
| Problem type | C for directional solidification (thermal gradient in build direction, fixed cooling rate)
| | S for spot melt array problem (fixed thermal gradient/constant cooling rate for each hemispherical spot)
| | R for use of temperature data provided in the appropriate format (see README file in examples/Temperatures)
| | M should be appended to problem type if multiple melting and solidifcation events are desired (i.e, SM or RM)
| Decomposition strategy | 1 for a 1D domain decomposition along the Y direction
| | 2 for a decomposition along the Y direction, with a single partiton along the X direction
| | 3 for a decomposition with roughly equal partitions along the X and Y directions
Expand Down Expand Up @@ -78,7 +80,7 @@ All inputs are required.
| Domain size in z | Domain size in z
| Fraction surface sites active| What fraction of cells at the bottom surface of the domain are the source of a grain?

### Problem type S
### Problem type S or SM
Some additional inputs are optional while others are required

|Input | Required Y/N | Details |
Expand All @@ -100,7 +102,7 @@ Some additional inputs are optional while others are required
(a) One of these inputs must be provided, but not both
(b) This is optional, but if this is given, "Extend baseplate through layers" must be set to N

### Problem type R
### Problem type R or RM
Some additional inputs are optional while others are required

|Input | Required Y/N | Details |
Expand Down Expand Up @@ -129,7 +131,7 @@ A comment line starting with an asterisk separates the first half of the file, c
The deprecated form for temperature field input data, where these 3 input lines exist in the top level input file, alongside inputs "Number of temperature files in series: N" and "Temperature filename(s): Data.txt" (which would indicate reading temperature data from files "1Data.txt", "2Data.txt".... "NData.txt", is still allowed but will be removed in a future release.

## Additional optional inputs for all problem types
These values govern the printing intermediate data, for debugging or visualization, either following initialization or at specified increments during simulation
These values govern the printing intermediate data, for debugging or visualization, either following initialization or at specified increments during simulation. Debug check options are currently only available for simulations that do not include multiple melting/soldification events per cell (i.e., only problem types C, S, and R, not SM nor RM)

|Input | Details |
|----------------------------|---------|
Expand Down
5 changes: 5 additions & 0 deletions examples/Temperatures/T_TwoLineTwoLayer.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Number of layers: 2
Offset between layers: 8
Heat transport data mesh size: 2.5
*****
examples/Temperatures/TwoLine.txt

0 comments on commit 54a3fc6

Please sign in to comment.