preCICE es una biblioteca de acoplamiento gratuita y de código abierto para simulaciones multifísicas particionadas . preCICE no está limitada a aplicaciones o herramientas específicas, sino que acopla códigos independientes capaces de simular una parte de la física completa involucrada en una simulación.
Una simulación acoplada consta de múltiples códigos de simulación que llaman a la API de preCICE y un archivo de configuración compartido que describe la configuración de la simulación. Una vez iniciada, la biblioteca preCICE establece conexiones entre los códigos de simulación individuales y coordina su progresión en el tiempo hasta que se cumple una condición final configurada. [ 6 ]
preCICE admite datos nodales en mallas no estructuradas , una amplia gama de esquemas de interpolación entre mallas no conformes y en el tiempo, esquemas implícitos con varios métodos de aceleración de convergencia y soporte para solucionadores que utilizan paralelización MPI , superponiéndose parcialmente con características ofrecidas por otras herramientas de acoplamiento. [ 7 ]
La API de preCICE está disponible en C++ , con enlaces para C y Fortran proporcionados como parte de la biblioteca. El soporte externo incluye Python , Rust , Julia y Matlab . [ 8 ]
El software se origina a partir de la interacción fluido-estructura en un contexto de computación de alto rendimiento . [ 9 ] Otras aplicaciones comunes incluyen estudios de transferencia de calor conjugada , hemodinámica , sistemas músculo-tendinosos , energía geotérmica , flujo en medios porosos y más [ 8 ] ).

