Smoothed-particle hydrodynamics (SPH) es un método computacional utilizado para simular la dinámica de medios continuos como la mecánica de sólidos y los flujos de fluido. Ha sido desarrollado por Gingold y Monaghan (1977) inicialmente para problemas astrofísicos. Su uso abarca múltiples campos de investigación, incluyendo astrofísica, balística, vulcanología y oceanografía. Es un método de Lagrange (donde las coordenadas se mueven con el fluido) sin malla, y la resolución del método se puede ajustar fácilmente con respecto a variables como la densidad.
Método
El método smoothed-particle hydrodynamics (SPH) funciona dividiendo el fluido en un conjunto de elementos discretos, a los cuales se refiere como partículas. Estas partículas tienen una distancia espacial (conocida como "longitud de suavizado", típicamente representada en ecuaciones como ), sobre las cuales sus propiedades se "suavizan" mediante una función núcleo. Esto significa que la cantidad física de cualquier partícula se puede obtener sumando las propiedades relevantes de todas las partículas que se encuentran dentro del rango del núcleo.
La contribución de cada partícula a una propiedad se pondera de acuerdo con su distanciación de la partícula de interés, y su densidad. Matemáticamente, esto está definido por una función de núcleo (símbolo ). Las funciones de núcleo utilidades habitualmente incluyen la función gaussiana y la Interpolación Segmentaria Cúbica. Esta última es exactamente cero para las partículas que estén más alejadas que el doble de la distancia de suavizado (a diferencia de la gaussiana, donde hay una pequeña contribución desde cualquier distancia finita). Esto tiene la ventaja de ahorrar recursos computacionales dado a no incluir las contribuciones menos significantes de partículas distantes.
La ecuación para cualquier cantidad en cualquier punto se da mediante la ecuación
dónde es la masa de la partícula , es el valor de la cantidad para la partícula , es la densidad asociada con la partícula , denota posición y es la función de núcleo mencionada anteriormente. Por ejemplo, la densidad de la partícula () puede expresarse cómo:
donde el sumatorio de incluye todas las partículas de la simulación.
Similarmente, la derivada espacial de la cantidad puede obtenerse fácilmente en virtud de la linearidad de la derivada (nabla, ).
A pesar de que el tamaño de la longitud de suavizado puede ser fijo tanto en espacio como en tiempo, esto no se beneficia de la capacidad máxima de SPH. Asignando a cada partícula su propia distancia de suavizado y permitiéndole variar con el tiempo, la resolución de una simulación puede hacerse adaptar a sí misma dependiendo de las condiciones locales. Por ejemplo, en una región muy densa, donde muchas partículas se encuentran muy cerca entre sí, la distancia de suavizado puede ser relativamente corta, produciendo una resolución espacial alta. A la inversa, en regiones de baja densidad, donde las partículas individuales están separadas y la resolución es baja, la distancia de suavizado se puede incrementar, optimizando la computación para regiones de interés. Combinado con una ecuación de estado y un integrador, SPH puede simular flujos hidrodinámicos de forma eficiente. No obstante, la formulación de la viscosidad artificial tradicional utilizada en SPH tiende a difuminar los choques y las discontinuidades de contacto mucho más que los modelos basados en malla más modernos.
La adaptabilidad de SPH basada en métodos de Lagrange es análoga a la adaptabilidad encontrada en códigos de refinamiento de malla adaptativo basados en malla. De algunas maneras, es en realidad más sencillo porque las partículas SPH carecen de topología explícita que las interrelacione, a diferencia de los elementos en métodos de elementos finitos. La adaptabilidad en SPH se puede conseguir de dos modos; o bien cambiando las distancias de suavizado de las partículas, o bien dividiendo las partículas SPH en partículas 'hijas' con distancias de suavizado más pequeñas. El primer método es común en simulaciones astrofísicas, donde las partículas evolucionan de forma natural en estados con grandes diferencias de densidad.[1] No obstante, en simulaciones hidrodinámicas donde la densidad es habitualmente (aproximadamente) constante, esto no es un método adecuado para adaptabilidad. Por esta razón se puede utilizar la división de partículas, con varias condiciones para dividir, como distancia, superficie libre[2] o corte de material.[3]
Habitualmente, en astrofísica, uno desea modelar la autogravedad, a mayores de hidrodinámica pura. La naturaleza basada en partículas de SPH hace ideal combinar con este método otro que incluya gravedad basada en partículas, como por ejemplo una simulación en árbol,[4] malla de partículas, o particle-particle particle-mesh.
Usos en astrofísica
La resolución adaptable de SPH, conservación numérica de las cantidades físicas conservadas, y la habilidad para simular fenómenos abarcando múltiples órdenes de magnitud hacen el método ideal para cálculos computacionales en astrofísica teórica.[5]
Simulaciones de formación y evolución de las galaxias, formación estelar,[6] supernovas[7] e impactos de meteoritos son algunas de las múltiples variedades de usos astrofísicos y cosmológicos de este método.
SPH es usado para modelar flujos hidrodinámicos, incluyendo posibles efectos de gravedad. Incorporar otros procesos astrofísicos que pueden resultar importantes, tales como la teoría del transporte radiativo y campos magnéticos es un área de investigación activa en la comunidad astronómica, y ha tenido algún éxito.[8][9]
Usos en simulación de fluidos
SPH se usa cada vez más para modelar, además, fluidodinámica. Esto ocurre debido a varios beneficios sobre las técnicas tradicionales basadas en malla. En primer lugar, SPH garantiza la conservación de la masa sin esfuerzo computacional adicional, ya que las partículas representan ellas mismas la masa. En segundo lugar, SPH computa la presión de contribuciones ponderadas de las partículas vecinas, en vez de resolver sistemas lineales de ecuaciones. Finalmente, y a diferencia de las técnicas basadas en malla, que deben realizar un seguimiento de los contornos fluidos, SPH crea una superficie libre directamente para la interacción de dos fases de fluido, ya que las partículas representan el fluido más denso (habitualmente agua) y el espacio vacío representa el fluido más ligero (habitualmente aire). Por estas razones es posible simular dinámica de fluidos utilizando SPH a tiempo real. Desde el punto de vista de la animación, ambos modelos basados en malla y técnicas SPH requieren de la generación de una superficie libre renderizable para poder hacer visualizaciones de calidad, utilizando técnicas de poligonización como metaball o cubos de marcha, Splatting, o un plano de interpolación. Para dinámicas de gas es más apropiado utilizar la función núcleo para producir un renderizado de la densidad de columnas de gas.
Una de las desventajas con respecto a técnicas basadas en malla es la necesidad de un alto número de partículas para producir simulaciones de resolución equivalente. En la implementación habitual de ambas técnicas, cuadrícula cartesiana y partículas SPH, múltiples vóxeles o partículas se utilizan para rellenar volúmenes de agua que luego en la visualización no son renderizados. La precisión puede ser significativamente superior con técnicas sofisticadas basadas en malla, especialmente aquellas utilizadas conjuntamente con métodos de partículas, dado que es más fácil imponer condiciones de flujo incompresible en estos sistemas. El uso de SPH para simulación de fluidos se utiliza cada vez más en animación a tiempo real y videojuegos, donde la precisión no es tan crítica como la interactividad, o en modelos físicos en los que intervengan procesos complejos difíciles de simular con modelos de malla.
Trabajos recientes de SPH para la simulación de fluidos han conseguido aumentar el rendimiento, precisión y áreas de aplicación del mismo:
- B. Solenthaler, 2009, desarrolla Predictive-Corrective SPH (PCISPH) para permitir mejores restricciones de incompresibilidad[10]
- M. Ihmsen et al., 2010, introduce el manejo de contornos y pasos de tiempo adaptables para PCISPH, para interacciones en cuerpos rígidos más precisas.[11]
- K. Bodin et al., 2011, reemplaza la ecuación de estado de presión estándar con una restricción de densidad, y aplica un integrador de tiempo variacional.[12]
- R. Hoetzlein, 2012, desarrolla un método SPH eficiente basado en GPU para grandes escenas en Fluids v.3[13]
- N. Akinci et al., 2012, introduce un manejo de contorno versátil y una técnica de acoplado bidireccional para cuerpos rígidos SPH, basada completamente en fuerzas hidrodinámicas. Este acercamiento es aplicable a diferentes tipos de simuladores SPH.[14]
- M. Macklin et al., 2013 simula flujos incompresibles dentro del framework Position Based Dynamics, para saltos temporales mayores.[15]
- N. Akinci et al., 2013, introduce una tensión de superficie versátil y una técnica de adhesión bidireccional que permite simular una variedad de efectos físicos interesantes que se observan en la realidad.[16]
- J. Kyle and E. Terrell, 2013, SPH aplicado a lubricación total[17]
- A. Mahdavi and N. Talebbeydokhti, 2015, propone un algoritmo híbrido para la implementación de condiciones de contorno para sólidos y simula flujo sobre un vertedero con una cresta afilada.[18]
- S. Tavakkol et al., 2016, desarrolla curvSPH, el cual hace los tamaños horizontales y verticales de las partículas independientes y genera una distribución de masa uniforme a través de contornos curvos.[19]
Usos en mecánica de sólidos
En 1990, Libersky y Petschek[20][21] han extendido SPH a la mecánica de sólidos.
La principal ventaja de SPH es la posibilidad de trabajar con una distorsión local mayor que con los métodos basados en malla. Esta funcionalidad ha sido explotada en múltiples aplicaciones en mecánica de sólidos: formación metálica, impacto, crecimiento de fallas, fracturación, fragmentación, etc. Otra ventaja importante de métodos sin malla, en general, y SPH en particular, es que los problemas derivados de la dependencia de malla se evitan de forma natural dada la naturaleza sin malla de este método. En particular, el alineamiento de malla está relacionado con problemas que implican fallas, y se evita en SPH debido al soporte isotrópico de las funciones núcleo. No obstante, las formulaciones SPH clásicas sufren de inestabilidades de tensión[22] y falta de consistencia.[23] A través de los últimos años, han sido introducidas diferentes correcciones para mejorar la precisión de la solución SPH. Este es el caso de Liu et al.,[24], Randles y Libersky[25] y Johnson y Beissel,[26] que han intentado solucionar los problemas de consistencia. Dyka et al.[27][28] y Randles y Libersky[29] ha introducido la integración de puntos de estrés en SPH y Belytschko et al.[30] mostró más tarde que la técnica de puntos de estrés elimina la inestabilidad debido a modos singulares espurios mientras que las inestabilidades de tensión pueden evitarse utilizando un kernel de Lagrange. Muchos otros estudios recientes pueden encontrarse en la literatura dedicada a mejorar la convergencia del método SPH.
Referencias
- ↑ J. Michael Owen; Jens V. Villumsen; Paul R. Shapiro; Hugo Martel (1998). «Adaptive Smoothed Particle Hydrodynamics: Methodology II». The Astrophysical Journal Supplement Series 2 (116). Bibcode:1998ApJS..116..155O. arXiv:astro-ph/9512078. doi:10.1086/313100.
- ↑ Yan, H.; Wang, Z.; He, J.; Chen, X.; Wang, C.; Peng, Q. (2009). «Real-time fluid simulation with adaptive SPH». Computer Animation and Virtual Worlds. 2 - 3 (30). doi:10.1002/cav.300.
- ↑ Liu, M. B.; Liu, G. R.; Lam, K. Y. (2006). «Adaptive smoothed particle hydrodynamics for high strain hydrodynamics with material strength». Shock Waves 1 (15): 21-29. Bibcode:2006ShWav..15...21L. doi:10.1007/s00193-005-0002-1. Consultado el 1 de febrero de 2017.
- ↑ Marios D. Dikaiakos; Joachim Stadel. PKDGRAV The Parallel k-D Tree Gravity Code. Archivado desde el original el 3 de marzo de 2016. Consultado el 1 de febrero de 2017.
- ↑ https://arxiv.org/abs/0903.5075
- ↑ Rosswog, Stephan (2015). «SPH Methods in the Modelling of Compact Objects». Living Rev Comput Astrophys 1 (1). Bibcode:2015LRCA....1....1R. arXiv:1406.4224. doi:10.1007/lrca-2015-1.
- ↑ https://arxiv.org/abs/astro-ph/0512532
- ↑ http://www.astro.ex.ac.uk/people/mbate/Cluster/clusterRT.html
- ↑ http://users.monash.edu.au/~dprice/pubs/spmhd/price-spmhd.pdf
- ↑ Solenthaler (2009). Predictive-Corrective Incompressible SPH.
- ↑ Imhsen (2010). «Boundary handling and adaptive time-stepping for PCISPH». Workshop on Virtual Reality Interaction and Physical Simulation VRIPHYS.
- ↑ Bodin (2011). «Constraint Fluids. http://www.physics.umu.se/english/research/statistical-physics-and-networks/complex-mechanical-systems/fluids-and-solids/». IEEE Transactions on Visualization and Computer Graphics.
- ↑ Hoetzlein (2012). Fluids v.3, A Large scale, Open Source Fluid Simulator. http://fluids3.com.
- ↑ Akinci (2012). «Versatile Rigid-Fluid Coupling for Incompressible SPH http://www.nadir.tk/research». ACM TOG, SIGGRAPH proceedings.
- ↑ Macklin (2013). «Position Based Fluids http://blog.mmacklin.com/publications». ACM TOG, SIGGRAPH proceedings.
- ↑ Akinci (2013). «Versatile Surface Tension and Adhesion for SPH Fluids SPH http://www.nadir.tk/research». ACM TOG, SIGGRAPH proceedings.
- ↑ Journal of Tribology (2013). Application of Smoothed Particle Hydrodynamics to Full-Film Lubrication.
- ↑ Mahdavi and Talebbeydokhti (2015). «A hybrid solid boundary treatment algorithm for smoothed particle hydrodynamics https://www.researchgate.net/publication/282870566_A_hybrid_solid_boundary_treatment_algorithm_for_smoothed_particle_hydrodynamics». Scientia Iranica, Transaction A, Civil Engineering 22 (4): 1457-1469.
- ↑ International Journal for Numerical Methods in Fluids (2016). Curvilinear smoothed particle hydrodynamics.
- ↑ Libersky, L.D.; Petschek, A.G. (1990). «Smooth Particle Hydrodynamics with Strength of Materials, Advances in the Free Lagrange Method». Lecture Notes in Physics 395: 248-257. doi:10.1007/3-540-54960-9_58.
- ↑ L.D. Libersky; A.G. Petschek; A.G. Carney; T.C. Hipp; J.R. Allahdadi; F.A. High (1993). «Strain Lagrangian hydrodynamics: a three-dimensional SPH code for dynamic material response». J. Comput. Phys. 109: 67-75. Bibcode:1993JCoPh.109...67L. doi:10.1006/jcph.1993.1199.
- ↑ J.W. Swegle; D.A. Hicks; S.W. Attaway (1995). «Smooth particle hydrodynamics stability analysis». J. Comput. Phys. 116: 123-134. Bibcode:1995JCoPh.116..123S. doi:10.1006/jcph.1995.1010.
- ↑ T. Belytschko; Y. Krongauz; J. Dolbow; C. Gerlach (1998). «On the completeness of meshfree particle methods». Int. J. Numer. Methods Eng. 43: 785-819. Bibcode:1998IJNME..43..785B. doi:10.1002/(sici)1097-0207(19981115)43:5<785::aid-nme420>3.0.co;2-9.
- ↑ W.K. Liu; S. Jun; Y.F. Zhang (1995). «Reproducing kernel particle methods». Int. J. Numer. Methods Eng. 20 (8–9): 1081-1106. Bibcode:1995IJNMF..20.1081L. doi:10.1002/fld.1650200824.
- ↑ P.W. Randles; L.D. Libersky (1997). «Recent improvements in SPH modelling of hypervelocity impact». Int. J. Impact Eng. 20: 525-532. doi:10.1016/s0734-743x(97)87441-6.
- ↑ G.R. Johnson; S.R. Beissel (1996). «Normalized smoothing functions for SPH impact computations». Int. J. Numer. Methods Eng. 39: 2725-2741. Bibcode:1996IJNME..39.2725J. doi:10.1002/(sici)1097-0207(19960830)39:16<2725::aid-nme973>3.0.co;2-9.
- ↑ C.T. Dyka; R.P. Ingel (1995). «An approach for tension instability in Smoothed Particle Hydrodynamics». Comput. Struct. 57: 573-580. doi:10.1016/0045-7949(95)00059-p.
- ↑ C.T. Dyka; P.W. Randles; R.P. Ingel (1997). «Stress points for tension instability in SPH». Int. J. Numer. Methods Eng. 40: 2325-2341. Bibcode:1997IJNME..40.2325D. doi:10.1002/(sici)1097-0207(19970715)40:13<2325::aid-nme161>3.0.co;2-8.
- ↑ P.W. Randles; L.D. Libersky (2000). «Normalized SPH with stress points». Int. J. Numer. Methods Eng. 48: 1445-1462. Bibcode:2000IJNME..48.1445R. doi:10.1002/1097-0207(20000810)48:10<1445::aid-nme831>3.0.co;2-9.
- ↑ T. Belytschko; Y. Guo; W.K. Liu; S.P. Xiao (2000). «A unified stability analysis of meshless particle methods». Int. J. Numer. Methods Eng. 48: 1359-1400. Bibcode:2000IJNME..48.1359B. doi:10.1002/1097-0207(20000730)48:9<1359::aid-nme829>3.0.co;2-u.
Bibliografía
- [1] R.A. Gingold and J.J. Monaghan, "Smoothed particle hydrodynamics: theory and application to non-spherical stars," Mon. Not. R. Astron. Soc., Vol 181, pp. 375–89, 1977.
- [2] L.B. Lucy, "A numerical approach to the testing of the fission hypothesis," Astron. J., Vol 82, pp. 1013–1024, 1977.
- [3] Hoover, W. G. (2006). Smooth Particle Applied Mechanics: The State of the Art, World Scientific.
- [4] Impact Modelling with SPH Stellingwerf, R. F., Wingate, C. A., Memorie della Societa Astronomia Italiana, Vol. 65, p. 1117 (1994).
- [5] Amada, T., Imura, M., Yasumuro, Y., Manabe, Y. and Chihara, K. (2004) Particle-based fluid simulation on GPU, in proceedings of ACM Workshop on General-purpose Computing on Graphics Processors (August, 2004, Los Angeles, California).
- [6] Desbrun, M. and Cani, M-P. (1996). Smoothed Particles: a new paradigm for animating highly deformable bodies. In Proceedings of Eurographics Workshop on Computer Animation and Simulation (August 1996, Poitiers, France).
- [7] Harada, T., Koshizuka, S. and Kawaguchi, Y. Smoothed Particle Hydrodynamics on GPUs. In Proceedings of Computer Graphics International (June 2007, Petropolis Brazil).
- [8] Hegeman, K., Carr, N.A. and Miller, G.S.P. Particle-based fluid simulation on the GPU. In Proceedings of International Conference on Computational Science (Reading, UK, May 2006). Proceedings published as Lecture Notes in Computer Science v. 3994/2006 (Springer-Verlag).
- [9] M. Kelager. (2006) Lagrangian Fluid Dynamics Using Smoothed Particle Hydrodynamics, M. Kelagar (MS Thesis, Univ. Copenhagen).
- [10] Kolb, A. and Cuntz, N. (2005) ] Dynamic particle coupling for GPU-based fluid simulation, A. Kolb and N. Cuntz. In Proceedings of the 18th Symposium on Simulation Techniques (2005) pp. 722–727.
- [11] Liu, G.R. and Liu, M.B. Smoothed Particle Hydrodynamics: a meshfree particle method. Singapore: World Scientific (2003).
- [12] Monaghan, J.J. (1992). Smoothed Particle Hydrodynamics. Annu. Rev. Astron. Astrophys. (1992). 30 : 543-74.
- [13] Muller, M., Charypar, D. and Gross, M. ] Particle-based Fluid Simulation for Interactive Applications, In Proceedings of Eurographics/SIGGRAPH Symposium on Computer Animation (2003), eds. D. Breen and M. Lin.
- [14] Vesterlund, M. Simulation and Rendering of a Viscous Fluid Using Smoothed Particle Hydrodynamics, (MS Thesis, Umea University, Sweden).
- [15] Violeau, D., Fluid Mechanics and the SPH method. Oxford University Press (2012).
Enlaces externos
- Primera gran simulación de formación de estrellas, usando SPH
- SPHERIC (SPH European Research Interest Community)
- ITVO es la web del Italian Theoretical Virtual Observatory creada para ser una base de datos de simulacioens numéricas.
- SPHC Image Gallery representa una amplia variedad de casos de prueba, validaciones experimentales y aplicaciones comerciales de del código SPH, SPHC.
- Una derivación de modelo SPH partiendo de las ecuaciones de Navier-Stokes
Software
- Algodoo es un framework de simulación 2D educacional, utilizando SPH
- pysph Framework de código abierto para SPH en Python
- DualSPHysics Software de código abierto basado en SPHysics que utiliza computación en GPU
- Fluidix es un API de simulación de partículas basado en GPU disponible de OneZero Software
- FLUIDS v.1 Archivado el 13 de junio de 2009 en Wayback Machine. es una implementación simple a tiempo real en 3D de SPH para líquidos, tanto para CPU como GPU
- GADGET Es un código disponible gratuitamente para simulaciones SPH/N-Body cosmológicas.
- GPUSPH Simulador SPH con viscosidad
- SimPARTIX Es un paquete comercial para simulación (SMH y DEM), de Fraunhofer IWM.
- SPLASH es una herramienta de visualización de código abierto para simulaciones SPH
- SPH-flow Archivado el 24 de octubre de 2011 en Wayback Machine.
- SPHysics es una implementación de código abierto de SPH en Fortran
- SYMPLER: Un simulador de partículas gratuito de la Universidad de Freiburg.
- Physics Abstraction Layer es un sistema de abstracción de código abierto que soporta motóres físicos a tiempo real que soportan SPH
- Pasimodo es un paquete de software para simulaciones basadas en partículas, como SPH
- Punto es una utilidad gratuita de visualización para simulaciones de partículas
- AQUAgpusph es un software de simulación basado en SPH, utilizando openGL