This is Monte Carlo code which automatically follows a given phase boundary.
Input files: (see maps documentation)
lat.in (describes the lattice)
gs_str.out (lists the ground states)
eci.out (ECI)
clusters.out (clusters)
You have to provide, on the command line, the following parameters:
-The two phases which are in equilibrium.
For instance,
-gs1=0 -gs2=1
If there are n ground states, phases are numbered from 0 to n-1 .
These ground states are read in from gs_str.out
The disordered state is labelled by the number -1.
If the two phases are on different lattices, you need to specify
the path that give access to the files
lat.in
gs_str.out
eci.out
clusters.out
for each lattice. For instance
-d1=../fcc/ -d2=../hcp/
If either or both options are omitted, the files are read from the
current directory.
-The starting temperature and chemical potential
for instance,
-T=100 -mu=0.125
(Make sure to set blotzmann's constant appropriately.)
(If you tracing the phase boundary between two ordered phases, starting from
0K, you do not need to specify a starting T and mu.)
-The temperature step
for instance -dT=50
-The 'enclosed radius', which sets the system size
for instance, -er=35
(see emc2 documentation for more information)
-The precision of the calculation
This is expressed as the desired precision of the average concentration.
For instance, -dx=1e-3
The code automatically finds the equilibration time and the number
Monte Carlo steps needed to obtain the target standard deviation
of the average concentration.
There are a number of optional parameters as well.
-ltep: The low temperature expansion is used to find the free energy
at low temperature. -ltep gives the maximum error allowed before
Monte Carlo is used instead of LTE.
-dmu: The step in chemical potential used when scanning in search
of the phase boundary.
for instance, -dmu=0.005
Sometimes, the algorithm looses track of the phase boundary
(because of statistical errors). When that happens, it scans
a range of values of the chemical potential in search of the
boudary of the hysteresis loop associated with the first
order transition of interest. It then position itself in the
middle of it. dmu is the step size used for that search.
Note that the code will automatically shrink dmu if needed.
By default, dmu is automaticaly set to the formation energy
of a disordered alloy times 0.01.
-mug lets you specify a small difference in chemical potential
between the phases, to make the code less sensitive to accidental
phase transition.
-k sets boltzman's constant (see emc2 documentation)
-keV
-dn indicates that the boundary must be folowed downward
(decreasing T)
Output file:
Column Value
1 temperature
2 chemical potential
3 concentration of phase 1 in [-1,1]
4 concentration of phase 2 in [-1,1]
5 energy-mu*x for phase 1
6 energy-mu*x for phase 2