Share
 
 

PRM File Generation Execution

PRM generation is completed using the command prm_gen

prm_gen [/t thermal.in] [/m mechanical.in] [/i tmp1 tmp2 ...] [/l tlthresh1 tlthresh2 ...]
[/o tothresh1 tothresh2 ...] [/d xsize ysize nlayers] [/g]

/t specifies the thermal input file.

/m specifies the mechanical input file.

/i lists the interlayer temperatures to generate tabular data for. More interlayer temperatures can create more accurate predictions of lack of fusion or hot spot temperatures, especially for materials with sever non-linearities in specific heat and thermal conductivity, however additional temperatures will significantly increase run time.

/l lists the threshold temperatures which not reaching may result in lack of fusion.

/o lists the threshold temperatures which exceeding may result in hotspots.

/d lists the x dimension, y dimension, and number of layers for the lack of fusion and hotspot prediction PRM generation process.

/g is used to query an already generated PRM file to learn if the file can be used for mechanical simulations only, thermal simulations only, or both.

/c engages the PRM auto-calibration process.

Standard thermo-mechanical PRM files

For standard thermo-mechanical PRM files the basic usage is
prm_gen thermal.in mechanical.in
To direct the output to a log file:
prm_gen thermal.in mechanical.in > prm.out

Full thermal-mechanical PRM generation example

prm_gen /t inc625_thermal.in /m inc625_mechanical.in /i 25 100 300 600 /l 1290 1350 /o 2500 3000
/d 0.5 0.5 5 > inc625_prm_gen.out

This will produce a PRM file than can be used for both predictions of mechanical behavior, like part-scale stress and distortion, and thermal behavior, like lack of fusion and hotspots.

Thermal-only PRM files

For a PRM file used only for investigating thermal behavior including peak post deposition temperatures, lack of fusion and hotspots:
prm_gen [/t thermal.in] [/i tmp1 tmp2 ...] [/l tlthresh1 tlthresh2 ...]
  [/o tothresh1 tothresh2 ...] [/d xsize ysize nlayers]
  

Where tmp1 etc. are interlayer temperatures, tlthresh1 etc. are lack of fusion temperatures, tothresh1 etc. are overheating temperatures, xsize and ysize determine the small-scale x and y bounds, and nlayers controls the number of layers to simulate.

This will produce a PRM file that can be used for part scale predictions of lack of fusion or hotspot behavior in powder bed fusion processes.

Thermal-only PRM file requirements and defaults

For thermal-only PRM generation, at least one interlayer temperature and at least one lack of fusion or overheating temperature is required. By default thermal-only PRM generation defaults to xsize = 1 mm, ysize = 1 mm, and nlayers = 5. You need only invoke these options to override the default values.

Thermal-only PRM generation example

For Inconel 625:
prm_gen /t inc625_thermal.in /i 25 100 300 600 /l 1290 1350 /o 2500 3000
  /d 0.5 0.5 5 > inc625_thermal_prm_gen.out
  

This will create look-up table values for interlayer temperatures at 25, 100, 300, and 600°C, check for volume fractions that do no reach 1290 or 1350°C (the solidus and liquidus temperatures), and check for volume fractions that exceed 2500 and 3000°C. The resulting PRM file can only be used for thermal part scale analyses.

Interrogating PRM files to determine PRM type

If there is uncertainty whether a PRM file can be used for thermal only, mechanical only, or both types of part scale simulations, users may query the PRM file using the /g option, as follows:
prm_gen /g example.prm

Automatic calibration of PRM files

Users now have the option to perform an experimentally based automatic calibration of PRM files. This is useful to tailor PRM files to adjust for a consistent over or under prediction, as is done using the manual PRM scaling option. This tool can also be used to rapidly produce a PRM file for a material not yet supported, which is functionally similar to an existing validated material in your PRM library.

To proceed with the calibration, it is recommended to first download the Local_Simulation_Example_Files_2021.1.zip by clicking this Download Link. The ZIP archive contains 23 folders of files to support the Simulation Examples exercises. Of immediate relevance is Example 23, "Automatic Calibration of PRM Files", but it is recommended to store the complete set of files in a local directory for later use. Example 23 commands are run from inside folder 23, and detail the process of building a compliant flexible cylinder, using the material and processing conditions to be calibrated.

Measure the peak deformation at the center of the part. This can easily be done with calipers, a micrometer, or through a scanning process. The measurement should be done with the part still on the build plate and without any heat treatment processing.

To run the calibration process the following files are required:

  • Base PRM file. This should be for the same alloy or the most similar alloy available. Using too dissimilar material properties will lead to a poorly performing PRM file.
  • Thermal and mechanical input files using the chosen base PRM file. The mesh settings must be:
    • *PBPA = 4; the solver will override this if set to any other value.
    • *PBLR = 0; the solver will override this if set to any other value.
  • The calibration .json file. An example calibration file is included in folder 23 of the Local_Simulation_Example_Files.

The PRM calibration file

The PRM calibration file has four elements:

  • Thermal input file – this should point at the full thermal input file name.
  • Mechanical input file – this should point at the full mechanical input file name.
  • Measurement – enter in the distortion measured from the experimental build. This equals Nominal width – Caliper measurement. This must be signed, and for most material the measurement will be negative.
  • Relative error – enter in the accuracy of your measurement tool or method.

To execute the calibration process enter the following command.

Windows: prm gen /c example.json

Linux or MacOs: prm gen -c example.json

Note: This process requires 3–5 simulations of a finely meshed part, resulting in run times around 3 hours on a 28 core machine.

Was this information helpful?