"LIGGGHTS(R)-PUBLIC WWW Site"_liws - "LIGGGHTS(R)-PUBLIC Documentation"_ld - "LIGGGHTS(R)-PUBLIC Commands"_lc :c

:link(liws,http://www.cfdem.com)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)

:line

fix heat/gran command :h3
fix heat/gran/conduction command :h3

[Syntax:]

fix ID group-ID heat/gran initial_temperature T0 keyword values :pre
fix ID group-ID heat/gran/conduction initial_temperature T0 keyword values :pre

ID, group-ID are documented in "fix"_fix.html command :l
heat/gran/conduction or fix heat/gran = style name of this fix command :l
initial_temperature = obligatory keyword :l
T0 = initial (default) temperature for the particles :l
zero or more keyword/value pairs may be appended :l
keyword = {contact_area} or {area_correction} :l
  {contact_area} values = {overlap} or {constant [value]} or {projection}
  {area_correction} values = {yes} or {no} :pre

[Examples:]

fix 3 hg heat/gran/conduction initial_temperature 273.15 :pre

[LIGGGHTS(R)-PUBLIC vs. LIGGGHTS(R)-PUBLIC info:]

This command is not available in LIGGGHTS(R)-PUBLIC.

[Description:]

Calculates heat conduction between particles in contact and temperature 
update (see "(Chaudhuri)"_#Chaudhuri) according to

:c,image(Eqs/heat_gran.png)

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 and specific thermal capacity must be defined for
each atom type used in the simulation by means of
"fix property/global"_fix_property.html commands:

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

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

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 :pre

:line

Contact area calculation:

Using keyword {contact_area}, you can choose from 3 modes of calulating
the contact area for particle-particle heat transfer: If {overlap} is used,
the contact area is calculated from the area of the sphere-sphere intersection
If {constant} is used, a constant user-defined overlap area is assumed.
If {projection} is used, the overlap area is assumed to be equal to rmin*rmin*Pi,
where rmin is the radius of the smaller of the two particles in contact.

Area correction:

For {contact_area}  = overlap, an area correction can additionally
be performed using keyword {area_correction} to account for the fact that
the Young's modulus might have been decreased in order to speed-up the
simulation, thus artificially increasing the overlap. In this case, you have
to specify the original Young's modulus of each material by means of a
"fix property/global"_fix_property.html command:

fix id all property/global youngsModulusOriginal peratomtype value_1 value_2 ...
(value_i=value for original Young's modulus of atom type i) :pre

This area correction is performed by scaling the contact area with
(Y*/Y*,orig)^a, where Y* and Y*,orig are calculated as defined in
"pair_style gran"_pair_gran.html .
The scaling factor is given as e.g. a=1 for a Hooke and a=2/3 for a Hertz
interaction.

[Output info:]

You can visualize the heat sources by accessing f_heatSource\[0\], and the
heatFluxes by f_heatFlux\[0\] . With f_directionalHeatFlux\[0\], f_directionalHeatFlux\[1\]
and f_directionalHeatFlux\[2\] 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\[0\] you can access the per-particle
temperature. You can also access the total thermal energy of the fix group
(useful for the thermo command) with f_id .

[Restart, fix_modify, run start/stop, minimize info:]

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

This fix computes a scalar which can be accessed by various "output
commands"_Section_howto.html#4_15.  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"_run.html command.  This fix is not invoked during "energy
minimization"_minimize.html.

[Restrictions:]

none

[Related commands:]

"compute temp"_compute_temp.html, "compute
temp/region"_compute_temp_region.html

[Default:] 

{contact_area} = overlap, {area_correction} = no

[Literature:] 

:link(Chaudhuri)
[(Chaudhuri)] Chaudhuri et al, Chemical Engineering Science, 61, p 6348 (2006).

