.. index:: fix heat/gran, fix heat/gran/conduction fix heat/gran command ===================== fix heat/gran/conduction command ================================ Syntax """""" .. parsed-literal:: fix ID group-ID heat/gran initial_temperature T0 keyword values .. parsed-literal:: fix ID group-ID heat/gran/conduction initial_temperature T0 keyword values * ID, group-ID are documented in :doc:`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 keyword/value pairs may be appended * keyword = *contact_area* or *area_correction* or *store_contact_data* .. parsed-literal:: *contact_area* values = *overlap* or *constant areavalue* or *projection* *area_correction* values = *yes* or *no* *store_contact_data* values = *yes* or *no* Examples """""""" .. parsed-literal:: fix 3 hg heat/gran/conduction initial_temperature 273.15 **LIGGGHTS(R)-PUBLIC vs. LAMMPS info:** This command is not available in LAMMPS. Description """"""""""" Calculates heat conduction between particles in contact and temperature update (see :ref:`(Chaudhuri) `) according to .. image:: Eqs/heat_gran.png :align: center 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 :doc:`fix property/global ` commands: .. parsed-literal:: fix id all property/global thermalConductivity peratomtype value_1 value_2 ... (value_i=value for thermal conductivity of atom type i) .. parsed-literal:: 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: .. parsed-literal:: set region halfbed property/peratom Temp 800. set region srcreg property/peratom heatSource 0.5 ---------- 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 :doc:`fix property/global ` command: .. parsed-literal:: 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 :doc:`pair_style gran ` . The scaling factor is given as e.g. a=1 for a Hooke and a=2/3 for a Hertz interaction. **Coarse-graining information:** Using :doc:`coarsegraining ` in combination with this command should lead to statistically equivalent dynamics and system state. .. note:: :doc:`Coarsegraining ` may or may not be available in LIGGGHTS(R)-PUBLIC. 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 . 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 wallHeatFlux 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 :doc:`fix ave/euler/custom `. Restart, fix_modify, run start/stop, minimize info """""""""""""""""""""""""""""""""""""""""""""""""" The particle temperature and heat source is written is written to :doc:`binary restart files ` so simulations can continue properly. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a scalar which can be accessed by various :ref:`output commands <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 :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" none Related commands """""""""""""""" :doc:`compute temp `, :doc:`compute temp/region ` Default """"""" *contact_area* = overlap, *area_correction* = no **Literature:** .. _Chaudhuri: **(Chaudhuri)** Chaudhuri et al, Chemical Engineering Science, 61, p 6348 (2006). .. _liws: http://www.cfdem.com .. _ld: Manual.html .. _lc: Section_commands.html#comm