You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
New features:
Two phase solidification. Added the option to specify a second interface response function in the Material input file for a second solidification phase, where the first interface response function corresponds to a “default” phase (cell attribute PhaseID of 0) used for the baseplate and powder grain structures, and the PhaseID for a new active cell is assigned based on the phase of the parent cell (if created via a cell capture event) or based on the phase with the larger solidification velocity at the cell’s undercooling (if created via a nucleation event). Includes a new example problem.
For simulations where two interface response functions are given, the optional input transformation can be set to true for the second phase’s interface response function to ensure that cell activation at melt pool edges is always performed using the “default” phase (i.e., the second solidification phase transforms after solidification was complete).
If a second grain orientation file is given in the top-level input file (i.e., an array of two strings is given for the GrainOrientationFile), this second list of orientations is used to map grains that solidified as the second phase to crystallographic orientations. If transformation = true, the grain orientation will revert to the orientation given in the first file, very roughly approximating a crystallographic orientation change that might occur upon solid-solid transformation (though ExaCA does not currently consider solid-solid nucleation and grain growth).
When running the ExaCA-GrainAnalysispost-processing script using a vtk file with PhaseID data present, the fraction of each representative area or volume consisting of the primary phase is printed to the console and to the output file.
Optional nix build support
Added print option AtMeltEdge to track which cells were activated at the end of the solidification region, where this will be set to 1 for cells that were assigned a grain ID via activation (i.e., at the edge of the melt pool) or 0 for cells that were assigned a grain ID via a nucleation event or cell capture from an adjacent solidifying grain.
Added the option to specify BaseplateBottomZin the Substrate section of the input file for problem types FromFile and FromFinch, which, combined with existing options to specify the substrate domain bounds in X, Y, and BaseplateTopZ, enables full control over the extent of the simulation domain regardless of the bounds of the input time-temperature history data.
Added the option to specify an exponential function form for the interface response function relating the solidification velocity of a grain V to the local undercooling of a cell dT (i.e., V(dT) = A*exp(B*dT), where A and B are inputs in the Material input file).
Added the option to truncate the interface response function such that the maximum attainable solidification velocity of a grain V corresponds to the value V(freezing_range) where the alloy’s freezing_range is an input in the Material file. This option is turned on by setting velocity_cap to true in the Material input file.
Bug fixes and improvements:
Fix calculation of the volume fraction of nucleated grains for multilayer problems
Only run tests up to 4 mpi ranks (based on unit test assumptions)
Correct name of analysis input option printAvgStats
Default to one layer for all single layer problem types
Fix layer range for unit tests
Use newer json download to work with newest CMake
Fix device print usage (affects SYCL backend)
Fix temperature translation floating point issue
Fix output for intralayer with the PrintIdleFrames option
Fix inconsistent analysis option for grain statistics as a function of build height
Fix unclear error for analysis commandline arguments
Avoid reuse of substrate grain IDs when reading substrate data from a file
Ensure nucleation is correctly handled on skipped timesteps
Customized pole figure/inverse pole figure plotting (confirmed to work with MTEX v6.0.0 and Matlab 2024b)
LayerID no longer required in vtk files analyzed by ExaCA-GrainAnalysis
Deprecated features:
Option MeanSize given in the Substrate section of the input file to specify the mean size of grains in a baseplate microstructure, has been renamed MeanBaseplateGrainSize.
Option PowderDensity given in the Substrate section of the input file and specifying the density of powder grains in new layers of a multilayer simulation, has been replaced with MeanPowderGrainSize, which instead gives a mean size of grains in the
powder layers.
Deprecated feature removal:
Removed support for old problem type/simulation type names: C must now be given as Directional for directional solidification, S as Spot for simulation of a hemispherical spot melt, and R or RM as FromFile for file-based time-temperature history.
Removed layer-wise analysis options (i.e., the printPerZCoordinateStats section of analysis input file)