📄 exodusii_int.h
字号:
/* * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement * retains certain rights in this software. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * * Neither the name of Sandia Corporation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * *//******************************************************************************* exodusII_int.h - ExodusII header file for internal Exodus call use only** author - Sandia National Laboratories* Vic Yarberry - Added headers and error logging** * environment - UNIX** revision history - ** $Id: exodusII_int.h 2928 2008-07-11 17:45:07Z friedmud $******************************************************************************/#ifndef EXODUS_II_INT_HDR#define EXODUS_II_INT_HDR#include "netcdf.h"#ifndef __APPLE__#if defined __STDC__ || defined __cplusplus#include <stdlib.h>#endif#endif#ifdef _MSC_VER# pragma warning ( disable : 4127 )# pragma warning ( disable : 4706 )# pragma warning ( disable : 4701 )#endif#if defined(__BORLANDC__)#pragma warn -8004 /* "assigned a value that is never used" */#endif#include <stdio.h>#define MAX_VAR_NAME_LENGTH 20 /**< Internal use only */ /* for netCDF 3.4, we estimate the size of the header; * if estimate is larger than this max, set the estimate to this max; */#define MAX_HEADER_SIZE 30000/* this should be defined in ANSI C and C++, but just in case ... */#ifndef NULL#define NULL 0#endif/* Default "filesize" for newly created files. * Set to 0 for normal filesize setting. * Set to 1 for EXODUS_LARGE_MODEL setting to be the default */#define EXODUS_DEFAULT_SIZE 1/* Exodus error return codes - function return values: */#define EX_FATAL -1 /* fatal error flag def */#define EX_NOERR 0 /* no error flag def */#define EX_WARN 1 /* warning flag def *//* * This file contains defined constants that are used internally in the * EXODUS II API. * * The first group of constants refer to netCDF variables, attributes, or * dimensions in which the EXODUS II data are stored. Using the defined * constants will allow the names of the netCDF entities to be changed easily * in the future if needed. The first three letters of the constant identify * the netCDF entity as a variable (VAR), dimension (DIM), or attribute (ATT). * * NOTE: The entity name should not have any blanks in it. Blanks are * technically legal but some netcdf utilities (ncgen in particular) * fail when they encounter a blank in a name. * * DEFINED CONSTANT ENTITY NAME DATA STORED IN ENTITY */#define ATT_FILE_TYPE "type" /* obsolete */#define ATT_TITLE "title" /* the database title */#define ATT_API_VERSION "api_version" /* the EXODUS II api vers # */#define ATT_API_VERSION_BLANK "api version" /* the EXODUS II api vers # */ /* used for db version 2.01 */ /* and earlier */#define ATT_VERSION "version" /* the EXODUS II file vers # */#define ATT_FILESIZE "file_size" /* 1=large, 0=normal */#define ATT_FLT_WORDSIZE "floating_point_word_size" /* word size of floating */ /* point numbers in file */#define ATT_FLT_WORDSIZE_BLANK "floating point word size" /* word size of floating */ /* point numbers in file */ /* used for db version 2.01 */ /* and earlier */#define DIM_NUM_NODES "num_nodes" /* # of nodes */#define DIM_NUM_DIM "num_dim" /* # of dimensions; 2- or 3-d*/#define DIM_NUM_EDGE "num_edge" /* # of edges (over all blks)*/#define DIM_NUM_FACE "num_face" /* # of faces (over all blks)*/#define DIM_NUM_ELEM "num_elem" /* # of elements */#define DIM_NUM_EL_BLK "num_el_blk" /* # of element blocks */#define DIM_NUM_ED_BLK "num_ed_blk" /* # of edge blocks */#define DIM_NUM_FA_BLK "num_fa_blk" /* # of face blocks */#define VAR_COORD "coord" /* nodal coordinates */#define VAR_COORD_X "coordx" /* X-dimension coordinate */#define VAR_COORD_Y "coordy" /* Y-dimension coordinate */#define VAR_COORD_Z "coordz" /* Z-dimension coordinate */#define VAR_NAME_COOR "coor_names" /* names of coordinates */#define VAR_NAME_EL_BLK "eb_names" /* names of element blocks */#define VAR_NAME_NS "ns_names" /* names of node sets */#define VAR_NAME_SS "ss_names" /* names of side sets */#define VAR_NAME_EM "emap_names" /* names of element maps */#define VAR_NAME_EDM "edmap_names" /* names of edge maps */#define VAR_NAME_FAM "famap_names" /* names of face maps */#define VAR_NAME_NM "nmap_names" /* names of node maps */#define VAR_NAME_ED_BLK "ed_names" /* names of edge blocks */#define VAR_NAME_FA_BLK "fa_names" /* names of face blocks */#define VAR_NAME_ES "es_names" /* names of edge sets */#define VAR_NAME_FS "fs_names" /* names of face sets */#define VAR_NAME_ELS "els_names" /* names of element sets */#define VAR_STAT_EL_BLK "eb_status" /* element block status */#define VAR_STAT_ECONN "econn_status" /* element block edge status */#define VAR_STAT_FCONN "fconn_status" /* element block face status */#define VAR_STAT_ED_BLK "ed_status" /* edge block status */#define VAR_STAT_FA_BLK "fa_status" /* face block status */#define VAR_ID_EL_BLK "eb_prop1" /* element block ids props */#define VAR_ID_ED_BLK "ed_prop1" /* edge block ids props */#define VAR_ID_FA_BLK "fa_prop1" /* face block ids props */#define ATT_NAME_ELB "elem_type" /* element type names for */ /* each element block */#define DIM_NUM_EL_IN_BLK(num) ex_catstr("num_el_in_blk",num) /* # of elements in element */ /* block num */#define DIM_NUM_NOD_PER_EL(num) ex_catstr("num_nod_per_el",num) /* # of nodes per element in */ /* element block num */#define DIM_NUM_ATT_IN_BLK(num) ex_catstr("num_att_in_blk",num) /* # of attributes in element*/ /* block num */#define DIM_NUM_ED_IN_EBLK(num) ex_catstr("num_ed_in_blk",num) /* # of edges in edge */ /* block num */#define DIM_NUM_NOD_PER_ED(num) ex_catstr("num_nod_per_ed",num) /* # of nodes per edge in */ /* edge block num */#define DIM_NUM_EDG_PER_EL(num) ex_catstr("num_edg_per_el",num) /* # of edges per element in */ /* element block num */#define DIM_NUM_ATT_IN_EBLK(num) ex_catstr("num_att_in_eblk",num) /* # of attributes in edge */ /* block num */#define DIM_NUM_FA_IN_FBLK(num) ex_catstr("num_fa_in_blk",num) /* # of faces in face */ /* block num */#define DIM_NUM_NOD_PER_FA(num) ex_catstr("num_nod_per_fa",num) /* # of nodes per face in */ /* face block num */#define DIM_NUM_FAC_PER_EL(num) ex_catstr("num_fac_per_el",num) /* # of faces per element in */ /* element block num */#define DIM_NUM_ATT_IN_FBLK(num) ex_catstr("num_att_in_fblk",num) /* # of attributes in face */ /* block num */#define DIM_NUM_ATT_IN_NBLK "num_att_in_nblk"#define VAR_CONN(num) ex_catstr("connect",num)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -