Por qué estirar un nanohilo de cobre

Publicado el

Animación de un nanohilo de cobre que se estira hasta duplicar su longitud, se estrecha formando un cuello y se parte en dos.
Nanohilo de cobre estirado hasta romper · dinámica molecular

Un nanohilo de cobre de tres nanómetros de lado aguanta un límite elástico de 7,5 GPa: dos órdenes de magnitud por encima del cobre recocido. No porque el cobre sea otro, sino porque ahí dentro no cabe lo que hace blando a un metal. Esto es el ensayo completo, desde la validación del potencial hasta la rotura.

Lectura rápida

  • Qué se simula. Un hilo de cobre de 2,9 × 2,9 × 7,2 nm (5780 átomos), a 300 K, estirado a velocidad de deformación constante hasta que rompe. Dinámica molecular con LAMMPS y el potencial EAM de Mishin et al. (2001).
  • Antes de mirar el resultado, la referencia. Siete magnitudes del cobre con valor conocido, calculadas con el mismo potencial y la misma instalación: todas dentro del 1,4 %. Es lo que dice que la cadena de cálculo está bien montada.
  • Qué sale. Módulo de Young del hilo 61,0 GPa (frente a 67,1 GPa del cristal infinito a 0 K), límite elástico 7,48 GPa a ε = 10,4 %, y después plasticidad por maclado hasta romper cerca de ε = 104 %: el hilo se estira al doble.
  • Qué no demuestra. La velocidad de deformación es catorce órdenes de magnitud mayor que la de un ensayo de laboratorio. Esto no reproduce un ensayo normalizado, y no pretende hacerlo.
  • Se puede repetir. Un run.sh que ejecuta la validación, la simulación y las salidas, con el potencial que ya viene con LAMMPS.

Por qué un nanohilo

El cobre de un cable se deforma a unas decenas de megapascales. El cobre, como material, es mucho más resistente que eso: lo que cede tan pronto no es el cristal, son las dislocaciones que ya tiene dentro, defectos de línea que se mueven con muy poca tensión y hacen que el metal fluya mucho antes de que haya que romper enlace alguno.

Un hilo de tres nanómetros de lado cambia la historia por dos razones, y las dos son geométricas:

  1. Se puede construir perfecto. En 5780 átomos no hay sitio para una red de dislocaciones preexistente. Si no hay ninguna, no hay nada que se pueda mover: la plasticidad tiene que empezar por crear la primera, y eso cuesta una tensión del orden de la resistencia teórica del cristal.
  2. Casi todo es superficie. En una sección de 2,9 nm, cerca de un tercio de los átomos tiene menos vecinos de los que le tocan. Eso ablanda el hilo elásticamente y, a la vez, le da a la primera dislocación el sitio más fácil por donde nacer: una arista.

Los dos efectos empujan en sentidos opuestos para el módulo y en el mismo sentido para la resistencia, y es exactamente la clase de pregunta que la dinámica molecular puede contestar y una fórmula de manual no: aquí no hay «material», hay átomos contados.

El interés no es solo académico. En interconexiones de circuitos, en contactos eléctricos y en cualquier sitio donde haya metal con dimensiones de nanómetros, el límite elástico del material a granel no sirve para nada. Lo que hace falta es saber dónde y cómo cede esa geometría concreta.

Antes de simular nada: validar el potencial

Una simulación de dinámica molecular es tan buena como el potencial interatómico que use. El potencial es una función que, dadas las posiciones de los átomos, devuelve la energía; todo lo demás —fuerzas, tensiones, mecanismos— sale de derivarla. Si el potencial está mal, la animación sigue siendo bonita y el resultado sigue siendo un número con unidades. Por eso el primer paso no es simular el hilo, es calcular cosas cuya respuesta ya se conoce.

El potencial es el EAM de Mishin et al., Phys. Rev. B 63, 224106 (2001), en el fichero Cu_mishin1.eam.alloy que se distribuye con LAMMPS. Con ese mismo fichero y esa misma instalación de LAMMPS (7 Feb 2024), a 0 K:

Magnitud Calculado Referencia Error
Parámetro de red a₀ (Å) 3,6149 3,615 +0,00 %
Energía cohesiva (eV/átomo) 3,5402 3,54 +0,01 %
C₁₁ (GPa) 169,9 168,4 +0,90 %
C₁₂ (GPa) 122,6 121,4 +1,01 %
C₄₄ (GPa) 76,2 75,4 +1,07 %
Módulo de Young E[100] (GPa) 67,12 66,7 +0,62 %
Energía de falla de apilamiento (mJ/m²) 44,38 45 −1,38 %

