(no subject)

Dear LAMMPS users.

I would like to compute free energy difference between two phases of a crystal along a defined thermodynamic cycle with three intermediate stages between two phases. In the first step of cycle I have to scale down all non-bonded interactions and turn on a tethering potential to keep the atoms to their equilibrium positions.

the functional forms given to accomplish this was:

U(λ)= [1+λ(η-1)]^m × Uvdw + [1+λ(η-1)]^n × Uelec
Utether= −λ∑ ∑ aij × exp(-b × (rij)^2)
i j
U = U(λ) + Utether
here m, n, a & b are constants and “η” is a scaling parameter having value 0 < η < 1 and “λ” is a coupling parameter that ranges from 0 to 1

Finally one has to calculate ∫(∂u/∂λ)λ dλ from 0 to 1.

I know that, “fix ti” (thermodynamic integration) and “fix adapt” can do this, but am not aware of how to specify these in input file for my case and moreover I am using buckingham potential for Van der waals interactions (pair_style buck/coul/long 12.0) .

Can anybody please explain me, how to specify “fix ti” and “fix adapt” for my case?

Thank you in advance.

Dear LAMMPS users.

               I would like to compute free energy difference between two
phases of a crystal along a defined thermodynamic cycle with three
intermediate stages between two phases. In the first step of cycle I have to
scale down all non-bonded interactions and turn on a tethering potential
to keep the atoms to their equilibrium positions.
the functional forms given to accomplish this was:

U(λ)= [1+λ(η-1)]^m × Uvdw + [1+λ(η-1)]^n × Uelec
Utether= −λ∑ ∑ aij × exp(-b × (rij)^2)
                   i j
  U = U(λ) + Utether
here m, n, a & b are constants and "η" is a scaling parameter having value
0 < η < 1 and "λ" is a coupling parameter that ranges from 0 to 1
Finally one has to calculate ∫(∂u/∂λ)λ dλ from 0 to 1.
I know that, "fix ti" (thermodynamic integration) and "fix adapt" can do
this, but am not aware of how to specify these in input file for my case and
moreover I am using buckingham potential for Van der waals interactions
(pair_style buck/coul/long 12.0) .
Can anybody please explain me, how to specify "fix ti" and "fix adapt" for
my case?

i don't think that there is a simple answer to that. you would have to
dig into the source code and implement the necessary missing
interfaces to enable using them from fix adapt.

axel.

This sounds very similar to what Sai Jayaraman did, when
he developed fix adapt and fix ti. You can look at his
papers or send him an email. He is now in Ceder’s group
at MIT. If you need to make hooks from fix adapt to
new pair styles, it is easy to do. Just add a method to the
pair style; see any of the supported pair styles for an example.

Steve