VisIt es una herramienta interactiva de código abierto para la visualización paralela y el análisis gráfico, diseñada para visualizar datos científicos. Permite visualizar campos escalares y vectoriales en mallas estructuradas y no estructuradas en 2D y 3D .
Historia
VisIt fue desarrollado por la Iniciativa de Simulación y Computación Avanzada (ASCI) del Departamento de Energía (DOE) para visualizar y analizar los resultados de simulaciones a escala de terabytes. Fue concebido como un marco para añadir funcionalidades personalizadas e implementar rápidamente nuevas tecnologías de visualización. Tras un prototipo inicial, el desarrollo de VisIt comenzó en el verano de 2000, y la versión inicial se lanzó en otoño de 2002.
VisIt cuenta con el apoyo del programa SciDAC (Scientific Discovery Through Advanced Computing) [ 3 ] del Departamento de Energía de EE. UU. para facilitar el análisis y la visualización de grandes conjuntos de datos generados mediante computación científica abierta. Se desarrolla en colaboración con diversas organizaciones, como el Laboratorio Nacional de Oak Ridge , el Laboratorio Nacional Lawrence Berkeley y la Universidad de California, Davis . Al ser de código abierto y estar publicado bajo la licencia BSD, VisIt ha recibido contribuciones de varios desarrolladores .
Resumen
VisIt es una aplicación de código abierto para conjuntos de datos simulados y experimentales a gran escala. La aplicación sirve como infraestructura para el posprocesamiento general y paralelizado de conjuntos de datos extremadamente masivos. Sus principales casos de uso incluyen la exploración de datos, el análisis comparativo, la depuración visual, el análisis cuantitativo y la presentación.
VisIt aprovecha varias bibliotecas de terceros: la biblioteca de widgets Qt para su interfaz de usuario, el lenguaje de programación Python para un intérprete de línea de comandos y la biblioteca Visualization ToolKit (VTK) para su modelo de datos y muchos de sus algoritmos de visualización. El esfuerzo específico de VisIt se ha centrado principalmente en la paralelización para grandes conjuntos de datos, la interfaz de usuario , la implementación de rutinas de análisis de datos personalizadas, el abordaje de modelos de datos no estándar (como el refinamiento de malla adaptativo (AMR) y las zonas de materiales mixtos) y la creación de un producto general robusto. Se ha portado a Windows , Mac y muchas variantes de Unix , incluyendo AIX , IRIX , Solaris , Tru64 y Linux , incluyendo puertos para Altix de SGI, XT4 de Cray y muchos clústeres comerciales .
El diseño básico se basa en un modelo cliente-servidor , donde el servidor se ejecuta en paralelo. La forma más común de servidor es un proceso independiente que lee datos de archivos. Sin embargo, existe una alternativa en la que un código de simulación puede integrarse con "lib-VisIt" y convertirse en el servidor, permitiendo la visualización y el análisis in situ .
VisIt sigue un paradigma de red de flujo de datos donde los módulos interoperables se conectan para realizar análisis personalizados. Los módulos provienen de las cinco abstracciones principales de la interfaz de usuario de VisIt. Hay veintiún "gráficos" (formas de representar datos), cuarenta y dos "operadores" (formas de manipular datos), ochenta y cinco lectores de formato de archivo, más de cincuenta "consultas" (formas de extraer información cuantitativa) y más de cien "expresiones" (formas de crear cantidades derivadas). Además, la capacidad de complementos permite la incorporación dinámica de nuevos módulos de gráficos, operadores y bases de datos. Estos complementos pueden generarse parcialmente mediante código, incluyendo incluso la generación automática de interfaces de usuario de Qt y Python .
El proyecto VisIt se originó en el Laboratorio Nacional Lawrence Livermore como parte del programa de Simulación y Computación Avanzada (ASC) de la Agencia Nacional de Seguridad Nuclear del Departamento de Energía (DOE), pero se ha convertido en un proyecto distribuido desarrollado por varios grupos.<ref< https://www.nersc.gov/assets/Uploads/13.-NERSC-NUG-Krishnan-VisIt.pdf </ref> Los principales centros del proyecto provienen de:
- VACET, [ 4 ] un centro para tecnologías habilitadoras del programa SciDAC (Descubrimiento científico a través de la computación avanzada) del DOE de su Oficina de Ciencia,
- de ASC y
- de GNEP (la Alianza Mundial para la Energía Nuclear de la Oficina de Energía Nuclear del Departamento de Energía de EE. UU.).
El proyecto cuenta con veinte desarrolladores procedentes de numerosas organizaciones y universidades, incluidos cinco laboratorios del Departamento de Energía de EE. UU.
Características
Fuente: [ 5 ]
- Admite la visualización de campos escalares , vectoriales y tensoriales . VisIt maneja datos 2D y 3D. Además, permite animar los datos, lo que permite a los usuarios visualizar su evolución temporal .
- VisIt ofrece visualización y análisis cualitativos y cuantitativos , y admite campos derivados, lo que permite calcular nuevos campos a partir de los existentes. Por ejemplo, si un conjunto de datos contiene un campo de velocidad , se puede definir un nuevo campo que represente la magnitud de la velocidad. Además, cuenta con una interfaz de consulta generalizada que permite a los usuarios consultar cantidades derivadas como el volumen o la superficie .
- Admite múltiples tipos de malla. VisIt ofrece soporte para una variedad de mallas computacionales, incluyendo puntos bidimensionales y tridimensionales, mallas rectilíneas , curvilíneas y no estructuradas . VisIt también admite mallas AMR estructuradas y mallas CSG .
- La interfaz gráfica de usuario de VisIt permite a los usuarios principiantes visualizar rápidamente sus datos e incluye funciones avanzadas para usuarios expertos. Crea automáticamente animaciones basadas en el tiempo a partir de conjuntos de datos con múltiples intervalos temporales. También cuenta con la capacidad de crear animaciones por fotogramas clave , lo que permite a los usuarios crear animaciones sofisticadas. VisIt permite a los usuarios desplazar , ampliar y rotar objetos de forma interactiva con el ratón. Además, ofrece la posibilidad de ajustar el tamaño y la posición de objetos geométricos como planos y esferas de forma interactiva.
- Arquitectura paralela y distribuida. VisIt emplea una arquitectura distribuida y paralela para gestionar conjuntos de datos extremadamente grandes de forma interactiva. Las capacidades de renderizado y procesamiento de datos de VisIt se dividen en componentes de visualización y motor que pueden distribuirse entre varias máquinas:
- El visor es responsable del renderizado y normalmente se ejecuta en un ordenador de sobremesa local o en un servidor de visualización para poder aprovechar las potentes tarjetas gráficas .
- El motor se encarga de la mayor parte del procesamiento y la entrada/salida de datos , y normalmente se ejecuta en una máquina remota donde se encuentran los datos. Esto elimina la necesidad de transferir los datos y pone a su disposición recursos de computación y E/S de alto rendimiento. El motor puede ejecutarse en serie en un solo procesador o en paralelo en miles de procesadores.
- Interfaces con C++ , Python y Java . Las interfaces de C++ y Java permiten ofrecer interfaces de usuario alternativas para VisIt o que las aplicaciones existentes de C++ o Java añadan soporte para visualización. La interfaz de scripting de Python permite a los usuarios procesar datos por lotes mediante un lenguaje de scripting. Esta función se puede utilizar para crear animaciones sofisticadas o implementar conjuntos de pruebas de regresión .
- VisIt es extensible mediante complementos de carga dinámica. Su extensibilidad se logra gracias al uso de complementos de carga dinámica . Todos los gráficos , operadores y lectores de bases de datos de VisIt se implementan como complementos y se cargan en tiempo de ejecución desde el directorio de complementos. Se pueden agregar nuevos complementos instalándolos en este directorio. VisIt incluye una herramienta gráfica para la creación de complementos, lo que simplifica el proceso.
- Los planes para los próximos lanzamientos ya están disponibles para su consulta.
Véase también
Referencias
- Software gratuito para la visualización de datos e información.
- Software de trazado gratuito
- Software de simulación gratuito
- Software que utiliza Qt
- Software que utiliza la licencia BSD.
- Software que utiliza VTK
- Software libre programado en C
- Software libre programado en C++