FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
CNFDataBlock.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 FrontISTR Commons
3  * This software is released under the MIT License, see LICENSE.txt
4  *****************************************************************************/
5 /*
6  CNFDataBlock Ver. 3.6
7 */
8 
9 #ifndef CNFDataBlockH
10 #define CNFDataBlockH
11 
12 #include "CNFMessage.h"
13 
14 #ifndef TRUE
15 #define TRUE 1
16 #define FALSE 0
17 #endif
18 
19 typedef int nf_int; // 4 byte
20 typedef unsigned char nf_bool; // 1 byte
21 typedef double nf_float; // 8 byte
22 typedef char nf_char; // 1 byte
23 
24 class CNFDataBlock {
25  public:
27 
28  CNFDataBlock(int id) : DataBlockID(id) {}
29  virtual ~CNFDataBlock() {}
30 
31  int Type() { return DataBlockID; }
32 
33  // read block data from file without DataBlockID member
34  virtual void Read(class CNFData* nfd) = 0;
35  virtual void WriteData(class CNFData* nfd, FILE* fp = 0) = 0;
36 };
37 
38 // type of element property (not element type)
39 
40 #define NEU_ELEM_PROP_UNKNOWN 0
41 #define NEU_ELEM_PROP_ROD 1 // used
42 #define NEU_ELEM_PROP_BAR 2 // used
43 #define NEU_ELEM_PROP_TUBE 3
44 #define NEU_ELEM_PROP_LINK 4 // used
45 #define NEU_ELEM_PROP_BEAM 5 // used
46 #define NEU_ELEM_PROP_BEAM2 37 // used
47 #define NEU_ELEM_PROP_SPRING 6
48 #define NEU_ELEM_PROP_DOFSPRING 7
49 #define NEU_ELEM_PROP_CURVEBEAM 8 // used
50 #define NEU_ELEM_PROP_GAP 9
51 #define NEU_ELEM_PROP_SHEAR 11
52 #define NEU_ELEM_PROP_SHEAR2 12
53 #define NEU_ELEM_PROP_MEMBRANE 13 // used
54 #define NEU_ELEM_PROP_MEMBRANE2 14 // used
55 #define NEU_ELEM_PROP_BENDING 15 // used
56 #define NEU_ELEM_PROP_BENDING2 16 // used
57 #define NEU_ELEM_PROP_PLATE 17 // used
58 #define NEU_ELEM_PROP_PLATE2 18 // used
59 #define NEU_ELEM_PROP_PLANESTRAIN 19 // used
60 #define NEU_ELEM_PROP_PLANESTRAIN2 20 // used
61 #define NEU_ELEM_PROP_LAMINATE 21 // used
62 #define NEU_ELEM_PROP_LAMINATE2 22 // used
63 #define NEU_ELEM_PROP_SOLID 25 // used
64 #define NEU_ELEM_PROP_SOLID2 26 // used
65 #define NEU_ELEM_PROP_MASS 27
66 #define NEU_ELEM_PROP_MASSMAT 28
67 #define NEU_ELEM_PROP_STIFFMAT 30
68 #define NEU_ELEM_PROP_SYMSHELL 35 // used
69 #define NEU_ELEM_PROP_SYMSHELL2 36 // used
70 
71 #endif
CNFMessage.h
CNFDataBlock::Read
virtual void Read(class CNFData *nfd)=0
CNFDataBlock
Definition: CNFDataBlock.h:24
nf_char
char nf_char
Definition: CNFDataBlock.h:22
CNFDataBlock::Type
int Type()
Definition: CNFDataBlock.h:31
CNFData
Definition: CNFData.h:46
CNFDataBlock::WriteData
virtual void WriteData(class CNFData *nfd, FILE *fp=0)=0
nf_bool
unsigned char nf_bool
Definition: CNFDataBlock.h:20
CNFDataBlock::~CNFDataBlock
virtual ~CNFDataBlock()
Definition: CNFDataBlock.h:29
CNFDataBlock::DataBlockID
int DataBlockID
Definition: CNFDataBlock.h:26
nf_int
int nf_int
Definition: CNFDataBlock.h:19
nf_float
double nf_float
Definition: CNFDataBlock.h:21
CNFDataBlock::CNFDataBlock
CNFDataBlock(int id)
Definition: CNFDataBlock.h:28