How do you set the "pfactor" (or, the constant in the barostat diff. eqn.) ? Using Bulk modulus value, I guess. / What if I select the 'none' option @ "barostat_timescale" (Although, the external stress is set to 1 Bar)?
The "pfactor"-parameter (if you are talking about the ASE-definition), corresponds to the barostat_timescale parameter in our API.
If the barostat_timescale (or the bulk_modulus) is set to None, then the barostat is switched off completely, i.e. simulation is carried out in the NVT-NoseHoover ensemble, no matter what external-stress-value you specify.
Note that the NPTMelcionna-barostat will be phased out from the ATK-2016-release, as it will be replaced by a more modern barostat-algorithm (Martyna-Tobias-Tuckerman-Klein, MTTK).
Initially, I want equilibrate the sample at const temp., const. pressure (RT, atm.).... Later I want to see the changes in phase with the increase of temp. / Is it possible?? Perhaps, we can't set temp. grad. in NPT_Melchionna simulation.....
You can't set a temperature gradient in NPTMelchionna, but you will be able to do so in the new barostats in ATK-2016.
In that case_
is it a viable option... to go for a no. of constant temp. simulations..., where in each case the input sample will actually be the final struct. of the previous NPT_Melchionna simulation...??!!
Yes, for now you can run a series of constant temperature simulations, with increasing temperature values, e.g.
# Set up a list of increasing temperatures.
temperature_range = [300.0, 400.0, 500.0, 600.0]
# Run a NPT-simulation at each temperature.
for temperature in temperature_range:
initial_velocity = MaxwellBoltzmannDistribution(
temperature=temperature*Kelvin,
remove_center_of_mass_momentum=True
)
method = NPTMelchionna(
time_step=1*femtoSecond,
reservoir_temperature=temperature*Kelvin,
external_stress=1*bar,
thermostat_timescale=100*femtoSecond,
barostat_timescale=100*femtoSecond,
bulk_modulus=1e+06*bar,
initial_velocity=initial_velocity,
mask=[[True, False, False], [False, True, False], [False, False, True]]
)
md_trajectory = MolecularDynamics(
bulk_configuration,
constraints=[],
trajectory_filename=('trajectory_%iK.nc' % temperature),
steps=20000,
log_interval=500,
method=method
)
bulk_configuration = md_trajectory.lastImage()