Articulo de referencia

CGNS

.cgns "},"mime":{"wt":""},"type code":{"wt":""},"uniform type":{"wt":""},"magic":{"wt":""},"owner":{"wt":""},"released":{"wt":""},"latest release version":{"wt":"4.5.0"},"latest...

CGNS son las siglas de CFD General Notation System . Es un estándar general, portátil y extensible para el almacenamiento y la recuperación de datos de análisis CFD . Consiste en una colección de convenciones y software libre y abierto que implementa dichas convenciones. Es autodescriptivo, multiplataforma (también denominado independiente de la plataforma o de la máquina), está documentado y administrado por un comité directivo internacional. También es una práctica recomendada por el Instituto Americano de Aeronáutica y Astronáutica ( AIAA ). El proyecto CGNS se originó en 1994 como un esfuerzo conjunto entre Boeing y la NASA , y desde entonces ha crecido hasta incluir a muchas otras organizaciones colaboradoras en todo el mundo. En 1999, el control de CGNS se transfirió por completo a un foro público conocido como el Comité Directivo de CGNS (Archivado el 24/06/2007 en Wayback Machine) . Este comité está compuesto por representantes internacionales del gobierno y la industria privada.

El sistema CGNS consta de dos partes: (1) un formato estándar (conocido como Estructura de Datos de Interfaz Estándar o SIDS) para registrar los datos, y (2) un software que lee, escribe y modifica datos en dicho formato. El formato es una entidad conceptual establecida por la documentación; el software es un producto físico que permite a los desarrolladores acceder y generar datos registrados en ese formato.

El sistema CGNS está diseñado para facilitar el intercambio de datos entre sitios y aplicaciones, y para ayudar a estabilizar el archivo de datos aerodinámicos. Los datos se almacenan en un formato binario compacto y son accesibles a través de una biblioteca de funciones completa y extensible. La interfaz de programación de aplicaciones (API) es multiplataforma y se puede implementar fácilmente en aplicaciones C , C++ , Fortran y Fortran 90. También existe una interfaz MEX, mexCGNS, para llamar a la API de CGNS en los lenguajes de programación de alto nivel MATLAB y GNU Octave . Existen la interfaz orientada a objetos CGNS++ y el módulo Python pyCGNS .

El objetivo principal de CGNS son los datos normalmente asociados con el flujo viscoso compresible (es decir, las ecuaciones de Navier-Stokes ), pero el estándar también es aplicable a subclases como los flujos de Euler y potenciales. El estándar CGNS incluye los siguientes tipos de datos.

  • Redes estructuradas, no estructuradas e híbridas
  • Datos de solución de flujo, que pueden ser nodales, centrados en la celda, centrados en la cara o centrados en el borde.
  • Conectividad de interfaz multizona, tanto adyacente como superpuesta.
  • Condiciones de contorno
  • Descripciones de ecuaciones de flujo, incluyendo la ecuación de estado, modelos de viscosidad y conductividad térmica , modelos de turbulencia, modelos químicos multiespecie y electromagnetismo.
  • Flujo dependiente del tiempo, incluyendo rejillas en movimiento y deformación.
  • Unidades dimensionales e información de adimensionalización
  • Estados de referencia
  • Historia de la convergencia
  • Asociación con definiciones de geometría CAD
  • Datos definidos por el usuario

Gran parte del estándar y del software es aplicable a la física computacional de campos en general. Otras disciplinas, además de la dinámica de fluidos, necesitarían ampliar las definiciones de datos y las convenciones de almacenamiento, pero el software de base de datos fundamental, que ofrece independencia de plataforma, no es específico de la dinámica de fluidos.

CGNS es autodescriptivo, lo que permite que una aplicación interprete la estructura y el contenido de un archivo sin ninguna información externa. CGNS puede utilizar dos formatos de datos de bajo nivel diferentes:

  • un método desarrollado y respaldado internamente llamado Formato de Datos Avanzado (ADF), basado en un sistema de formato de archivo común utilizado anteriormente en McDonnell Douglas
  • HDF5 , un formato de datos jerárquico ampliamente utilizado.

Herramientas y guías

Además de la propia biblioteca CGNS, las siguientes herramientas y guías están disponibles en Github :

  • CGNSTools - Incluye ADFVIEWER, un navegador y editor para archivos CGNS
  • Código de la guía del usuario: pequeños ejemplos prácticos de programas CGNS escritos en Fortran y C.
  • Ejemplos F77: programas informáticos de ejemplo escritos en Fortran que demuestran todas las funcionalidades de CGNS.
  • HDFql permite a los usuarios gestionar archivos CGNS/HDF5 mediante un lenguaje de alto nivel (similar a SQL) en C, C++, Java, Python, C#, Fortran y R.

Véase también

  • Página principal de CGNS
  • Biblioteca de nivel intermedio de CGNS
  • Interfaz MEX de CGNS para MATLAB y Octave
  • pyCGNS
  • Notas de la versión 4.5 de CGNS