QuantumATK Forum

QuantumATK => General Questions and Answers => Topic started by: hydro on November 19, 2015, 15:34

Title: about Non-Equilibrium Momentum ExchangeType
Post by: hydro on November 19, 2015, 15:34
Hi,
In Non-Equilibrium Momentum ExchangeType, can I change the temperature of heat source or heat sink?
Title: Re: about Non-Equilibrium Momentum ExchangeType
Post by: Julian Schneider on November 20, 2015, 09:05
No, for this technique it is generally not possible to explicitly set the temperatures in the heat source and sink regions. You can only indirectly modify the temperature difference by changing the exchange interval.

If you really want to explicitly set a temperature difference, you can invoke a NVTNoseHooverChain thermostat with two thermostatted regions, e.g. something like

NVTNoseHooverChain(initial_velocity=ConfigurationVelocities(),
                 time_step=1.0*fs,
                 reservoir_temperatures=[('heat_source' , 400.0*Kelvin), ('heat_sink', 200.0*Kelvin)]
                 )
               
where the two regions are marked by tags.
However, the total momentum will probably not be conserved in such a simulation, and your system will start drifting. To avoid this, you might need to constrain at least one atom in one of the thermostatted regions.
Title: Re: about Non-Equilibrium Momentum ExchangeType
Post by: hydro on November 22, 2015, 07:07
Thank you!