Todo por debajo del 1,4 %. Y aquí viene lo importante, que es lo que convierte una tabla verde en información:

Las cinco primeras magnitudes no prueban que este potencial prediga nada. El parámetro de red, la energía cohesiva y las tres constantes elásticas formaban parte del conjunto de datos al que se ajustó el potencial. Pedirle que las reproduzca es pedirle que recuerde sus propios datos de entrenamiento. Que salgan bien no mide capacidad predictiva: mide que mi cadena de cálculo está bien montada —el fichero correcto, las celdas bien construidas, las deformaciones del tamaño adecuado, las unidades convertidas sin un factor perdido—. Que es justo lo que quiero comprobar antes de simular, y la razón de hacerlo.

Las otras dos filas sí dicen algo más:

  • El módulo de Young en [100] se calcula por dos caminos independientes: a partir de las constantes elásticas, y estirando directamente la celda mientras se deja relajar la sección a tensión transversal nula. Dan 67,1156 y 67,1147 GPa: coinciden en cuatro cifras. Eso es una comprobación interna, no una validación contra el mundo, pero es la que importa aquí, porque el segundo camino es exactamente el mismo cálculo que luego se hace sobre el nanohilo. Si la deformación que aplico y la tensión que mido no fueran coherentes, se vería en esas cuatro cifras.
  • La energía de falla de apilamiento (44,38 mJ/m²) no es una propiedad de volumen: es la que gobierna que una dislocación se disocie en parciales de Shockley, que es precisamente el mecanismo que se verá en la animación. Tampoco es una predicción a ciegas —Mishin et al. dan 44,4 mJ/m² para su propio potencial, así que lo que comprueba mi 44,38 es que reproduzco su cálculo—, pero es la magnitud del conjunto que está directamente conectada con el resultado que me interesa.

Dicho de otra manera: esta tabla no demuestra que el potencial sea bueno. Demuestra que si el potencial es bueno, mi resultado lo será. Es un filtro necesario y no suficiente, y me parece importante decirlo así en lugar de presentar siete porcentajes pequeños como si fueran una medalla.

Detalle técnicoCómo se calculan las siete magnitudes, con las entradas de LAMMPS

Dos entradas, las dos a 0 K y por minimización de energía.

in.validacion relaja la celda cúbica convencional (4 átomos) con box/relax y de ahí salen a₀ y la energía cohesiva:

fix             relax all box/relax iso 0.0 vmax 0.001
min_style       cg
minimize        0.0 1.0e-12 100000 1000000
unfix           relax
minimize        0.0 1.0e-12 100000 1000000

variable  a0v   equal lx
variable  ecohv equal -pe/count(all)

Las constantes elásticas, por diferencias centradas con ε = 10⁻³, deformando la caja con change_box ... remap y volviendo a minimizar en cada punto (Cᵢⱼ = −∂Pᵢ/∂εⱼ; el factor 10⁻⁴ es la conversión de bar a GPa):

variable  C11   equal -1.0e-4*(${pxxP}-${pxxM})/(2.0*${eps})
variable  C12   equal -1.0e-4*(${pyyP}-${pyyM})/(2.0*${eps})
variable  C44   equal -1.0e-4*(${pxyP}-${pxyM})/(2.0*${eps})

Para C₄₄ hay que pasar la caja a triclínica (change_box all triclinic) y deformar xy. Dos detalles que cuestan tiempo si no se tienen en cuenta: hay que volver a ortho después, y hay que guardar el valor de la variable en otra variable (variable pxxP equal ${pxxp}), porque una variable ... equal pxx se reevalúa cada vez que se lee y, si se arrastra hasta después de la siguiente minimización, se está restando el mismo número a sí mismo.

El módulo de Young en [100] sale de los Cᵢⱼ con la expresión para tracción uniaxial según ⟨100⟩ dejando libres las caras:

variable  E100c equal (${C11}+2.0*${C12})*(${C11}-${C12})/(${C11}+${C12})

y, por el otro camino, de una tracción de ±0,2 % con las direcciones transversales relajadas a tensión nula, que es el ensayo del nanohilo en miniatura:

change_box      all x final 0.0 $((1.0+v_epsu)*v_lx0) remap units box
fix             relaxyz all box/relax y 0.0 z 0.0 vmax 0.0001
minimize        0.0 1.0e-16 1000000 10000000

