This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/applications/utilities/postProcessing/graphics/ensight76FoamExec/global_extern.h

281 lines
10 KiB
C

/*--------------------------------------------------------------*/
/* Header file for EnSight External Reader DSO Library Routines */
/*--------------------------------------------------------------*/
/* *************************************************************
* Copyright 1998 Computational Engineering International, Inc.
* All Rights Reserved.
*
* Restricted Rights Legend
*
* Use, duplication, or disclosure of this
* software and its documentation by the
* Government is subject to restrictions as
* set forth in subdivision [(b)(3)(ii)] of
* the Rights in Technical Data and Computer
* Software clause at 52.227-7013.
* *************************************************************
*/
#ifndef GLOBAL_EXTERN_H
#define GLOBAL_EXTERN_H
/*--------------------------------
* Set the reader version define
* (only one can be set at a time)
*--------------------------------*/
#define USERD_API_203
/*----------------------------------------
* Set this appropriately:
* DO_ENSIGHT if using for EnSight itself
* DO_READER if using in a reader
*----------------------------------------*/
#if 1
#define DO_READER
#else
#define DO_ENSIGHT
#endif
/*---------------------------------------*/
/* True/False and Error conditions, etc. */
/*---------------------------------------*/
#define Z_ERR (-1) /*Error return value.*/
#define Z_OK (1) /*Success return value.*/
#define Z_UNDEF (2) /*Undefined return value.*/
#define Z_NOT_IMPLEMENTED (3) /*Routine not implemented*/
/*(currently only checked for */
/* get_var_value_at_specific routine)*/
#ifndef TRUE
# define TRUE (1)
# define FALSE (0)
#endif
#define Z_BUFL (80) /* Typical string length */
#define Z_COMPX (0) /* x component */
#define Z_COMPY (1) /* y component */
#define Z_COMPZ (2) /* z component */
#define Z_STATIC (0) /* static geometry */
#define Z_CHANGE_COORDS (1) /* coordinate changing only */
#define Z_CHANGE_CONN (2) /* conectivity changing */
#define Z_GEOM (0) /* Geometry type */
#define Z_VARI (1) /* Variable type */
#define Z_SAVE_ARCHIVE (0) /* Save archive */
#define Z_REST_ARCHIVE (1) /* Restore archive */
#define Z_MAX_USERD_NAME (20) /* max length of reader name */
#define Z_PER_NODE (4) /* At Nodes Variable classif. */
#define Z_PER_ELEM (1) /* At Elements Variable classif.*/
#define Z_MAX_SETS (300)
#ifndef GLOBALDEFS_H
/*-----------------------------------*/
/* Unstructured coordinate structure */
/*-----------------------------------*/
typedef struct {
float xyz[3];
}CRD;
#endif
/*----------------*/
/* Variable Types */
/*----------------*/
enum z_var_type
{
Z_CONSTANT,
Z_SCALAR,
Z_VECTOR,
Z_TENSOR,
Z_TENSOR9,
MAX_Z_VAR_TYPES
};
/*---------------
* Element Types
*---------------
* If you mess with these, you must also
* change the get_z_maxtype
* to_z_elem_type
* to_int_elem_type routines
* in userd_read.c
*----------------------------------------*/
#if (defined USERD_API_100 || defined USERD_API_200) && defined DO_READER
enum z_elem_types {
Z_POINT, /* 00: 1 node point element */
Z_BAR02, /* 01: 2 node bar */
Z_BAR03, /* 02: 3 node bar */
Z_TRI03, /* 03: 3 node triangle */
Z_TRI06, /* 04: 6 node triangle */
Z_QUA04, /* 05: 4 node quad */
Z_QUA08, /* 06: 8 node quad */
Z_TET04, /* 07: 4 node tetrahedron */
Z_TET10, /* 08: 10 node tetrahedron */
Z_PYR05, /* 09: 5 node pyramid */
Z_PYR13, /* 10: 13 node pyramid */
Z_PEN06, /* 11: 6 node pentahedron */
Z_PEN15, /* 12: 15 node pentahedron */
Z_HEX08, /* 13: 8 node hexahedron */
Z_HEX20, /* 14: 20 node hexahedron */
Z_MAXTYPE
};
#elif defined USERD_API_201 && defined DO_READER
enum z_elem_types {
Z_POINT, /* 00: 1 node point element */
Z_G_POINT, /* 01: 1 node point element (ghost call) */
Z_BAR02, /* 02: 2 node bar */
Z_G_BAR02, /* 03: 2 node bar (ghost cell) */
Z_BAR03, /* 04: 3 node bar */
Z_G_BAR03, /* 05: 3 node bar (ghost cell) */
Z_TRI03, /* 06: 3 node triangle */
Z_G_TRI03, /* 07: 3 node triangle (ghost cell) */
Z_TRI06, /* 08: 6 node triangle */
Z_G_TRI06, /* 09: 6 node triangle (ghost cell) */
Z_QUA04, /* 10: 4 node quad */
Z_G_QUA04, /* 11: 4 node quad (ghost cell) */
Z_QUA08, /* 12: 8 node quad */
Z_G_QUA08, /* 13: 8 node quad (ghost cell) */
Z_TET04, /* 14: 4 node tetrahedron */
Z_G_TET04, /* 15: 4 node tetrahedron (ghost cell) */
Z_TET10, /* 16: 10 node tetrahedron */
Z_G_TET10, /* 17: 10 node tetrahedron (ghost cell) */
Z_PYR05, /* 18: 5 node pyramid */
Z_G_PYR05, /* 19: 5 node pyramid (ghost cell) */
Z_PYR13, /* 20: 13 node pyramid */
Z_G_PYR13, /* 21: 13 node pyramid (ghost cell) */
Z_PEN06, /* 22: 6 node pentahedron */
Z_G_PEN06, /* 23: 6 node pentahedron (ghost cell) */
Z_PEN15, /* 24: 15 node pentahedron */
Z_G_PEN15, /* 25: 15 node pentahedron (ghost cell) */
Z_HEX08, /* 26: 8 node hexahedron */
Z_G_HEX08, /* 27: 8 node hexahedron (ghost cell) */
Z_HEX20, /* 28: 20 node hexahedron */
Z_G_HEX20, /* 29: 20 node hexahedron (ghost cell) */
Z_MAXTYPE
};
#else
enum z_elem_types {
Z_POINT, /* 00: 1 node point element */
Z_G_POINT, /* 01: 1 node point element (ghost call) */
Z_BAR02, /* 02: 2 node bar */
Z_G_BAR02, /* 03: 2 node bar (ghost cell) */
Z_BAR03, /* 04: 3 node bar */
Z_G_BAR03, /* 05: 3 node bar (ghost cell) */
Z_TRI03, /* 06: 3 node triangle */
Z_G_TRI03, /* 07: 3 node triangle (ghost cell) */
Z_TRI06, /* 08: 6 node triangle */
Z_G_TRI06, /* 09: 6 node triangle (ghost cell) */
Z_QUA04, /* 10: 4 node quad */
Z_G_QUA04, /* 11: 4 node quad (ghost cell) */
Z_QUA08, /* 12: 8 node quad */
Z_G_QUA08, /* 13: 8 node quad (ghost cell) */
Z_TET04, /* 14: 4 node tetrahedron */
Z_G_TET04, /* 15: 4 node tetrahedron (ghost cell) */
Z_TET10, /* 16: 10 node tetrahedron */
Z_G_TET10, /* 17: 10 node tetrahedron (ghost cell) */
Z_PYR05, /* 18: 5 node pyramid */
Z_G_PYR05, /* 19: 5 node pyramid (ghost cell) */
Z_PYR13, /* 20: 13 node pyramid */
Z_G_PYR13, /* 21: 13 node pyramid (ghost cell) */
Z_PEN06, /* 22: 6 node pentahedron */
Z_G_PEN06, /* 23: 6 node pentahedron (ghost cell) */
Z_PEN15, /* 24: 15 node pentahedron */
Z_G_PEN15, /* 25: 15 node pentahedron (ghost cell) */
Z_HEX08, /* 26: 8 node hexahedron */
Z_G_HEX08, /* 27: 8 node hexahedron (ghost cell) */
Z_HEX20, /* 28: 20 node hexahedron */
Z_G_HEX20, /* 29: 20 node hexahedron (ghost cell) */
Z_NSIDED, /* 30: n node polygon */
Z_G_NSIDED, /* 31: n node polygon (ghost cell) */
Z_NFACED, /* 32: n faced polyhedron */
Z_G_NFACED, /* 33: n faced polyhedron (ghost cell) */
Z_MAXTYPE
};
#endif
enum z_node_ids_opt
{
Z_NO_NODE_IDS,
Z_ASSIGN_NODE_IDS,
Z_GIVEN_NODE_IDS
};
enum z_element_ids_opt
{
Z_NO_ELEMENT_IDS,
Z_ASSIGN_ELEMENT_IDS,
Z_GIVEN_ELEMENT_IDS
};
/*-------------------------------*/
/* Unstructured/Structured types */
/*-------------------------------*/
enum z_structured_defs
{
Z_UNSTRUCTURED, /* for unstructured part */
Z_STRUCTURED, /* for structured (non-iblanked) part */
Z_IBLANKED, /* for structured iblanked part */
Z_MAXMESHTYPES
};
/*----------------------------*/
/* Structured Iblanking types */
/*----------------------------*/
enum z_iblank_domain
{
Z_EXT, /* Exterior */
Z_INT, /* Interior */
Z_BND, /* Boundary */
Z_INTBND, /* Internal boundary/baffle */
Z_SYM, /* Symmetry surface */
Z_NO_OF_IBLANK_DOMAIN_ITEMS
};
/*-----------------------------------*/
/* Dataset Query file info Structure */
/*-----------------------------------*/
#define Z_MAXFILENP 255 /* Max file name and path.*/
#define Z_MAXTIMLEN 40 /* Max time str length */
#define Z_BUFLEN 82 /* Allocated length of the f_desc strings */
typedef struct {
char name[Z_MAXFILENP];
long sizeb;
char timemod[Z_MAXTIMLEN];
int num_d_lines;
char **f_desc;
} Z_QFILES;
/*-------------------------------------------
* Mixed Material enum
*
* (Must be comparable to material_file_index
* in mat_defs.h of EnSight server)
*--------------------------------------------*/
enum z_material_file_index
{
Z_MAT_INDEX,
Z_MIX_INDEX,
Z_MIX_VALUE,
Z_NUM_MAT_FILES
};
/*----------------------------------------------------------
* For readers, we need to include the prototype header file
*----------------------------------------------------------*/
#if defined DO_READER
#include "global_extern_proto.h"
#endif
/*--------------------------------------------------------------------*/
#endif /*GLOBAL_EXTERN_H*/