**Syntax:**

app_style style

style = *sinter*

**Examples:**

app_style sinter

**Description:**

This is on-lattice application which evolve a N-state Ising model or Potts model of sintering. Each lattice site has a spin value from -1 to N, with values of 0 representing internal pores sites, positive values representing grain sites and values of -1 representing the space outside the sintering compact. Sites change their spin to simulate microstructural evolution during sintering.

The Hamiltonian representing the energy of site i is as follows:

Hi = Sum_j delta_ij

where Sum_j is a sum over all the neighbor sites of site i and delta_ij is 0 if the spin of sites i and j are the same and 1 if they are different. The energy of the entire system is the sum of Hi over all sites.

A complete description of the sintering model and its parameters can be found in the 2010 Tikare, et.al. paper below.

This application mainly performs Kawasaki dynamics, meaning the spins on two neighboring sites are swapped. See app_style pots for an Ising model, which performs Glauber dynamics, meaning the spin is flipped on a single site.

As currently implemented, this application can be evolved only by the rejection KMC (rKMC) algorithm. You must thus define a sweeping method to be used with the application via the sweep command.

For solution by a rKMC algorithm, three different events are programmed: grain growth, pore migration and vacancy creation and annihilation. If the site selected is a grain site, a grain growth event is attempted: a new spin is chosen randomly from the values held by neighbor grain sites. If the site selected is a pore site, a pore migration or a vacancy creation and annihilation event is attempted. For the pore migration event, a new spin is chosen from the values held by neighboring grain sites such that the flip results in the minimum possible energy. For a vacancy creation and annihilation event, a pore site is moved to a neighboring grain site such that the resulting pore site is completely surrounded by grain sites (vacancy creation at grain boundary) with the subsequent movement of the vacancy to the surface of the sintering compact. In all the events, dE = Efinal - Einitial is calculated, as is a uniform random number R between 0 and 1. The new state is accepted if R < min[1,exp(-dE/kT)], else it is rejected. T is the temperature for simulating the event, so there is one temperature for grain growth, another for pore migration and a third temperature for vacancy creation and annihilation. These temperatures are defined by event_temperatures command (which includes the Boltzmann constant k implicitly).

Parallel implementation of the Monte Carlo model for sintering in SPPARKS code is described in the 2011 Garcia-Cardona paper below.

**Initialization:**

There are two methods to initialize the simulation space: randomly or from a file.

To do it randomly use the commands:

set i1 unique

- set i1 value 0 fraction p

The first command sets the spin of each site in the simulation space to a different value. The second command sets a fraction p of the spins to value 0, i.e. it defines the initial porosity of the sample. In this case, allow the grain structure to grow before starting sintering. This can be done by increasing the time to start the vacancy creation and annihilation event, using the time_sinter_start command.

To do it from a file:

See the documentation for the read_sites command. You should have defined previously the size of the corresponding simulation region and box by using the commands: region, create_box and create_sites

The following additional commands are defined by this application:

event_temperatures | set Monte Carlo temperature for each event |

event_ratios | set frequency to attempt each event |

time_sinter_start | set time to start attempting the vacancy creation and annihilation event |

The following diagnostic styles are also useful with this application:

- sinter_avg_neck_area - calculate average neck area of the porous compact
- sinter_density - calculate density of the porous compact
- sinter_free_energy_pore - calculate surface pore area of the porous compact
- sinter_pore_curvature - calculate pore curvature of the porous compact

Use of the pore curvature to determine the sintering stress is described in the 2012 Garcia-Cardona paper below.

**Restrictions:** none

**Related commands:**

**Default:** none

**(Tikare)** V. Tikare, M. Braginsky, D. Bouvard and A. Vagnon,
Numerical simulation of microstructural evolution during sintering at
the mesoscale in a 3D powder compact, Comp. Mater. Sci., 48, 317-325
(2010).

**(Garcia-Cardona)** C. Garcia-Cardona, V. Tikare, S. J. Plimpton,
Parallel simulation of 3D sintering, IJCMSSE, 4, 37-54 (2011).

**(Garcia-Cardona2)** C. Garcia-Cardona, V. Tikare, B. Patterson,
E.A. Olevsky, On Sintering Stress in Complex Powder Compacts,
J. Am. Ceram. Soc., 95, 2372-2382 (2012).