La entrada imprime el residuo de pyy y pzz después de relajar: si no es prácticamente cero, la medida no es uniaxial y el módulo sale mal sin avisar.

in.falla es la energía de falla de apilamiento intrínseca. Una celda orientada x=[11-2] y=[-110] z=[111] con superficies libres en z; se minimiza el cristal perfecto, se desliza la mitad superior el vector parcial de Shockley a₀/6[11-2] entre dos planos (111), y se vuelve a minimizar permitiendo movimiento solo en z, para que los átomos no deshagan el deslizamiento:

lattice         fcc ${a0} orient x 1 1 -2 orient y -1 1 0 orient z 1 1 1
fix             solo_z all setforce 0.0 0.0 NULL
...
displace_atoms  arriba move ${burg} 0.0 0.0 units box
minimize        0.0 1.0e-12 10000 100000
variable  gamma equal 16021.766*(${efalla}-${eperf})/${area}

El 16021.766 convierte eV/Ų a mJ/m². El plano de corte se pone a 0,5·nz·lzp − lzp/6 para que caiga entre dos capas (111) y no sobre una de ellas.

El experimento numérico

Con el potencial comprobado, el hilo. Una sección cuadrada {100} de 8 × 8 celdas unidad y 20 celdas de largo, construida directamente desde la red fcc con el a₀ relajado en la validación:

Geometría sección {100} de 8 × 8 celdas, 20 de largo: 2,9 × 2,9 × 7,2 nm, 5780 átomos
Orientación eje del hilo en [100]
Contorno periódico en el eje; superficies libres en las cuatro caras laterales
Potencial EAM de Mishin et al. (2001), Cu_mishin1.eam.alloy
Paso de tiempo 2 fs
Equilibrado minimización + NVT a 300 K durante 20 ps
Tracción velocidad de deformación 5·10⁹ s⁻¹ hasta ε = 1,2, NVT a 300 K
Salidas curva cada 100 pasos; 193 volcados con posiciones y estructura local por átomo

Tres decisiones del montaje que no son obvias y que condicionan el resultado:

El contorno. Periódico a lo largo del eje y libre en las caras. Eso hace del hilo un cilindro infinito de sección finita: no hay mordazas, no hay extremos, y la superficie es superficie de verdad —los átomos de las caras se relajan hacia dentro y quedan en tensión—. Es la geometría que aísla el efecto de la sección, que es lo que quiero medir.

La sección. La tensión que se publica es la ingenieril, σ = F/A₀. En un nanohilo, A₀ es ambiguo: ¿se cuenta el plano atómico del borde o no? Entre una elección y la otra hay un 6 % de diferencia, que es más que cualquiera de los efectos de los que habla este artículo. Así que no uso la sección nominal «8 a₀ × 8 a₀», sino la sección efectiva A₀ = N·Ω/L₀, con Ω = a₀³/4 el volumen por átomo del cristal relajado. Es una definición que no depende de dónde se decida poner el borde, y es la misma que se usa en la validación.

El termostato. NVT a 300 K durante toda la tracción, con la longitud impuesta por fix deform. El hilo no está en equilibrio térmico estricto mientras se estira —se está haciendo trabajo sobre él—, pero con 5780 átomos y un amortiguamiento de 0,2 ps la temperatura se mantiene donde tiene que estar y no se acumula calor que ablande el hilo artificialmente.

Detalle técnicoLa entrada del ensayo de tracción, comando a comando

La geometría y el contorno. boundary p s s es periódico en el eje (x) y shrink-wrapped en las dos transversales, que es la forma de tener superficies libres sin inventarse un vacío:

boundary        p s s
lattice         fcc ${a0}
region          hilo block 0 ${nlong} 0 ${nsec} 0 ${nsec} units lattice
create_box      1 hilo
create_atoms    1 box
pair_style      eam/alloy
pair_coeff      * * ${pot} Cu

La sección efectiva y la tensión. compute stress/atom NULL devuelve el virial por átomo —sin el término cinético, que es lo que quiere decir el NULL— en unidades de presión × volumen, es decir −P·V. Sumando la componente xx sobre todos los átomos y dividiendo por el volumen efectivo se obtiene la tensión; el 1.0e-4 pasa de bar a GPa:

variable  volat  equal count(all)*(${a0}^3/4.0)     # N * Omega
variable  A0     equal ${volat}/${lx0}              # seccion efectiva
compute   satom  all stress/atom NULL
compute   sxxsum all reduce sum c_satom[1]
variable  sigma  equal 1.0e-4*c_sxxsum/(lx*${A0})

