1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Mean-Field Approach to Ferromagnetism (Assistance with Calculations)

  1. Jun 18, 2014 #1
    1. The problem statement, all variables and given/known data

    I am currently working as an intern in a research institute (I'm a 3rd yr undergrad) and my supervisor has asked me to create a simulation from a particular model - please see linked <http://journals.aps.org/prb/abstract/10.1103/PhysRevB.69.045202> [Broken] or attached paper.

    I have been looking at this for a couple of months and I'm stumped, honestly it seems way over my head - however I do not want to dissapoint my supervisor.

    He's looking for me to create a simulation that will output bulk magnetization based on varying temperature.

    Can someone please help me walk through the calculations step by step? I figure if I can understand the mechanics of the problem the physics will become apparent shortly after that.

    2. Relevant equations

    See attached paper.

    3. The attempt at a solution

    No solutions attempted as such, just a few bare boned scripts in Matlab trying to list all knowns etc.

    Attached Files:

    Last edited by a moderator: May 6, 2017
  2. jcsd
  3. Jun 18, 2014 #2


    User Avatar
    Gold Member

    I haven't completely read the paper, so some of what I say here may be covered there, but I have some process recommendations and relevant knowledge. My graduate work was related to the Ising Model, so I came across MFT there.

    You may have already considered some of my points here; if so, great! Tell me about what you found out and we can move on to other things.

    There are 2 sides to your project. There is the theory, which is largely described in the paper (section II.A and the corresponding appendices are super important here) but is also accessible via basic Statistical Mechanics, and then there is the simulation part. You're going to have a tough time getting the simulation going if you don't understand the theory first, so concentrate on that out of the gate.

    Go through the paper and highlight the words/concepts you don't know. Do your best to look up related information ("due dilligence"), then go to your supervisor or mentor and ask questions about the paper. You must realize, first and foremost, that having the capacity to ask good questions and show that you can research background information is the most important thing you can do. People love to help someone who is working hard to understand something. They don't like to help someone who didn't do anything on their own first.

    Your end goal here is to simulate the magnetization as a function of the temperature, which is a common quantity of interest in Stat mech. To get there, you'll have to start with a lattice model, then write down the Hamiltonian for the system (which describes how the particles interact with each other). Once you have the correct Hamiltonian written down, you can get the partition function. And once you have the partition function you can calculate anything you want (like, the magnetization).

    So if you do all that, you'll have a good idea of what the magnetization will look like, theoretically, as a function of the temperature.

    The work for the simulation is primarily related to the lattice and Hamiltonian. The layout of the lattice will take a bit of coding, and the Hamiltonian encodes how each lattice point can interact with the others after each time step. So if you code up the lattice, encode the Hamiltonian rules for interaction, and put in some initial conditions, you should then be able to just let the simulation run until you get to whatever stop criteria you want (a certain amount of time, a steady state, etc....)

    Let me know what you've already accomplished with this, or if you have some specific questions.
  4. Jun 19, 2014 #3
    Thanks for your response.

    My current understanding is this. In a FCC III-V lattice structure by implanting an ion with a different mass & electronegavtivity, atomic radius etc you introduce a different potential at the lattice site where the Mn ion has substituted for a Ga atom. This also (and more importantly) adds an additional charge carrier into the lattice - in this case a hole. This ions can then be distributed either homogeneously or with random positions (in our lab we pulse laser anneal our samples so assume a homogeneous ordered distribution).

    Now this additional hole's spin can be pointing either up or down, if the ions are distributed in an ordered fashion we assume there is communication between the Mn holes via itinerant charge carriers (RKKY and double exchange). However this is temperature dependent - both above and below Tc.

    The exchange parameters are based on distance from one Mn ion to another, concentration in the overall lattice, and then order - identified by the thermal activity of the system (I think).

    We then must also consider that a portion of the implantated ions take up interstitial, anti-site positions and therefore with their additional charge carrier (hole) trap itinerant electrons, therby reducing the overall active charge carrier concentration. (though I don't think that's taken into consideration in this model)

    So far that's how I understand the theory.

    From the model's point of view, I need to calculate all these interactions and their contributions to the overall magnetization. This is where I'm stumped as I have not performed calculations such as those laid out in the paper.

    I do not know the following:

    How to calculate the hopping distance
    How to use and assign values to the creation/annihilation operators
    How to diagonlize a matrix by using a unitary transformation
    How to sum elements in the Hamiltonian matrix
    How to get out a matrix; eigenvalues, eigenfunctions, etc.
    What type of iterative algorithm is used to obtain our values of interest.

    So while I have a general idea of the theory (although very high level not much depth), I am completely lost on the calculations.

    I do not know how I should setup up my matrices, how do I create a matrix that goes from all spin up to all spin down and everything in between? Do I need separate matrices to do this? Also another thing that's throwing me is the subscript notation - do I create different matrices for spin up. spin down carriers?

    After reading back through that I wonder is this a lost cause, however all the attributes to the model - from the actual theory to the calculations are things I will need to know in the future so it's better starting now, admitting I know very little and trying to go from there.

    Thanks for your help on this, and I hope you're not sighing too much about my lack of knowledge.
  5. Jun 19, 2014 #4
    Another thing is that my supervisor(s) have admitted that their knowledge of this is quite limited so they would not be much help to me. Indeed I have asked certain questions about this and they have been unable to help me. Not a reflection on their inabilites but they are experimentalists not theorists. My undergrad course is applied physics not theoretical. However in attempting to understand this paper I'm trying to see if I could be a theorist.

    I don't see where she uses the partition function? In the Brillouin function or is it the chemical potential?
  6. Jun 19, 2014 #5


    User Avatar
    Gold Member

    So you're saying you select a random lattice site and alter the properties? Presumably your simulation would keep selecting lattice sites until the stop criterion is met?

    I think your goal should be to start with a simplified, 2-D simulation. Pick only the most important parameters to include. Once that's working, you can then slowly add parameters and complexity, and maybe even move it up to being a full 3-D simulation if it's not too hard.

    See this link for a similar MFT calculation on the Ising Model:

    I expect some of those formulas will be the same in your project.

    1. I'm not sure on this one - does the appendix help with this at all?

    2. See http://en.wikipedia.org/wiki/Creation_and_annihilation_operators for an introduction to the concept.

    3. Diagonalizing a matrix is something you can do using the eigenvalues and eigenvectors.
    For example, let's say you have a 2x2 matrix [itex]A[/itex] that has two eigenvalues. Once you find the eigenvectors, you can combine all the eigenvectors into a single matrix, let's call it [itex]P[/itex]. That matrix has a wonderful property:

    P^{-1}AP = I_A \lambda_A

    where [itex]I_A[/itex] is an identity matrix the same size as [itex]A[/itex] and [itex]\lambda_A[/itex] is a column vector of the eigenvalues of [itex]A[/itex]. [itex]P[/itex] is said to diagonalize [itex]A[/itex]. As long as [itex]A[/itex] is hermitian (If [itex]A[/itex] is real then it just needs to be symmetric), then the eigenvectors form an orthonormal basis and [itex]P[/itex] is unitary, which just means that [itex]P^{\dagger}P = PP^{\dagger} = I[/itex].

    A quick example using MATLAB (notice that A is symmetric).
    Code (Text):

    >> A = [1 2; 2 3]

    A =

         1     2
         2     3

    >> [P,lambda] = eig(A)

    P =

       -0.8507    0.5257
        0.5257    0.8507

    lambda =

       -0.2361         0
             0    4.2361

    >> inv(P)*A*P

    ans =

       -0.2361   -0.0000
       -0.0000    4.2361

    >> P'*P

    ans =

        1.0000   -0.0000
       -0.0000    1.0000
    4. I'm not sure what you mean here. You mean you're trying to compute one of the sums in the paper using a Hamiltonian matrix? Which equation in particular?

    5. Standard Linear Algebra routines. You should be able to use software to do this for you. What are you planning to write the simulation with?

    6. The iterative algorithm is described in the paper after eqn. 9
    Last edited: Jun 19, 2014
  7. Jun 20, 2014 #6
    Thanks for the link to the NYU page, I've started into the Ising model this morning and already I can find similarities in notation with the paper.

    I'll definitely be starting with a 1D simulation and going from there.

    1. Yes the appendix does calculate the hopping distance, so I'll eventually get this out.
    2. I read the wiki page but it's not much clearer to me - from reading the wiki on the Ising model it does mention these operators so I'll look more into that.
    3. Thanks for the explanation on this.
    4. Don't worry about this, I got a bit confused yesterday.
    5. I'm using Matlab and I've been playing around with 1D and 2D matrices using the eig(a) function.
    6. I guess this is just a general - how do I calculate all th equations combined rather than what actual iterative method is being used.

    I don't think this is going to be an overnight success, I'll keep plugging away and if I do get a simulation running regardless of how simplified it is I'll post here.

    Thanks again!
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted