app_style potts/am/bezier nspins width depth haz
app_style potts/am/bezier 250000 130 65 5
This is an on-lattice application derived from the app_style potts/neighonly application that simulates the rastering of a molten pool and its accompanying heat-affected zone (HAZ) through a domain. Rastering is achieved through the specification of layer-by-layer patterns, which can be combined into an overall pattern specifying the translation of the molten zone through the entire simulation domain. The application allows for arbitrary numbers of paths in each layer and an arbitrary number of layers in each pattern. Thus, the user can construct any scan strategy desired by specifying individual layer patterns and how these patterns should be repeated.
In addition to the above required inputs width,depth,haz, the model requires specification of the melt pool surface via the potts/am/bezier control_points command. Whereas app_am ellipsoid uses two ellipsoids to define the moving melt pool and heat effected zone, here, the molten pool is defined by two fourth order Bezier curves: 1) top surface curve; 2) spine curve. The two curves are combined to form a 3D surface representing the interface between liquid and solidified material. The shape of the pool is defined by user input control points for the two curves and may be obtained from laboratory images or through process simulation or some other means.
Degree four Bezier curves require a total of five control points. However, symmetry of the melt pool across xz-plane and the bounding top surface plane z=0 reduce the number of required inputs. Control points for the top surface curve are input only for half the melt pool on account of symmetry; because the front and tail of pool start at y=0 only three y components of the top curve are required while the other two components are implicitly set to 0 by the app. Similarly, because the spine curve begins and ends at the top surface z=0 only three components of z control points are required. Both the top surface curve and spine curve use the same x component values and all five are required inputs. Melt pool width and depth is explicitly set according to user inputs width, depth whereas melt pool length is implicitly defined by the ratio width/length according to the input top surface curve control points. The x,y components of the top curve control points are scaled to achieve the user input pool width. Similarly, spine curve control point components x,z are scaled to specified melt pool depth. However, the final set of x components used for both the top surface curve and spine curve are values obtained from the width scaling operation.
The following command defined by this application must be used to specify the bezier melt pool surface geometry as described above.
|potts/am/bezier||Specifies control points and convexity of surface.|
Some combination of the following additional commands are typically used by this application to specify a raster pattern. A layer must be defined by using am cartesian_layer or am path_layer. A layer requires one to many am path commands or at least one am pass command.
The examples/potts_am_bezier directory has input files which illustrate use of some of these commands. However these commands are not unique to this app and other examples within the examples directory may also further illustrate.
This application is only compatible with square and square cubic lattices.
This application can only be evolved by a rejection KMC (rKMC) algorithm. See the sweep command for more details.
app_style am/ellipsoid, app_style potts/weld, app_style potts/weld/jom
Details of the melt pool representation used in this app are described in A Bézier curve informed melt pool geometry for modeling additive manufacturing microstructures, Jeremy E Trageser, John A Mitchell, Kyle L Johnson, Theron M Rodgers, Computer Methods in Applied Mechanics and Engineering, Volume 415, 1 October 2023 116208.