Python en el desarrollo de la computación científica – caso de aplicación: cálculo del componente toroidal del flujo de un fluido incompresible en coordenadas esféricas
Contenido principal del artículo
Resumen
La computación científica se ha convertido en una de las principales herramientas para el desarrollo de la ciencia actual, convirtiéndose en una necesidad su aprendizaje y utilización. A pesar de esto, no todos los científicos son expertos programadores y sus investigaciones puede verse afectadas por esta limitante computacional. En este escenario, Python aparece como un lenguaje de programación de alto rendimiento, versátil, “open source” y de fácil aprendizaje y uso. El objetivo de este estudio es mostrar el uso de Python para el desarrollo de un código que permita el cálculo del componente toroidal del flujo de un fluido incompresible en coordenadas esféricas. Para esto se usaron librerías de Python especializadas en la solución de sistemas lineares en 2D, logrando un código simple y elegante que consigue hacer los cálculos necesarios con un nivel de error casi insignificante en un tiempo de procesamiento muy corto. Por su simplicidad, esta codificación puede ser bastante útil para procesos complejos como dinamos planetarios o flujos de aire en la atmósfera.
Descargas
Detalles del artículo
Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial 4.0.
Los miembros que conforman el Comité Editorial de la Revista Científica ECOCIENCIA, realizan una labor transparente en los diferentes procesos de gestión de la misma garantizando la elevada calidad de cada uno de los artículos que quedan publicados a disposición de la comunidad académica y científica. Dicho Comité verifica que cada artículo enviado por su autor/es, carezca de plagio y para ello se emplea el software antiplagio COMPILATIO.
El reporte que URKUND envía como respuesta al editor evaluador, permite que este pueda visualizar si ha habido similitudes o plagio (en su defecto) lo cual comúnmente sucede por errores en la forma de citar o referenciar por parte del autor del artículo. Igualmente, el evaluador gracias al reporte de URKUND, puede visualizar de cuáles fuentes o documentos originales ha incurrido en plagio el autor del trabajo. Una vez que sea constatada la ausencia de plagio en cada artículo, se da inicio al proceso de revisión por parte de los pares ciegos. Si se detecta plagio en el artículo, automáticamente este es rechazado y se notifica el veredicto al autor/es.
Cuando un artículo es aprobado, el/los autor/es conservan los derechos de autor y cede(n) a la Revista Científica ECOCIENCIA, el derecho de ser la primera que pueda editarlo, reproducirlo, exhibirlo y comunicarlo mediante medios impresos y electrónicos.
La Revista Científica ECOCIENCIA opera bajo una bajo una licencia Creative Commons Reconocimiento-No Comercial 4.0 Internacional (CC-BY-NC 4.0).
BY: la dirección de la revista, así como el Comité Editorial, tienen atribución para compartir, copiar y redistribuir el material de la revista en cualquier medio o formato, así como adaptar, remezclar y transformar las secciones de la revista no causando alteración en el contenido de los artículos publicados o previo a publicar por parte de los autores.
NC: el material de la revista no puede ser manejado con fines comerciales por lo cual ninguna de sus secciones ni artículos publicados por los autores, está disponible para la venta o actividad comercial.
Se autoriza la reproducción, parcial o total, de los artículos publicados en la Revista Científica ECOCIENCIA, siempre que se cite apropiadamente la fuente y se use sin propósitos comerciales.
Citas
Chandrasekhar, S. (1961). Hydrodynamic and hydromagnetic stability. International Series of Monographs on Physics. Oxford: Clarendon.
See discussion on page 622.
Gubbins, D., Roberts, P. H., (1987), “Magnetohydrodynamics of the Earth’s core”. In: A, J. (Ed.), Geomagnetism, v. 2, Academic Press, pp. 1–183, London.
Hector, B., & Hinderer, J. (2016). pyGrav, a Python-based program for handling and processing relative gravity data. Computers & geosciences, 91, 90-97.
Hole, M. J., & Appel, L. C. (2007). Fourier decomposition of magnetic perturbations in toroidal plasmas using singular value decomposition.
Plasma Physics and Controlled Fusion, 49(12), 1971.
Krieger, L., & Peacock, J. R. (2014). MTpy: A Python toolbox for magnetotellurics. Computers & geosciences, 72, 167-175.
Lehmann, L. T., Jardine, M. M., Vidotto, A. A., Mackay, D. H., See, V., Donati, J. F., ... & Petit, P. (2016). The energy budget of stellar magnetic fields: comparing nonpotential simulations and observations. Monthly Notices of the Royal Astronomical Society: Letters, 466(1), L24-L28.
Lin, J. W. (2012). "Why Python Is the Next Wave in Earth Sciences Computing." Bulletin of the American Meteorological Society, 93(12), pp. 1823–1824.
Morley, S. K., Welling, D. T., Koller, J., Larsen, B. A., & Henderson, M. G. (2010).
Spacepy-A Python-based library of tools for the space sciences (No. LA-UR-1004308; LA-UR-10-4308). Los Alamos National Lab. (LANL), Los Alamos,
NM (United States). K.W. Morton y D.F. Mayers, Numerical Solution of Partial Differential Equations, An Introduction. Cambridge University Press, 2005.
Oliphant, T. E. (2007). "Python for Scientific Computing," in Computing in Science & Engineering, vol. 9, no. 3, pp. 10-20, doi: 10.1109/MCSE.2007.58
Peng, R. D. (2011). Reproducible Research in Computational Science. Science 334, Issue 6060, pp. 1226-1227 DOI: 10.1126/science.1213847
Peña, D., Amit, H., & Pinheiro, K. J. (2016). Magnetic field stretching at the top of the shell of numerical dynamos. Earth, Planets and Space, 68(1), 78.
Peña, D. A. (2017). Magnetic field stretching at the top of the Earth’s core. (Tesis de Doctorado). Observatório Nacional ON/MCTIC, Rio de Janeiro, Brasil
Peña, D., Amit, H., & Pinheiro, K. J. (2018). Deep magnetic field stretching in numerical dynamos. Progress in Earth and Planetary Science, 5(1), 8.
Perez, F., B. E. Granger, and J. D. Hunter. (2011). "Python: An Ecosystem for Scientific Computing." Computing in Science & Engineering, vol. 13, no. 2, pp. 13-21.
Rücker, C., Günther, T., & Wagner, F. M. (2017). pyGIMLi: An open-source library for modelling and inversion in geophysics.
Computers & Geosciences, 109, 106-123.
Sáenz, J., Zubillaga, J., & Fernández, J. (2002). Geophysical data analysis using Python. Computers & geosciences, 28(4), 457-465.
Shikuo, L., & Shida, L. (1997). Toroidal-Poloidal Decomposition and Beltrami Flows in Atmosphere Motions [J]. SCIENTIA ATMOSPHERICA SINICA, 2.
Uieda, L., V. C. Oliveira Jr., A. Ferreira, H. B. Santos, and J. F. Caparica Jr., 2014, Fatiando a Terra: A Python package for modeling and inversion in geophysics:
figshare, http://dx.doi. org/10.6084/m9.figshare.1115194.
Uieda, L. (2018). Verde: Processing and gridding spatial data using Green's functions. Journal of Open Source Software, 3(29), 957. doi:10.21105/joss.00957
Wassermann, J. M., Krischer, L., Megies, T., Barsch, R., & Beyreuther, M. (2013, December). Obspy: A python toolbox for seismology. In AGU Fall Meeting Abstracts.
Weiss, C. J. (2017) Scientific Computing for Chemists: An Undergraduate Course in Simulations, Data Processing, and Visualization. Journal of Chemical Education. 94 (5), 592-597. DOI: 10.1021/acs.jchemed.7b00078
Werthmüller, D. (2017). An open-source full 3D electromagnetic modeler for 1D VTI media in Python: empymod. Geophysics, 82(6), WB9-WB19.