Historia
Primeros años
El nombre "preCICE" ( entorno de acoplamiento de interacción de código preciso ) aparece en la literatura por primera vez en 2010. [ 1 ] preCICE es un sucesor directo de FSI*ce, desarrollado en la Universidad Técnica de Múnich , que se centró principalmente en simulaciones de interacción fluido-estructura . [ 5 ] FSI*ce fue el resultado de un proyecto de la Fundación Alemana de Investigación en el Grupo de Investigación Interacción Fluido-Estructura: Modelado, Simulación, Optimización (FOR493). [ 10 ]
preCICE v1
En mayo de 2015, el desarrollo de preCICE se trasladó a su propia organización en GitHub. La primera versión estable, la v1.0.0, de la biblioteca principal se lanzó en noviembre de 2017.
preCICE v1 incluía una variedad de esquemas de acoplamiento (explícito e implícito, subrelajación de Aitken , algoritmos de aceleración cuasi-Newton de Anderson y Broyden ), métodos de mapeo de datos ( vecino más cercano , proyección más cercana, RBF ) y métodos de comunicación ( sockets TCP/IP , puertos MPI ). [ 6 ]
El ciclo de lanzamiento de la versión 1.x incluyó lanzamientos hasta la versión 1.6.1, en septiembre de 2019.
preCICE v2
Para 2020, el proyecto preCICE experimentó un desarrollo en diferentes direcciones: una extensa refactorización y pruebas de la biblioteca principal, una gran expansión de la documentación disponible, el desarrollo de varios adaptadores nuevos y varias medidas para la creación de la comunidad. [ 8 ] Varios de estos cambios están relacionados con la aceptación de preCICE en el kit de desarrollo de software científico a gran escala (xSDK). Debido al mayor número de componentes, la distribución de preCICE se presentó como un paquete citable de componentes que funcionan conjuntamente.
El ciclo de lanzamiento de la versión 2.x incluyó versiones hasta la 2.5.1, en enero de 2024.
preCICE v3
preCICE v3.0.0 se lanzó en febrero de 2024. Los cambios notables de la v3 incluyen simplificaciones en la API y la configuración, pasos de tiempo de orden superior y multivelocidad, [ 11 ] y mapeo RBF más rápido basado en un enfoque de partición de la unidad .
En el momento del ciclo de lanzamiento v3, el proyecto se ha expandido desde apuntar principalmente al acoplamiento de superficies a apuntar también al acoplamiento de volumen (dominios superpuestos, ver métodos de descomposición de dominio ), mapeo geométrico multiescala, códigos de sistema que implementan la Interfaz de Maqueta Funcional ., [ 12 ] y simulaciones multiescala [ 13 ]
Códigos acoplados
Si bien preCICE es una biblioteca de software con una API que los programadores pueden usar para acoplar su propio código, existen varias integraciones con diversos códigos de simulación, lo que hace que preCICE sea más accesible para usuarios finales que no son principalmente programadores (como matemáticos aplicados, ingenieros mecánicos o científicos del clima).
En la terminología utilizada por preCICE, las integraciones a los códigos de simulación se denominan adaptadores [ 8 ] y pueden ser mantenidas por los desarrolladores de preCICE o por terceros.
Entre los ejemplos de códigos con los que preCICE se integra mediante adaptadores se incluyen, entre otros: [ 14 ]
La comunidad también ha acoplado [ 8 ] CAMRAD II, DLR TAU, DUST, DuMuX, Rhoxyz, Ateles, XDEM, FLEXI, MBDyn, OpenFAST, LS-DYNA y G+Smo.
Véase también
- Otras bibliotecas/marcos de acoplamiento con objetivos similares son Multiscale Universal Interface (MUI), OpenPALM (CWIPI) y MpCCI. [ 7 ]
- Simulación multifísica
- Lista de software de análisis numérico
Referencias
- 1 2 Gatzhammer, Bernhard; Mehl, Miriam; Neckel, Tobias (junio de 2010). "Un entorno de acoplamiento para simulaciones multifísicas particionadas aplicadas a escenarios de interacción fluido-estructura" . Procedia Computer Science . 1 (1). Elsevier: 681– 689. doi : 10.1016/j.procs.2010.04.073 .
- ↑ "Versión 3.4.1" . 21 de abril de 2026. Consultado el 22 de abril de 2026 .
- ↑ "Paquetes MSYS2 - Paquete: mingw-w64-x86_64-precice" . Consultado el 7 de noviembre de 2024 .
- ↑ "Repositorios Git de FreeBSD - root/science/precice/Makefile" . Consultado el 7 de noviembre de 2024 .
- 1 2 "Desarrollos de software - Cátedra de Computación Científica" . Universidad Técnica de Múnich . Consultado el 5 de noviembre de 2024 .
- 1 2 Hans-Joachim Bungartz; Florian Lindner; Bernhard Gatzhammer; Miriam Mehl; Klaudius Scheufele; Alexander Shukaev; Benjamin Uekermann (2016). "preCICE – Una biblioteca totalmente paralela para el acoplamiento de superficies multifísicas" . Computers & Fluids . 141 : 250–258 . doi : 10.1016/j.compfluid.2016.04.003 . ISSN 0045-7930 .
- 1 2 Rubin, Philippa (2022). Comparación de bibliotecas de acoplamiento de código para simulación multifísica de alto rendimiento (Informe). Consejo de Instalaciones Científicas y Tecnológicas del Reino Unido. doi : 10.5286/dltr.2022001 .
- 1 2 3 4 5 Chourdakis G.; Davis K.; Rodenberg B.; Schulte M.; Simonis F.; Uekermann B.; Abrams G.; Bungartz HJ.; Cheung Yau L.; Desai I.; Eder K.; Hertrich R.; Lindner F.; Rusch A.; Sashko D.; Schneider D.; Totounferoush A.; Volland D.; Vollmer P.; Koseomur OZ. (2022). "preCICE v2: Una biblioteca de acoplamiento sostenible y fácil de usar [ versión 2; revisión por pares: 2 aprobadas ] " . Open Research Europe . 2 (51): 51. doi : 10.12688/openreseurope.14445.2 . PMC 10446068. PMID 37645328 .
- ↑ "Más potencia informática, más problemas (¡que resolver!)" . Science Node . 9 de marzo de 2018. Archivado del original el 26 de diciembre de 2022. Consultado el 26 de diciembre de 2022 .
{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace ) - ↑ "DFG - GEPRIS - FOR 493: Interacción fluido-estructura: modelado, simulación, optimización" .
- ↑ Rüth, Benjamin; Uekermann, Benjamin; Mehl, Miriam; Birken, Philipp; Monge, Azahar; Bungartz, Hans-Joachim (2020). "Iteración de forma de onda cuasi-Newton para aplicaciones multifísicas acopladas a superficies particionadas" . International Journal for Numerical Methods in Engineering . 122 (19): 5236– 5257. doi : 10.1002/nme.6443 .
- ↑ Willeke, Leonard; Schneider, David; Uekermann, Benjamin (2023). "Un ejecutor preCICE-FMI para acoplar FMU a simulaciones basadas en EDP". En Müller, Dirk; Monti, Antonello; Benigni, Andrea (eds.). Actas de la 15.ª Conferencia Internacional Modelica . Actas electrónicas de la conferencia de Linköping.
- ↑ Desai, Ishaan; Scheurer, Erik; Bringedal, Carina; Uekermann, Benjamin (2023). "Micro Manager: un paquete de Python para acoplamiento adaptativo y flexible de dos escalas" . Journal of Open Source Software . 8 (91). The Open Journal: 5842. Bibcode : 2023JOSS....8.5842D . doi : 10.21105/joss.05842 .
- ↑ "Sitio web de preCICE - Descripción general de los adaptadores" . Consultado el 7 de noviembre de 2024 .
- Bibliotecas informáticas