⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exodusii_int.h

📁 一个用来实现偏微分方程中网格的计算库
💻 H
📖 第 1 页 / 共 3 页
字号:
/* * 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 + -