La estructura local, con análisis de vecinos comunes (CNA). El radio de corte 0,8536·a₀ ≈ 3,09 Å cae entre la primera y la segunda capa de vecinos de la fcc, que es la condición para que el criterio funcione:

compute   cna    all cna/atom $(0.8536*v_a0)

Devuelve por átomo 1 = fcc, 2 = hcp, 3 = bcc, 4 = icosaédrico, 5 = desconocido. En un hilo fcc eso significa: 1 el cristal, 2 las fallas de apilamiento y las maclas, 5 la superficie libre y las zonas desordenadas. Es el único coste de cómputo apreciable aparte del propio potencial, y es lo que hace legible la animación.

El protocolo, en tres actos: minimizar, equilibrar y estirar. La referencia de longitud y de sección se recalcula después del equilibrado, no antes: el hilo se contrae al relajar la superficie y al calentarse, y usar la longitud de la red perfecta mete un offset en toda la curva.

min_style       cg
minimize        1.0e-10 1.0e-12 20000 200000

reset_timestep  0
timestep        ${dt}
velocity        all create ${Tsim} 581923 mom yes rot no dist gaussian
fix             eq all nvt temp ${Tsim} ${Tsim} 0.2
run             ${nequil}
unfix           eq

reset_timestep  0
variable  lxref equal ${lxnow}                      # longitud ya equilibrada
variable  A0ref equal ${Vat}/${lxref}
variable  strain equal (lx-${lxref})/${lxref}

fix             term all nvt temp ${Tsim} ${Tsim} 0.2
fix             tira all deform 1 x erate ${erate} remap x
run             ${nrun}

erate 0.005 está en 1/ps: son los 5·10⁹ s⁻¹. remap x reescala afínmente las posiciones con la caja en cada paso, en lugar de estirar solo los bordes y esperar a que la deformación se propague.

La entrada tiene además una variable rmella que abre una mella esférica en una cara para localizar el cuello: en un hilo periódico la rotura ocurre donde quiere, y para comparar dos ejecuciones conviene fijar el sitio. En esta simulación vale 0: el hilo está intacto y la rotura cae donde la física la ponga.

Qué sale

La animación es la simulación, no un vídeo: el navegador reconstruye los 80 fotogramas y los dibuja en vivo a partir de un binario de 793 KiB. Se puede arrastrar el hilo para girarlo y mover la barra para ir a cualquier instante; el punto de la curva va sincronizado.

Nanohilo de cobre de 5780 átomos estirado hasta romperse: el cristal gris claro se llena de planos azules de maclado, se forma un cuello y el hilo se parte.
Ensayo de tracción del nanohilo (5780 átomos, 300 K, 5·10⁹ s⁻¹) y su curva tensión-deformación. Gris claro: cristal fcc. Azul: fallas de apilamiento y maclas (hcp). Gris medio: superficie libre y zonas desordenadas. Arrastra para girar.

Cómo leer los colores. Cada átomo va pintado según el análisis de vecinos comunes, que mira la vecindad de cada uno y decide a qué estructura se parece:

  • Gris claro (fcc): cristal perfecto. Al principio es casi todo el interior del hilo.
  • Azul (hcp): un átomo con entorno hexagonal compacto. En un cristal fcc, dos planos hcp seguidos son una macla y uno solo es una falla de apilamiento. Son las láminas azules que barren el hilo después de ceder, y aparecen porque la dislocación que nuclea se disocia en dos parciales de Shockley que dejan el plano mal apilado entre ellas. Es la magnitud que se validó arriba, apareciendo en pantalla.
  • Gris medio: superficie libre y desorden. Al principio es la piel del hilo; al final, el cuello donde rompe.

La curva es la otra mitad del resultado:

Curva tensión-deformación del nanohilo: subida elástica recta hasta 7,48 GPa a 10,4 % de deformación, caída brusca y un largo tramo de flujo plástico con dientes de sierra que se agota hacia el 104 %.
Tensión ingenieril frente a deformación. El tramo recto da 61,0 GPa; el pico, 7,48 GPa a ε = 10,4 %; a partir de ahí, flujo plástico por maclado hasta la rotura cerca de ε = 104 %.

Tres cosas que leer en ella:

