You are currently browsing the tag archive for the ‘VisIt’ tag.

Hace tiempo que no escribo nada pues estoy intentando terminar un programa que ya va tocando…

Para que no se diga, añado a continuación una imagen que he obtenido hace un momento, y que me ha hecho gracia, cuando pintaba el error entre la solución analítica de un problema de Poisson tridimensional y mi solución aproximada.

caraError

Se diría que estoy diseñando la cabeza de un nuevo personaje de animación, ¿no?

:mrgreen:

¿Qué tenemos que hacer para visualizar localmente datos compatibles con VisIt que tenemos en algun host? Para empezar, necesitamos tener la misma versión de VisIt instalada tanto local como remotamente. En segundo lugar, necesitamos crear un New Host en Options->Host profiles... y configurar, básicamente, el Remote host name y el Username (nombre completo de la máquina y nuestro usuario en ella) en la pestaña Host Settings, y un New Profile en la de Launch Profiles con las opciones por defecto.
Un detalle muy importante es que en el campo Path to VisIt installation, en el caso de tener un Mac, lo que necesita es:

/Applications/VisIt.app/Contents/Resources/

Finalmente, tanto para abrir fichero locales como remotos, le daremos a Open y seleccionaremos el localhost o el nuevo host configurado.

A continuación nuestra primera animación creada con VisIt a partir de ficheros silo generados a partir de llamadas a métodos de nuestras primeras clases.

Temporalmente, aunque es mejor utilizar nuestras partículas simplemente como nodos de interpolación a la hora de visualizar, las mostraremos como puntos.

A partir de este momento, podremos tener una referencia visual de nuestras partículas que nos ayudará mucho a la hora de evaluar como de bien estamos haciendo las cosas.

Sin mas dilación, nuestra minianimación:

No es mas que un conjunto de mil partículas desplazandose sobre un cilindro. La animación consta de 100 ficheros .silo y hemos generado el mpeg con el wizard de VisIt.

Ya dedicamos un post a VisIt. En el creamos una animación a partir de un conjunto de ficheros existentes.

¿Como generamos ficheros .silo desde nuestro código? En primer lugar, necesitamos tener las librerias correspondientes, que las podemos conseguir ejecutando:

./build_visit --console --no-visit --no-thirdparty  --thirdparty-path /usr/local --silo --hdf5 --szip

desde el terminal, y donde build_visit es un fichero que podemos conseguir aqui.

A continuación, necesitamos incluir la libreria <silo.h> en nuestro fichero y añadir:

PLATFORM=i386-apple-darwin10_gcc-4.2

SZIP_DIR=/usr/local/szip/2.1/$(PLATFORM)
SZIP_CPPFLAGS=-I$(SZIP_DIR)/include
SZIP_LDFLAGS=-L$(SZIP_DIR)/lib
SZIP_LIBS=-lsz

HDF5_DIR=/usr/local/hdf5/1.8.4/$(PLATFORM)
HDF5_CPPFLAGS=-I$(HDF5_DIR)/include $(SZIP_CPPFLAGS)
HDF5_LDFLAGS=-L$(HDF5_DIR)/lib $(SZIP_LDFLAGS)
HDF5_LIBS=-lhdf5 $(SZIP_LIBS) -lz

SILO_DIR=/usr/local/silo/4.6.2/$(PLATFORM)
SILO_CPPFLAGS=-I$(SILO_DIR)/include $(HDF5_CPPFLAGS)
SILO_LDFLAGS=-L$(SILO_DIR)/lib $(HDF5_LDFLAGS)
SILO_LIBS=-lsiloh5 $(HDF5_LIBS) -lm

LDFLAGS=$(LDFLAGS) $(SILO_LDFLAGS)
LIBS=$(SILO_LIBS)
CPPFLAGS=$(CPPFLAGS) $(SILO_CPPFLAGS)

a nuestro Makefile

VisIt es una herramienta open source que nos permite visualizar y analizar conjuntos de datos extremadamente grandes, del orden de tera y peta, en multiples plataformas. Podemos visualizar rápidamente nuestros datos, animarlos, manipularlos y almacenar los resultados obtenidos.

Algunas características interesantes son:

  • Tipos estandar de gráficos: Curve plot, Mesh plot, Contour plot, Surface plot, Vector plot,  Tensor plot, Volume plot, etc.
  • Podemos trabajar en 1D, 2D, 3D y variando en tiempo.
  • Permite definir diferentes tipos de mallas: rectilineas, curvilineas, desestructuradas, puntuales y AMR (Adaptive Mesh Refinement), etc.
  • Manipulación de datos (slicing, clipping, project, etc.) e interrogaciones (analisis comparativo, debugging, etc.).
  • Opciones para anotaciones, iluminación y rendering.
  • Podemos trabajar con datos escalares, vectoriales y tensoriales.
  • Permite paralelizaciones.

Para visualizar los datos podemos utilizar VisIt como aplicación mediante fichero (\approx 100 formatos diferentes), base de datos (se pueden desarrollar nuevos plug-ins) o como librería mediante código. También podemos crear animaciones mediante flipbook, keyframing o scripting. Podemos trabajar en local, en remoto o utilizando la arquitectura cliente/servidor.

VisIt se compone de cuatro componentes:

  • Graphical User Interface (GUI): se ejecuta en local y permite, entre otras cosas, seleccionar los ficheros, crear graficos, fijar atributos, etc.
  • Viewer: se lanza en local y es donde se muestran las visualizaciones con las que podemos interactuar con el ratón.
  • Database server: puede lanzarse en remoto y permite el acceso a los datos.
  • Compute engine / Parallel compute server: puede lanzarse en remoto y es el encargado de generar los gráficos.

A continuación una pequeña animación flipbook que hemos creado con datos que ofrece VisIt en su documentación.

Los ficheros .visit, en este caso wave.visit, son ficheros de texto que contienen los nombres de todos los ficheros que guardan, cada uno, el estado de la simulación en un instante de tiempo determinado: wave0010.silo, wave0010.silo, ..., wave0700.silo. En este caso son .silo que es un formato propio de VisIt.

agosto 2017
L M X J V S D
« Jul    
 123456
78910111213
14151617181920
21222324252627
28293031