Welcome to the Model A simulator! In the narrowest sense this is a place to see a particular stochastic partial differential equation solved that is of the following form:
Where the driving force
The importance of Model A or time-dependent Ginzburg-Landau equation is that it is model of the dynamics of a non-conserved order parameter.
To understand what is meant by this, consider for a moment the Ising model.
The variables
In Glauber kinetics the total angular moment is not conserved. The free energy cost of a spin flip is calculated at any site and the probability of flipping is weighted accordingly.
Alternatively, in Kawasaki dynamics, the total angular momentum is conserved. Specifically the angular momentum is conserved locally by implimenting a set of kinetics that local rearranges a small domain of spins instead of flipping them. Again, the cost of all rearrangements is considered and probabilities of those rearrangements are weighted accordingly.
In Ginzburg-Landau theory, continuous fields are considered at the thermodynamic variables of interest. These field are almost always coarse grained variables from discrete systems. If we take the Ising model again, for example, we can construct a coase grained field from our discrete spins through an averaging process. Consider of ball of radius
Ginzburg-Landau theory considers the thermodynamics of such fields and once again, if we'd like to simulate the dynamics of such fields we are left with a choice between two different types of kinetics: conserved and non-conserved. The continuum version of our discrete Glauber kinetics is called model A. As we stated before it simulated the dynamics of a non-conserved order parameter.
For a general order parameter
Where the source term
All of the code is written in Julia (0.3 release should work) but also requires Python and a python package called Matplotlib.
- Julia info: http://julialang.org
- Matplotlib: http://matplotlib.org
To enable Matplotlib calls from Julia just install the PyPlot package inside the Julia shell via:
julia> Pkg.add("PyPlots")
Afterwards the simulation can be from the command line from the installation folder
> julia script.jl
Parameters can be changed inside the script.jl where the relevent parameters are commented.
This model code repository and set of notes was made by me to learn and help teach topics in thermodynamics. The notes and code are free to use and distribute so long as they are properly attributed to me (eg. don't pretend you made these please).
- Nathan Smith
- nathan.smith5@mail.mcgill.ca
- http://www.nate-smith.net