fix heat/gran command
fix heat/gran/conduction command
Purpose
This is an old command. Please use enable_heat_transfer instead.
Syntax
fix ID group-ID heat/gran initial_temperature T0 general_keyword general_values
area_keyword area_values
fix ID group-ID heat/gran/conduction initial_temperature T0 general_keyword general_values
area_keyword area_values
ID, group-ID are documented in fix command
heat/gran/conduction or fix heat/gran = style name of this fix command
initial_temperature = obligatory keyword
T0 = initial (default) temperature for the particles
zero or more general keyword/value pairs may be appended
general_keyword = store_contact_data or temp_max
store_contact_data values = yes or no temp_max value = max. particle temperature in K
zero or more area correction keyword/value pairs may be appended
area_keyword = contact_area or area_correction or modified_area_correction or area_shape
contact_area values = overlap or constant [value] or projection or superquadric or convex area_correction values = yes or no modified_area_correction values = yes or no area_shape values = square or circle
Examples
fix 3 hg heat/gran/conduction initial_temperature 273.15
Description
Calculates heat conduction between particles in contact and temperature update (see (Rickelt)) according to
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 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
The keyword temp_max allows to specify an upper limit for the per-particle temperature. Obviously, this value must be greater than 0K.
Contact area calculation:
Using keyword contact_area, you can choose from 5 modes of calculating 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. For pure superquadric simulation you may also use the superquadric scheme that uses the local curvature radii to calculate the contact area. Finally the convex scheme can be used for simulations with convex particles only. This approach uses information provided by the corresponding surface model.
Area correction:
For contact_area = overlap, superquadric or convex, 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 command:
fix id all property/global youngsModulusOriginal peratomtype value_1 value_2 ...
(value_i=value for original Young's modulus of atom type i)
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 . The scaling factor is given as e.g. a=1 for a Hooke and a=2/3 for a Hertz interaction.
With the optional keyword modified_area_correction an additional contact area correction can be applied. Therefore, the fix property/global ‘ht_modification’ is required:
fix id all property/global ht_modification peratomtypepair n_atomtypes type
lookup file_11 file_12 .. file_21 file_22 ..
Each file_ij contains a table (relative overlap | scaling factor) for linear interpolation. Thus, depending on the relative overlap (for particle-particle this is defined as overlap/(sum of radii)) the contact area can be scaled. This models the even better contact/heattransfer for increased overlaps/stresses.
Area shape:
If area_shape is set to ‘circle’ then the equations for the heattransfer coefficient (h_c) are taken as above. If this keyword is set to ‘square’ (the default) then the pi in this equation is neglected. Note that using ‘circle’ would be appropriate but due to backward compatibility issues ‘square’ is chosen as default. As the thermal conductivity is a calibration parameter this is not a big issue, as switching from the default (and old) square representation to the correct (and new) circle representation can be achieved by multiplying the previous thermal conductivities by sqrt(pi).
Coarse-graining information:
Using coarsegraining in combination with this command should lead to statistically equivalent dynamics and system state.
Output info:
You can visualize the heat sources by accessing f_heatSource, and the heatFluxes by f_heatFlux . With f_directionalHeatFlux, 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 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 .
In case the store_contact_data option is set to yes, additional output of
per-atom properties is available. The property ids are nContactsConduction,
contactAreaConduction and wallHeattransferCoeff which represent the
number of contacts a particle has, the combined contact area with other particles
and the wall heat flux, respectively. These ids can be used as usual to output
them in a dump command or to calculate atom properties.
Note
store_contact_data yes is required any heat conduction properties are used in the steady state detection through fix ave/euler/custom.
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
Default
contact_area = overlap, area_correction = no, area_shape = square
Literature:
(Rickelt) Rickelt, Discrete Element Simulation and Experimental Validation of Conductive and Convective Heat Transfer in Moving Granular Material, PhD thesis (2011).