I use the ECI of ZnO1-xSx obtained by maps to do calculate x-T phase diagram by using phb -gs1=0 -gs2=1 -dT=25 -dx=1e-3 -er=50 -ltep=5e-3 -keV -o=ph01.out. It took 10 days to reach 3700 K and still continues because the critical temperature doesn’t reach until now. It seems to take long time in high temperature. How can I accelerate the calculation? By increasing -er or by using -dn?
It is well-known that Monte Carlo becomes slow to converge near a critical point.
You could run at constant speed (but with decreasing precision, using -eq and -n instead of -dx).
Now, this phase diagram looks pretty good to me! If you just join the two ends manually you are done, within the accuracy of the plot!
You can explore the critical region "manually" with emc2 if you want. But fluctuation will be slow to average out there too.
It is also possible that the two phases have merge at the next T step, so the code searches for the phase transition, which does not exist (it usually detects this and stops, but it may sometime fail to do so).
Getting the spinodal is difficult with Monte Carlo, because you are at the onset of an unavoidable instability. In fact even the region between the phase boundary and the spinodal can spontaneously snap to the other phase boundary.
In the completely random approximation, you could use SQS to get the formation enthalpies and add an ideal entropy term (x*ln x + (1-x)*ln(1-x))*kT to get the free energy. You could get the spinodal analytically. It is approximate, however.