¿Cómo simular una transición de fase en Dinámica Molecular?

Estoy tratando de simular la transición de fase para el oro y el silicio por separado usando LAMMPS. Obtuve el punto de fusión del oro usando el siguiente código.

units   metal
atom_style      atomic
boundary        p p p
variable        a equal 4.0782

lattice fcc 4.0782
region  box block 0 10 0 10 0 10
create_box      1 box
create_atoms    1 box
mass    1 196.97

pair_style      eam
pair_coeff      * * Au_u3.eam

minimize        1.0e-8 1.0e-8 1000 100000
min_style       cg

timestep 0.001
velocity all create 300.0 454883 mom yes rot yes dist gaussian

thermo  50000
thermo_style    custom step pe ke etotal temp vol press density atoms

fix 1 all press/berendsen iso 0.0 0.0 100.0
fix 2 all nvt temp 300.00 2400.00 1.0


run     10000000

Sin embargo, cuando aplico este código al silicio, no obtengo los resultados correctos. Siento que no estoy entendiendo el código y la física detrás de obtener un gráfico de transición de fase usando dinámica molecular. Entonces, supongo que mi solicitud aquí es si tiene recomendaciones de algunos artículos o libros que debería leer para poder realizar la simulación (transición de fase en dinámica molecular). He hojeado el libro "Comprender la dinámica molecular de Dan Frenkel y Berend Smit", pero todavía siento que me estoy perdiendo algo.

editado: la salida se muestra a continuación para oro y silicio.

oro: temperatura vs energía

siliocn: temperatura vd energía

¿Ha probado diferentes condiciones de contorno?
Muéstranos lo que obtienes con el oro y lo que obtienes con el silicio. Danos más detalles sobre por qué crees que tu simulación ha fallado.
(Aparte: su constante de tiempo nvt es aproximadamente 10 × demasiado grande)
@ valerio92 la salida se muestra arriba, donde en oro se muestra que la transición de fase está alrededor de 1300 k, lo cual es correcto y calculé el calor latente y también fue correcto. sin embargo, para el silicio el punto de fusión no era el correcto donde estaba alrededor de 2000 k y el valor correcto es alrededor de 1600 k.

Respuestas (1)

Los metales, como el oro, experimentan transiciones de fase con una barrera de nucleación muy limitada, mientras que el silicio no.

Por ejemplo, si tiene condiciones de contorno periódicas (sin superficies) y ningún otro defecto, entonces el silicio se puede sobrecalentar muy fácilmente (al menos en la escala de tiempo típica de una simulación MD).

Si su objetivo es medir el punto de fusión, entonces la forma correcta es comenzar creando dos fases, cristalina y amorfa, en contacto entre sí, y luego encontrar a qué temperatura las dos están en equilibrio. (A temperaturas más bajas crecerá la fase cristalina, a temperaturas más altas crecerá la fase amorfa).

Sin embargo, si su objetivo es simular el evento de nucleación, entonces este es un problema muy difícil y un área de investigación muy activa. Simplemente puede ir a una temperatura más alta o arreglar el tamaño de su celda (elimine la corrección de prensa/berendsen), lo que provocará una transición de fase, pero no será necesariamente una transición realista. Existen procedimientos mucho más complicados que utilizan métodos de muestreo de eventos raros como la metadinámica [ 1 ] o los métodos de siembra [ 2 ] para esto.

Estoy tratando de medir el punto de fusión. así que supongo que debería crear dos fases, pero ¿puedes dar más detalles sobre cómo hacerlo?
@maryam Debería ser periódico con la mitad del cristal derretido; conjunto del TNP; ejecute la simulación a múltiples temperaturas (por ejemplo, 1000 K, 1100 K, ...). Para cada uno, registre si creció el cristal o creció la fase amorfa. Encontrará un umbral de temperatura que separa estas dos clases: ese es el punto de fusión. Si necesita una medida precisa de la temperatura de fusión, puede usar un parámetro de orden (ya sea energía potencial o uno geométrico como el parámetro de centrosimetría) para medir el crecimiento de cada fase. ... Si hace una pregunta específica, puedo darle una respuesta específica.
¡gracias! Hice lo que dijiste y los resultados que obtuve son: aumentar la temperatura en cada ejecución no afecta el sistema. La fase amorfa no aumenta a pesar de que intenté ejecutarla a 2500 K, así que creo que hay algo mal con mi script. Realmente agradecería si pudiera compartir el guión con usted y ayudarme a ver dónde me equivoqué.