fix heat/gran/melting command

Syntax

fix ID group-ID heat/gran/melting heat_gran_conduction_keywords heat_gran_conduction_values delete_below r0 keyword values
  • ID, group-ID are documented in fix command

  • heat/gran/melting = style name of this fix command

  • heat_gran_conduction_keywords and heat_gran_conduction values are documented in fix heat/gran/conduction command

  • delete_below = obligatory keyword

  • r0 = delete particles if shrinking/melting down to this radius (length units)

  • zero or more keyword/value pairs may be appended

  • keyword = conduction

conduction values = yes or no
  yes = calculate thermal conduction between particles
  no = do not calculate thermal conduction between particles

Examples

fix melt all heat/gran/melting initial_temperature 273.15 delete_below 0.005

Description

Calculates heat conduction between particles in contact, temperature update and phase change from solid to liquid.


Heat conduction and temperature update are solved according to

_images/heat_gran.png

Note that the heat conduction part can be turned off using the conduction keyword.

It is assumed that the temperature within the particles is uniform. To make particles adiabatic (so they do not change the temperature), do not include them in the fix group. However, heat transfer is calculated between particles in the group and particles not in the group (but temperature update is not performed for particles not in the group). Thermal conductivity (if conduction = yes) and specific thermal capacity must be defined for each atom type used in the simulation by means of fix property/global commands:

fix id all property/global thermalConductivity peratomtype value_1 value_2 ...
(value_i=value for thermal conductivity of atom type i)
fix id all property/global thermalCapacity peratomtype value_1 value_2 ...
(value_i=value for thermal capacity of atom type i)

To set the temperature for a group of particles, you can use the set command with keyword property/atom and values Temp T. T is the temperature value you want the particles to have. To set heat sources (or sinks) for a group of particles, you can also use the set command with the set keyword: property/atom and the set values: heatSource h where h is the heat source value you want the particles to have (in Energy/time units). A negative value means it is a heat sink. Examples would be:

set region halfbed property/peratom Temp 800.
set region srcreg property/peratom heatSource 0.5

Phase change is modelled in two parts

  1. mDot = - qDot / lh, if T > Tmelt and qDot > 0

  2. mDot = - m * cp * (T-Tmelt)/dt / lh, if T > Tmelt

where mDot is the melting rate, qDot is the heat flux into the particle, lh is the latent heat, Tmelt the melting temperature, m the particle mass, cp the thermal capacity and dt the time step size. (1) is a term due to heat flux from outside, (2) is a term that assures that T satisfies T <= Tmelt in case the particle temperature is changed e.g. by the set command.

The cooling effect of the phase change is depicted by

qDot -= mDot * lh

As soon as particles become smaller that the specified radius (via delete_below keyword), they are deleted from the simulation.

Latent heat and melting temperature must be defined for each atom type used in the simulation by means of fix property/global commands:

fix id all property/global latentHeat peratomtype value_1 value_2 ...
(value_i=value for thermal conductivity of atom type i)
fix id all property/global Tmelt peratomtype value_1 value_2 ...
(value_i=value for melting temperature of atom type i)

Output info:

You can visualize the heat sources by accessing f_heatSource, and the heatFluxes by f_heatFlux . With f_directionalHeatFlux[1], f_directionalHeatFlux[2] and f_directionalHeatFlux[3] you can access the conductive heat fluxes in x,y,z directions. The conductive heat fluxes are calculated per-contact and half the value is stored in each atom participating in the contact. With f_Temp you can access the per-particle temperature. You can also access the total thermal energy of the fix group (useful for the status command) with f_id .

Restart, fix_modify, run start/stop:

The particle temperature and heat source is written is written to binary restart files so simulations can continue properly. None of the fix_modify options are relevant to this fix.

This fix computes a scalar which can be accessed by various output commands. This scalar is the total thermal energy of the fix group

No parameter of this fix can be used with the start/stop keywords of the run command.

Restrictions

none

Coarse-graining information:

Using coarsegraining in combination with this command might lead to statistically different dynamics and system state. To the best knowledge of the developers, the cross-influence between this command and coarse-graining is unknown.

Default