El módulo de Young del hilo es 61,0 GPa, frente a los 67,1 GPa del cristal infinito a 0 K. Un 9 % menos, y es un efecto real, no ruido: hay dos causas y las dos empujan en el mismo sentido. La temperatura ablanda el cristal —a 300 K los átomos ya están explorando la parte anarmónica del pozo de potencial— y la superficie ablanda el hilo, porque un tercio de los átomos tiene menos vecinos con los que tirar. Que el número salga por debajo del valor de volumen es la comprobación de que la simulación está viendo la física del tamaño y no un artefacto: un error de sección o de referencia de longitud habría dado una desviación en cualquier dirección.

El límite elástico es 7,48 GPa a ε = 10,4 %, del orden de E/8. Ese es el orden de magnitud de la resistencia teórica de un cristal, y es lo que tiene que pasar: el hilo nace sin una sola dislocación, así que no puede deformarse plásticamente hasta que nuclea la primera, y nuclearla cuesta casi lo que cuesta romper el cristal. Ocurre en una arista de la superficie, que es el sitio con menos coordinación y más tensión local. Un 10,4 % de deformación elástica es un número que no existe en ingeniería de metales a granel; aquí sí, y es la razón por la que el límite elástico está dos órdenes de magnitud por encima del cobre recocido.

Después de ceder, la tensión se desploma y el hilo fluye hasta duplicar su longitud. La curva no vuelve a subir: una vez nucleada la primera dislocación, el mecanismo deja de costar y la plasticidad va por maclado, con las láminas azules recorriendo el hilo. Los dientes de sierra del tramo plástico son eventos individuales —cada diente es un plano que se macla—, que es algo que solo se ve con tan pocos átomos: en una muestra grande se promedian millones y la curva sale lisa. La sección se estrecha, se forma un cuello y el hilo rompe cerca de ε = 104 %.

Qué no demuestra esto

Aquí es donde un artículo de simulación se gana la credibilidad o la pierde. Cuatro límites, por orden de importancia:

La velocidad de deformación. 5·10⁹ s⁻¹ son unos catorce órdenes de magnitud más que un ensayo de tracción de laboratorio. No es una elección de pereza: es el techo de la dinámica molecular. Con pasos de 2 fs, llegar a ε = 1 a una velocidad realista pediría del orden de 10¹⁸ pasos, y no hay ordenador que haga eso. La consecuencia es concreta y hay que decirla: a esa velocidad la nucleación tiene menos tiempo para ocurrir por activación térmica, así que el límite elástico sale más alto que el que se mediría despacio, y la plasticidad queda concentrada en los pocos mecanismos que son lo bastante rápidos. Los 7,48 GPa son el límite elástico de esta simulación, no el de un nanohilo de cobre.

El tamaño. 2,9 nm de lado no es «pequeño», es extremo. A ese tamaño la fracción de superficie domina, y los resultados no se extrapolan: duplicar la sección no da el mismo módulo ni el mismo límite elástico, porque la relación superficie/volumen cambia y, a partir de cierto tamaño, vuelve a haber sitio para una red de dislocaciones. Convertir esto en algo defendible pasaría por un barrido de secciones —6 × 6, 8 × 8, 12 × 12, 16 × 16— y comprobar hacia dónde converge el módulo. El montaje lo permite (NSEC es una variable de entorno); este artículo no lo hace.

El potencial. Un EAM es una aproximación: densidad de electrones sin estructura angular. Para cobre fcc es una aproximación buena, y la tabla de validación dice que está bien aplicada, pero sigue siendo un modelo. Lo que se simula aquí es el comportamiento de ese potencial, y la vía para saber cuánto de eso es cobre es repetir el ensayo con otro potencial de cobre y ver qué sobrevive: si el límite elástico cambia un 20 % pero el mecanismo sigue siendo maclado, el mecanismo es el resultado y el número es una estimación.

La estadística. Una ejecución, una semilla de velocidades. La nucleación es un suceso raro y estocástico: la deformación exacta a la que cede el hilo y el plano concreto que se macla primero cambian de una semilla a otra. Para dar el límite elástico con una barra de error habría que repetir con varias semillas, y para que la rotura cayera siempre en el mismo sitio habría que usar la mella que la entrada ya permite.

Nada de esto quita valor al cálculo; lo encuadra. Lo que sí sostiene este trabajo es el mecanismo —hilo perfecto, nucleación en una arista a una tensión del orden de la teórica, plasticidad por maclado, cuello y rotura— y la coherencia numérica de la cadena que lo produce, que es lo que la tabla de validación certifica.

