xtalgrowth es una aplicación X que simula el crecimiento de cristales de esferas duras en dos dimensiones (discos duros en dos dimensiones). Si ejecutamos xtalgrowth, una ventana se abre, esferas duras se caen de azar posiciones, y ellas pillan en el fondo de la ventana. Finalmente, xtalgrowth va a escribir un resultado en un archivo de PostScript en STDOUT (salida estándar) en una certificación (Fig.1). Podemos ajustar las condiciones de crecimiento con las opciones de línea de comandos. xtalgrowth es adecuado para una demostración de simulación de la ciencia de materiales en museos o en campus abiertos. xtalgrowth es un software libre.
Uso de xtalgrowth:
$ xtalgrowth --help $ xtalgrowth -d 0.033 -c 3 $ xtalgrowth -d 0.033 -c 2 $ xtalgrowth -d 0.015 -c 1 $ xtalgrowth -g 'Mr. Takeshi Nishimatsu' | lpr
Ponga certification.eps en el directorio actual para obtener una carta de certificación. certification.eps será utilizado como título de la carta de certificación. El nombre dado con la opción -g y la fecha de hoy también estará en la carta de certificación.
Si su impresora no puede imprimir correctamente la carta de certificación, canalizarla a través de gs comando:
$ xtalgrowth [OPTIONS...] | gs -q -sDEVICE=pswrite -sOutputFile=- -dNOPAUSE -dBATCH - | lpr
Si su Max OS X no puede imprimir correctamente la carta de certificación, Utilice lpr con la opción -l:
$ xtalgrowth [OPTIONS...] | lpr -l
Sitio web de xtalgrowth es http://loto.sourceforge.net/xtalgrowth/ . El paquete (xtalgrowth-X.Y.Z.tar.gz) puede ser descargado desde http://sourceforge.net/projects/loto/files/xtalgrowth/ .
Los requisitos son
Si tiene todos ellos, puede generar src/xtalgrowth con
$ tar xf xtalgrowth-X.Y.Z.tar.gz $ cd xtalgrowth-X.Y.Z $ ./configure $ make
Pruebe el ejecutable
$ cd src $ ./xtalgrowth --help $ ./xtalgrowth
Si desea instalar xtalgrowth en /usr/local/bin/xtalgrowth,
$ sudo make install $ make installcheck
Para macOS en el que se instala XQuartz y/o popt via MacPorsts, utilizar
$ ./configure CPPFLAGS=-I/opt/X11/include LDFLAGS=-L/opt/X11/lib $ ./configure CPPFLAGS='-I/opt/X11/include -I/opt/local/include' LDFLAGS='-L/opt/X11/lib -L/opt/local/lib'
para configurar CPPFLAGS y LDFLAGS.
La condición de frontera periódica se utiliza para la dirección horizontal (la x-dirección). La detección de colisiones de esferas duras es rugosa. Esta rugosidad numerigal resulta de defectos de los cristales.
Se parte de un sustrato de periódico. Si el diámetro es apretado, no obtendrá un apilado perfecto:
$ xtalgrowth -d 0.033333
Puede dar el diámetro de las esferas duras con ración para el ancho del cuadro. Diámetro suelto y velocidad lenta en la caída resultado perfecto apilamiento:
$ xtalgrowth -d 0.033 -v 0.0001
Puede cambiar criterio de apilamiento con opción -c 3 a 1. Si -c 3, esferas duras deja de caer cuando toca 3 otros duras.
$ xtalgrowth -d 0.033 -c 3
Si -c 2, esferas duras deja de caer cuando toca 2 otros duras. Los defectos se incluirán en el cristal.
$ xtalgrowth -d 0.033 -c 2
Si -c 1, obtendrá estructuras fractales (Véase la referencia [1]):
$ xtalgrowth -d 0.01 -c 1
Nombre del huésped dado con la opción -g se utiliza en el archivo PostScript de certificación carta de STDOUT. La cadena dada con la opción -g es también utiliza para generar dos números enteros positivos por hashpjw.c. Usando los dos enteros como las semillas, uni64.c generate números pseudoaleatorios (Véase la referencia [4,5]):
$ xtalgrowth -g 'Mr. Takeshi Nishimatsu' > takeshi.ps
Obtendrá un mensaje de ayuda con un "--help" opción
$ xtalgrowth --help
si ha compilado xtalgrowth con las librerías popt.
Muestra este programa con los modelos reales como Fig.3 y Fig.4.
[1] Jean-François Gouyet, Michel Rosso and Bernard Sapoval: "Fractal surfaces and interfaces" in the book of "Fractals and disordered systems" edited by Armin Bunde and Shlomo Havlin, pp. 229-261 (1991), ISBN:0-387-54070-9, Springer-Verlag New York.
[2] Lawrence Bragg and J. F. Nye: "A Dynamical Model of a Crystal Structure", Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, Vol. 190, No. 1023, pp. 474-481 (Sep. 9, 1947). You can get a free PDF of this article from doi:10.1098/rspa.1947.0089.
[3] Lawrence Bragg and W. M. Lomer: "A Dynamical Model of a Crystal Structure. II", Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, Vol. 196, No. 1045, pp. 171-181 (Mar. 22, 1949). You can get a free PDF of this article from doi:10.1098/rspa.1949.0022.
[4] Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman: "Compilers: Principles, Techniques, and Tools" (1986), ISBN:0-201-10088-6, Addison Wesley, a.k.a. the Dragon Book.
[5] George Marsaglia and Wai Wan Tsang: "The 64-bit universal RNG", Statistics & Probability Letters, Vol. 66, pp. 183-187 (15 January 2004), doi:10.1016/j.spl.2003.11.001. Note that a part of code in the bottom of p.186, "y=(8888*x)%65579;" should be replaced by "y=(8888*y)%65579;". Consequently, 5 values of "The correct output" in p.187 are incorrect. See http://sci4um.com/about16220-asc.html .
https://github.com/t-nissie/xtalgrowth es el repositorio de source code de xtalgrowth. Por ejemplo, puede editar este documento y crear una "pull request" vía https://github.com/t-nissie/xtalgrowth/blob/master/index.es.html .
Autor: Takeshi Nishimatsu (t_nissie{at}yahoo.co.jp)
Copyright © 2009-2024 by Takeshi Nishimatsu
xtalgrowth se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA. Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU (the GNU General Public License, "GPL") según es publicada por la Free Software Foundation. Véase COPYING.
Las desarrolladoras necesitan Autotools.
Las desarrolladoras pueden:
$ git clone https://github.com/t-nissie/xtalgrowth.git $ cd xtalgrowth $ autoreconf -v $ automake --add-missing $ autoreconf -v ###*### $ ./configure $ make -j9 # Do development. $ make check # Do some tests. $ make distclean # Clean up Makefile, etc. $ ./configure $ make distcheck # Check and make a distribution package, xtalgrowth-X.Y.Z.tar.gz. # Give options in DISTCHECK_CONFIGURE_FLAGS. $ make clean $ cmake -G Ninja . # You can also use CMake. $ cmake -LA . $ ninja $ ninja test
http://loto.sourceforge.net/xtalgrowth/ es presentado por .