/***********************************************************************
*
* ELMER, A Computational Fluid Dynamics Program.
*
* Copyright 1st April 1995 - , Center for Scientific Computing,
* Finland.
*
* All rights reserved. No part of this program may be used,
* reproduced or transmitted in any form or by any means
* without the written permission of CSC.
*
* Address: Center for Scientific Computing
* Tietotie 6, P.O. BOX 405
* 02101 Espoo, Finland
* Tel. +358 0 457 2001
* Telefax: +358 0 457 2302
* EMail: Jari.Jarvinen@csc.fi
************************************************************************/
/***********************************************************************
Program: ELMER Front
Module: ecif_const.h
Language: C++
Date: 01.10.98
Version: 1.00
Author(s): Martti Verho
Revisions:
Abstract: Common constant values for all modules.
************************************************************************/
#ifndef _ECIF_CONST_
#define _ECIF_CONST_
#include "ecif_def.h"
#define MAX_DIMENSION 3
#define MAXDEPTH 4
#define MAXNAME 256
#define MINDEPTH 0
#define X 0
#define Y 1
#define Z 2
/* Stream etc. formatting */
#define ACCURACY 15
#define WIDTH 8
// 'No Such Value (Double)' <--> a double value was not found
extern double NSVD;
// Max initial value for boundbox coord.
extern double MAX_RANGE;
// Min initial value for boundbox coord.
extern double MIN_RANGE;
// Zero tolerances for point etc. comparitions
extern double EPSILON; // Generic
extern double POINT_EPSILON; // For vertex-points comparision
// Gap tolerance for adjagency etc. comparitions.
extern double GAP_TOLERANCE;
#define MAX_NOF_ELEM_CODES 32
#define MAX_NOF_BNDR_ELEMS 6
#define MAX_NOF_BNDR_NODES 12
#define MAX_NOF_EDGE_ELEMS 12
#define MAX_NOF_EDGE_NODES 3
#define MAX_NOF_NODES 32
//Cadi ecf-file format version number
extern const int ECIF_VERSION_NBR;
//Environment variables to be tested when
//loading tcl-sripts
extern const char* ELMER_TCL_LIB;
extern const char* ELMER_ECIF_TCL_LIB;
extern const int MAXBODYNAME;
extern const int MAXLINE; // Maximum input file line length
extern const char NL1; // Enter+Lf
extern const char NL2; // Not in use
extern const int BUFFER_LEN; // common read-in buffer length
extern const int NO_INDEX; // to indicate a nonexisting tableindex
extern const int UNSET_INDEX; // to indicate a uninitialized tableindex
extern const int MAX_FILE_NAME_LEN; // Max size for a path,file,procedure name.
extern const int TIME_STR_SIZE; // Size for the model time string.
extern const int MAX_NOF_BODIES; // Max nof bodies and colors
extern const int MAX_NOF_SOLVERS; // Max nof solvers (different linear systems)
extern const int MAX_NOF_COLOR_LEVELS; //Maximum R or G or B levels (fex. 255)
extern const int MAX_NOF_FLAG_NAMES; // Max nof different named flags in the model
extern const short ESF_INDENT_SIZE; // indent size in Elemer Solver Format file
extern const double PI;
extern const double HALF_PI;
extern const double TWO_PI;
extern const char* MESH_DIRECTORY_NAME; // "MESHDIR" value
extern const double MESH_H_INIT_FACTOR; // Factor * AvgDim is initial mesh size
extern double MAX_NORMAL_TOLERANCE; // max comparison tol. for normal-vectors (deg. 0-180)
extern double MAX_DISTANCE_TOLERANCE; // max comparison tol. for planes etc. (relative 0-1)
extern double NORMAL_TOLERANCE; // comparison tol. for normal-vectors (deg. 0-180)
extern double DISTANCE_TOLERANCE; // comparison tol. for planes etc. (relative 0-1)
extern int OBJECT_DISPLAY_LIST_BASE; // display-list id for a geometric object is: _BASE + objectId
extern int MAX_NOF_SPLIT_COMBINE_INFOS; // max array size <--> max undo level for mesh boundary splitting/combining
// Character separators in the paramater data string
extern const short MAX_NOF_PARAMETER_DATA_STRINGS; // Max nof separate ';' separated "string-data" slots
extern const short MAX_NOF_PARAMETER_VARIABLES; // Max nof indipendent variables in parameters slots
extern const short MAX_PARAMETER_FIELD_NAME_LENGTH; // Max length for a field/variable name
extern const int PARAMETER_BUFFER_LEN;
extern char PARAMETER_BUFFER[]; // Buffer for parameter string
extern const char PARAMETER_PART_SEP; // Paret separator in a parameter set
extern const char PARAMETER_FIELD_SEP; // Parameter field separator in a parameter set
extern const char PARAMETER_DATA_SEP; // Data value separator in a parameter field
extern const char FILE_NAME_INDICATOR; // File name indicator in a parameter field like =:file.txt
extern const char PROC_NAME_INDICATOR; // Procedure name indicator in a parameter field like =.libray_file;function_name
extern const int GUI_UPDATE_INTERVAL; // Nof iterations after Gui is given an update message
/*
//MV 07.08.96
//This declaration (with const)works in VC++ 4.0, but not in SGI compilers.
//So, it is transformed into a non-const definition
extern const enum colorIndices;
*/
// Color indexes (as Tk names).
enum colorIndices { ef_nodefault = -1,
ef_black, ef_blue, ef_DodgerBlue, ef_DeepSkyBlue,
ef_cyan, ef_DarkGreen, ef_LimeGreen, ef_green,
ef_yellow, ef_orange, ef_OrangeRed, ef_red,
ef_magenta, ef_violet, ef_pink, ef_white
};
extern const colorIndices defaultColorIndices[];
extern const colorIndices DEFAULT_COLOR_INDEX;
extern const char* colorNames[];
extern const int colorValues[][4];
// Constants used in output-file.
extern const char* topologyNames[];
extern const char* geometryNames[];
extern const char LB[]; //Left-brace for grouping-start
extern const char RB[]; //Right-brace for grouping-end
extern char read_buffer[]; // Buffer variable for general use.
typedef int ecif_modelStatus;
// Model status constants
// If code > 0 ==> error in the named area
extern const ecif_modelStatus STATUS_OK;
extern const ecif_modelStatus BODY_EQUATION_MISSING;
extern const ecif_modelStatus BODY_MATERIAL_MISSING;
typedef unsigned short beStatus;
// Bodyelement status constants
extern const beStatus BE_NONE;
extern const beStatus BE_DEVIDED;
extern const beStatus BE_SWAPPED;
extern const beStatus BE_OUTER;
extern const beStatus BE_INCLUDES_OUTER;
extern const beStatus BE_OUTER_CHECKED;
extern const beStatus BE_INNER_CANDIDATE;
extern const beStatus BE_INNER;
extern const beStatus BE_INNER_CHECKED;
extern const int DESC_ELEM_TYPE; // Pos. of the elem-type field in elem description
extern const int DESC_NOF_NODES; // Pos. of the nof nodes field in elem description
extern const int DESC_NOF_MATCH_NODES; // Pos. of the nof nodes neede to identify trhe element (corner nodes!)
extern const int DESC_HAS_INNER_NODE; // Pos. of the inner node flag field in elem description
extern const int DESC_NOF_BNDR_ELEMS; // Pos. of the nof boundary elements field in elem description
extern const int DESC_NOF_NEEDED_BNDR_ELEMS;// Pos. of the nof neededboundary elements for defining all nodes
extern const int DESC_IS_1D_BNDR_ELEM; // Pos. of the 1D boundary element flag
extern const int DESC_IS_2D_BNDR_ELEM; // Pos. of the 2D boundary element flag
extern const int DESC_IS_3D_BNDR_ELEM; // Pos. of the 3D boundary element flag
extern const int DESC_NOF_EDGES; // Pos. of the nof edges
extern const int DESC_EDGE_ELEM_CODE; // Pos. of the edge code (MEC_202 etc.)
extern const int MeshElementDesc[][12];
extern const int MeshElementReversedNodeIndices[][MAX_NOF_NODES];
extern const meshElementCode MeshElementBndrCodes[][MAX_NOF_BNDR_ELEMS];
extern const int MeshElementBndrNodes[][MAX_NOF_BNDR_ELEMS][MAX_NOF_BNDR_NODES];
extern const int MeshElementEdgeNodes[][MAX_NOF_EDGE_ELEMS][MAX_NOF_EDGE_NODES];
// Indexing variable separators in field names
extern const char INDEX_PRE_SEPARATOR;
extern const char INDEX_POST_SEPARATOR;
// ===============
// Emf field names
// ===============
//--Header
extern const char* EMF_HEADER;
extern const char* EMF_CREATED;
extern const char* EMF_MODIFIED;
extern const char* EMF_HAS_USER_DEFINITIONS;
extern const char* EMF_ELMER_FRONT_VERSION;
extern const char* EMF_ELMER_FRONT_INPUT_VERSION;
extern const char* EMF_TIMESTAMP;
extern const char* EMF_MODEL_STATUS;
extern const char* EMF_MODEL_SOURCE_TYPE;
extern const char* EMF_CAD_SOURCE_FILE;
extern const char* EMF_MESH_SOURCE_FILE;
extern const char* EMF_MESH_RESULT_FILE;
extern const char* EMF_MODEL_NAME;
extern const char* EMF_PROBLEM_NAME;
extern const char* EMF_MODEL_DESCRIPTION;
extern const char* EMF_PROBLEM_DESCRIPTION;
extern const char* EMF_MATC_FILE;
extern const char* EMF_MATC_FILE_EMF;
extern const char* EMF_MATC_FILE_SIF;
extern const char* EMF_INCLUDE_PATH;
extern const char* EMF_LOG_DIRECTORY;
extern const char* EMF_RESULTS_DIRECTORY;
extern const char* EMF_NOF_PROCESSORS;
extern const char* EMF_DIMENSION;
extern const char* EMF_MINIMUM_EDGE_SIZE;
extern const char* EMF_MESH_NAMES;
extern const char* EMF_CURRENT_MESH_INDEX;
extern const char* EMF_MESH_BG_MESH_FILE_INDICES;
extern const char* EMF_MESH_BG_MESH_FILES;
extern const char* EMF_MESH_BG_MESH_ACTIVES;
extern const char* EMF_MESH_BG_MESH_CONTROLS;
//--Timestamps
extern const char* EMF_TIMESTAMPS;
extern const char* EMF_TS_FRONT;
extern const char* EMF_TS_DATABASE;
extern const char* EMF_TS_GEBHARDT_FACTORS;
extern const char* EMF_TS_MESH;
extern const char* EMF_TS_SOLVER;
extern const char* EMF_TS_VIEW_FACTORS;
//--Statistics
extern const char* EMF_STATISTICS;
extern const char* EMF_NOF_BODIES;
extern const char* EMF_NOF_LOOPS;
extern const char* EMF_NOF_ELEMENTS;
extern const char* EMF_NOF_OUTER_BOUNDARIES;
extern const char* EMF_NOF_INNER_BOUNDARIES;
extern const char* EMF_NOF_VERTICES;
extern const char* EMF_MAX_LOOP_COUNT;
//--Geometry
extern const char* EMF_BODY;
extern const char* EMF_BODY1;
extern const char* EMF_BODY2;
extern const char* EMF_LAYER;
extern const char* EMF_LAYER_TAG;
extern const char* EMF_LAYER_TYPE;
extern const char* EMF_LAYER_NAME;
extern const char* EMF_LAYER_COLOR;
extern const char* EMF_CENTER;
extern const char* EMF_DEFINING_POINTS;
extern const char* EMF_DELTA_H;
extern const char* EMF_DELTA_N;
extern const char* EMF_DELTA_U;
extern const char* EMF_DIRECTION;
extern const char* EMF_EDGE;
extern const char* EMF_EDGES;
extern const char* EMF_EDGE_GROUP;
extern const char* EMF_EDGE_GROUPS;
extern const char* EMF_EDGE_LOOP;
extern const char* EMF_EDGE_LOOPS;
extern const char* EMF_ELEMENT;
extern const char* EMF_ELEMENTS;
extern const char* EMF_ELEMENT_GROUP;
extern const char* EMF_ELEMENT_GROUPS;
extern const char* EMF_ELEMENT_ID;
extern const char* EMF_ELEMENT_IDS;
extern const char* EMF_ELEMENT_TAG;
extern const char* EMF_ELEMENT_TAGS;
extern const char* EMF_ELEMENT_LOOP;
extern const char* EMF_ELEMENT_LOOPS;
extern const char* EMF_END_POINT;
extern const char* EMF_END_VERTEX;
extern const char* EMF_EXTRA_EDGES;
extern const char* EMF_EXTRA_VERTICES;
extern const char* EMF_FACE;
extern const char* EMF_FACES;
extern const char* EMF_FACE_GROUP;
extern const char* EMF_FACE_LOOP;
extern const char* EMF_FACE_LOOPS;
extern const char* EMF_GEOMETRY;
extern const char* EMF_GEOMETRY_SEGMENT;
extern const char* EMF_IDS_AND_POINTS;
extern const char* EMF_INNER_BOUNDARY;
extern const char* EMF_INNER_BOUNDARIES;
extern const char* EMF_MESH_H;
extern const char* EMF_MESH_F;
extern const char* EMF_MESH_N;
extern const char* EMF_MESH_U;
extern const char* EMF_OUTER_BOUNDARY;
extern const char* EMF_OUTER_BOUNDARIES;
extern const char* EMF_POINT;
extern const char* EMF_POINTS;
extern const char* EMF_POLYGON;
extern const char* EMF_RADIUS;
extern const char* EMF_START_POINT;
extern const char* EMF_START_VERTEX;
extern const char* EMF_USE_MESH_N;
extern const char* EMF_VERTEX;
extern const char* EMF_VERTEX_GROUP;
extern const char* EMF_VERTEX_TABLE;
extern const char* EMF_VERTICES;
//--General
extern const char* EMF_ACTIVE;
extern const char* EMF_ARGUMENT;
extern const char* EMF_ARGUMENTS;
extern const char* EMF_BOUNDARY_TAG;
extern const char* EMF_BODY_GEOMETRY_EDITED;
extern const char* EMF_BOUNDARY_GEOMETRY_EDITED;
extern const char* EMF_COLOR;
extern const char* EMF_DATA;
extern const char* EMF_FUNCTION;
extern const char* EMF_GROUP;
extern const char* EMF_ID_TABLE;
extern const char* EMF_INCLUDE;
extern const char* EMF_LIBRARY;
extern const char* EMF_NAME;
extern const char* EMF_OBJECT;
extern const char* EMF_OBJECT_TYPE;
extern const char* EMF_PARENT;
extern const char* EMF_SUB_PARENT;
extern const char* EMF_PARENT_TYPE;
extern const char* EMF_SIZE;
extern const char* EMF_TYPE;
extern const char* EMF_UNIT;
extern const char* EMF_INTEGER;
extern const char* EMF_LOGICAL;
extern const char* EMF_PROCEDURE;
extern const char* EMF_REAL;
extern const char* EMF_STRING;
//--Parameters
extern const char* EMF_BODY_FORCE;
extern const char* EMF_BODY_PARAMETER;
extern const char* EMF_BOUNDARY_CONDITION;
extern const char* EMF_BOUNDARY_PARAMETER;
extern const char* EMF_CALCULATOR;
extern const char* EMF_CONSTANT;
extern const char* EMF_COORDINATE;
extern const char* EMF_DATAFILE;
extern const char* EMF_EQUATION;
extern const char* EMF_EQUATION_VARIABLE;
extern const char* EMF_GRID_H;
extern const char* EMF_GRID_PARAMETER;
extern const char* EMF_INITIAL_CONDITION;
extern const char* EMF_MATERIAL;
extern const char* EMF_MODEL_PARAMETER;
extern const char* EMF_SIMULATION_PARAMETER;
extern const char* EMF_SOLVER;
extern const char* EMF_SOLVER_CONTROL;
extern const char* EMF_TIMESTEP;
extern const char* EMF_USER_SETTING;
//
extern const char* EMF_EXCLUDED_MESH_INDICES;
extern const char* EMF_INCLUDED_MESH_INDICES;
extern const char* EMF_MESH_INDICES;
extern const char* EMF_GRID_H_IDS;
extern const char* EMF_GRID_H_MESH_INDICES;
extern const char* EMF_GRID_PARAMETER_IDS;
extern const char* EMF_GRID_PARAMETER_MESH_INDICES;
extern const char* EMF_GRID_PARAMETER_PARENT;
extern const char* EMF_QUADGRID_MESH_INDICES;
//--User setting fields
extern const char* EMF_DEFAULT_MODEL_DIRECTORY;
extern const char* EMF_DEFAULT_MODEL_NAME;
extern const char* EMF_DEFAULT_CAD_FILES_DIRECTORY;
extern const char* EMF_DEFAULT_EXTERNAL_MESH_FILES_DIRECTORY;
extern const char* EMF_DEFAULT_INCLUDE_PATH;
extern const char* EMF_DEFAULT_RESULTS_DIRECTORY;
extern const char* EMF_DEFAULT_LOG_DIRECTORY;
extern const char* EMF_DEFAULT_USE_MODEL_SETTINGS;
extern const char* EMF_DEFAULT_AUTO_SAVE_EXTERNAL_MESH;
extern const char* EMF_AUTO_LOAD_DEFINITION_FILE;
extern const char* EMF_AUTO_LOAD_MESH;
extern const char* EMF_AUTO_SAVE_MODEL;
extern const char* EMF_AUTO_SAVE_SOLVER_INPUT;
extern const char* EMF_BROWSER_COMMAND;
extern const char* EMF_EDITOR_COMMAND;
extern const char* EMF_BROWSE_MODE_GEBHARDT_FACTORS;
extern const char* EMF_BROWSE_MODE_MESH;
extern const char* EMF_BROWSE_MODE_PROCEDURE_COMPILER;
extern const char* EMF_BROWSE_MODE_SOLVER;
extern const char* EMF_BROWSE_MODE_VIEW_FACTORS;
extern const char* EMF_FONT_SIZES;
// Sif names
// =========
// Section names
extern const char* SIF_HEADER;
extern const char* SIF_SIMULATION;
extern const char* SIF_CONSTANT;
extern const char* SIF_EQUATION;
extern const char* SIF_BODY;
extern const char* SIF_BOUNDARY;
extern const char* SIF_BOUNDARY_CONDITION;
extern const char* SIF_INITIAL_CONDITION;
extern const char* SIF_BODY_FORCE;
extern const char* SIF_MATERIAL;
extern const char* SIF_SOLVER;
// Generic field names
extern const char* SIF_ECHO_ON;
extern const char* SIF_CHECK_KEYWORDS;
extern const char* SIF_RELOAD_INPUT_FILE;
#endif
syntax highlighted by Code2HTML, v. 0.9.1