Cómo reproducirlo

Todo está en github.com/djoroya/sim-visuales, en md/nanohilo-cu/. Un solo script:

./run.sh              # validación + simulación + salidas (unos minutos)
./run.sh validacion   # solo la validación del potencial
./run.sh simulacion   # solo el ensayo de tracción
./run.sh salidas      # curva, binario y póster, reusando los volcados

Hace falta LAMMPS con los paquetes MANYBODY y OPENMP (probado con la versión del 7 de febrero de 2024) y Python 3; el script crea el entorno virtual con numpy y matplotlib la primera vez. El potencial no hay que descargarlo: Cu_mishin1.eam.alloy viene en el directorio de potenciales de LAMMPS.

Las variables de entorno útiles son HILOS (hilos de OpenMP), NSEC y NLONG (celdas de la sección y del largo), EPSMAX (deformación final) y NFRAMES (fotogramas del binario del visor). Con los valores por defecto, en un portátil son unos minutos.

Los ficheros pesados —193 volcados de trayectoria y los logs— se quedan en datos/, fuera de git. Lo que se versiona es lo reproducible: entradas de LAMMPS, scripts de Python y las salidas pequeñas.

Detalle técnicoCómo cabe una trayectoria de 193 volcados en 793 KiB, y qué descarga esta página

La trayectoria completa en el disco son cientos de megabytes de texto. Lo que llega al navegador son 793 KiB, y la mayor parte del truco no es la cuantización, es guardar incrementos entre fotogramas en lugar de posiciones absolutas. Entre dos fotogramas un átomo se mueve décimas de angstrom: números pequeños y muy repetidos, que es de lo que vive gzip. Sobre los mismos datos, 80 fotogramas de 5780 átomos:

Codificación Comprimido
posiciones absolutas uint16, planos de byte separados 2357 KiB
primer fotograma uint16 + incrementos int8 793 KiB

El paso de cuantización es 0,07 Å, 1/36 del radio atómico: lo bastante fino para que no se vea y lo bastante grueso para que ningún incremento desborde un int8. El incremento se calcula contra la posición que va a reconstruir el visor, no contra la exacta, así el error no se acumula: el máximo de reconstrucción es 0,035 Å. Y la estructura local (CNA) va en un byte por átomo y fotograma, que comprime muy bien porque casi todo es «cristal» o «superficie».

Lo que descarga de verdad quien lee esta página, medido sobre la compilación de la web y comprimido como lo sirve el servidor:

Transferido
El artículo entero (HTML + CSS) 15 KiB
Póster PNG, en el HTML y compartido por los dos visores 53 KiB
El cargador diferido, dentro del módulo de la página 1 KiB
three + el visor, nada más abrir (la animación está arriba) 122 KiB
Trayectoria .nw, una sola vez para los dos visores 793 KiB
Tiempos, deformación y curva (meta.json) 2 KiB
Subtotal: la animación de cabecera en marcha ≈ 986 KiB
La curva en SVG, al llegar hasta aquí 24 KiB
Plotly, para la curva sincronizada 369 KiB
Total habiendo leído el artículo entero ≈ 1,4 MiB
Sin WebGL (o con JavaScript desactivado): texto y pósters ≈ 92 KiB

El cargador es un IntersectionObserver de menos de 1 KB que no pide nada hasta que su figura está a 300 px de entrar en pantalla. Para el visor de aquí abajo eso pasa cuando bajas; para la animación de la cabecera, nada más abrir la página. Si el navegador no tiene WebGL no pide nada en ningún caso: se queda el póster, que ya venía en el HTML.

Y si has pedido menos movimiento en tu sistema, los dos se comportan distinto a propósito: la animación de la cabecera no llega a montarse —el póster ya es el fotograma fijo que estás pidiendo, y no tiene sentido descargar un megabyte para enseñar lo mismo—, mientras que este visor sí, porque aquí la simulación es el contenido del artículo; se monta parado, con la barra de tiempo para recorrerlo a mano.

three y Plotly son dependencias de esta web y los empaqueta el compilador: se sirven desde este dominio, sin CDN y sin terceros.


Referencia del potencial: Y. Mishin, M. J. Mehl, D. A. Papaconstantopoulos, A. F. Voter y J. D. Kress, Structural stability and lattice defects in copper: ab initio, tight-binding and embedded-atom calculations, Phys. Rev. B 63, 224106 (2001).

Etiquetas: dinámica molecular · LAMMPS · cobre · validación

← Todos los artículos