Free Energy calculation in Monte Carlo simulations

AI Thread Summary
The discussion focuses on calculating free energies in Monte Carlo simulations of helimagnets to address hysteresis effects in phase transitions. The user successfully reproduces much of the phase diagram using Metropolis updates and simulated annealing but encounters issues with a first-order transition between two ordered states. They have identified a slight energy difference between the states, prompting the need to calculate their free energies for comparison. The user seeks advice on Monte Carlo methods suitable for this specific free energy comparison at a given temperature. The conversation highlights the challenge of accurately modeling phase transitions in simulations.
kaesekuchen86
Messages
2
Reaction score
0
Hello everyone,

I am currently working on a classical MC simulation of helimagnets and I try to calculate the experimentally measured phase diagram.

Up to now I am able to reproduce a large piece of the phase diagram by using a single site Metropolis update and simulated annealing. Unfortunately the simulated annealing suffers a hysteresis effect: For low temperatures, the system should undergo a first order transition from one ordered state A to another ordered state B but it does not...
These two ordered states are largely separated in phase space in the sense that "flipping one spin here and one spin there" is not enough to drive the transition...
I also tried to reach the point of interest in the phase diagram by taking a different way (lowering magnetic field at constant temperature) which succeeded in the sense that I found the desired state (that is measured in experiments), hence I assume I have indeed a hysteresis problem.

I compared the energy of the two states and found that the energy of the state which should not be realized at the point of interest is slightly (about <1%) smaller than the energy of the state which should be realized at this point. But since energy is not all, I would like to calculate the free energies F = E - TS of the two states and compare them.

Does anyone know whether this is possible and how it can be done?

I am very sure that my Code is correct (despite the problem mentioned above) since i did a lot of testing.

Thanks in advance

Here is s sketch of the phase diagrams:

It should look like:
Code:
H
^
|   
|-----------------------
|  phase B | phaseA |
|              |           |
---------------------------->T

and in my calculation it looks like:
Code:
H
^
|
|-----------------------
|        phaseA        |
|                         |
---------------------------->T
 
Technology news on Phys.org
Calculating (relative) free energies is a fairly standard task in the simulation of phase transitions. I do not have the time to really think about your concrete problem, but maybe the following paper is a helpful starting point for you: Simulation techniques for calculating free energies, M. Müller and J.J. dePablo (http://www.springerlink.com/content/v43112678811n031/ ) - but note the techniques discussed therein may be more advanced than what you are looking for.
 
thank you for the hint. Unfortunately the paper does not mention my problem:

I have two states and want to compare their free free energies at a given temperature.

Does anyone know a (MC) method for that?
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top