FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
CNFDB_601.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  CNFDB_601 Ver. 3.6
7  -----------------------------
8  601 Material
9 */
10 
11 #ifndef CNFDB_601H
12 #define CNFDB_601H
13 
14 #include "CNFDataBlock.h"
15 
16 // 601 Material
17 class CNFDB_601 : public CNFDataBlock {
18  public:
19  CNFDB_601();
20  virtual ~CNFDB_601() {}
21 
22  virtual void Read(class CNFData* nfd);
23  virtual void WriteData(class CNFData* nfd, FILE* fp);
24 
25  public:
26  class cfunc_rec {
27  public:
28  class cdata_pair {
29  public:
30  nf_int index;
32  nf_float y;
33  cdata_pair(nf_int I = 0, nf_float X = 0, nf_float Y = 0)
34  : index(I), x(X), y(Y) {}
35  };
36  // ##1
37  nf_int ID;
38  nf_int type;
39  // ##2
41  // ## ----------------------
42  std::vector<cdata_pair> data;
43  };
44 
45  // #1
46  nf_int ID;
47  nf_int format; // == -601
48  nf_int color;
53  // #2
55  // #3
56  nf_int Bcount; // == 10
57  // #4
58  nf_bool bval[10];
59  // #5
60  nf_int Icount;
61  // #6,7,8
62  nf_int ival[25];
63  // #9
64  nf_int Mcount;
65  // #10-29
66  nf_float mval[200];
67  // #30
68  nf_int Fcount;
69  // #31-35
70  nf_int fval[50];
71  // #36
72  nf_int Tcount;
73  // #37-43
74  nf_int tval[70];
75  // # ---------------------
76  std::vector<cfunc_rec> func_list;
77 
78  // ============================================================================
79  nf_float& E(int i) {
80  assert(0 <= i && i <= 2);
81  return mval[i];
82  }
83  nf_float& G(int i) {
84  assert(0 <= i && i <= 2);
85  return mval[i + 3];
86  }
87  nf_float& NU(int i) {
88  assert(0 <= i && i <= 2);
89  return mval[i + 6];
90  }
91  nf_float& THERMAL_EXPANSION(int i) {
92  assert(0 <= i && i <= 5);
93  return mval[i + 36];
94  }
96  assert(0 <= i && i <= 5);
97  return mval[i + 42];
98  }
99  nf_float& THERMAL_CAPACITY() { return mval[48]; }
100  nf_float& DENSITY() { return mval[49]; }
101  nf_float& DAMPING() { return mval[50]; }
102  nf_float& TEMPERATURE() { return mval[51]; }
103 };
104 
105 #endif
CNFDB_601::THERMAL_CONDUCTIVITY
nf_float & THERMAL_CONDUCTIVITY(int i)
Definition: CNFDB_601.h:98
CNFDB_601::WriteData
virtual void WriteData(class CNFData *nfd, FILE *fp)
Definition: CNFDB_601.cpp:121
CNFDB_601::layer
nf_int layer
Definition: CNFDB_601.h:54
CNFDB_601::func_list
std::vector< cfunc_rec > func_list
Definition: CNFDB_601.h:79
CNFDB_601::Fcount
nf_int Fcount
Definition: CNFDB_601.h:71
CNFDB_601::cfunc_rec::cdata_pair::y
nf_float y
Definition: CNFDB_601.h:35
CNFDataBlock
Definition: CNFDataBlock.h:24
CNFDB_601::THERMAL_EXPANSION
nf_float & THERMAL_EXPANSION(int i)
Definition: CNFDB_601.h:94
CNFDB_601::NU
nf_float & NU(int i)
Definition: CNFDB_601.h:90
nf_char
char nf_char
Definition: CNFDataBlock.h:22
CNFDB_601::TEMPERATURE
nf_float & TEMPERATURE()
Definition: CNFDB_601.h:105
CNFDB_601::type
nf_int type
Definition: CNFDB_601.h:52
CNFDB_601::cfunc_rec
Definition: CNFDB_601.h:29
CNFDB_601::CNFDB_601
CNFDB_601()
Definition: CNFDB_601.cpp:19
CNFDB_601::tval
nf_int tval[70]
Definition: CNFDB_601.h:77
CNFDB_601::color
nf_int color
Definition: CNFDB_601.h:51
CNFDataBlock.h
CNFDB_601::cfunc_rec::cdata_pair::cdata_pair
cdata_pair(nf_int I=0, nf_float X=0, nf_float Y=0)
Definition: CNFDB_601.h:36
CNFDB_601
Definition: CNFDB_601.h:17
CNFDB_601::format
nf_int format
Definition: CNFDB_601.h:50
CNFDB_601::~CNFDB_601
virtual ~CNFDB_601()
Definition: CNFDB_601.h:23
CNFDB_601::bval
nf_bool bval[10]
Definition: CNFDB_601.h:61
CNFDB_601::cfunc_rec::cdata_pair::index
nf_int index
Definition: CNFDB_601.h:33
CNFDB_601::cfunc_rec::ID
nf_int ID
Definition: CNFDB_601.h:40
CNFDB_601::mval
nf_float mval[200]
Definition: CNFDB_601.h:69
CNFDB_601::Read
virtual void Read(class CNFData *nfd)
Definition: CNFDB_601.cpp:21
CNFData
Definition: CNFData.h:46
CNFDB_601::ID
nf_int ID
Definition: CNFDB_601.h:49
CNFDB_601::G
nf_float & G(int i)
Definition: CNFDB_601.h:86
CNFDB_601::DAMPING
nf_float & DAMPING()
Definition: CNFDB_601.h:104
CNFDB_601::E
nf_float & E(int i)
Definition: CNFDB_601.h:82
CNFDB_601::cfunc_rec::data
std::vector< cdata_pair > data
Definition: CNFDB_601.h:45
nf_bool
unsigned char nf_bool
Definition: CNFDataBlock.h:20
CNFDB_601::cfunc_rec::cdata_pair::x
nf_float x
Definition: CNFDB_601.h:34
CNFDB_601::ival
nf_int ival[25]
Definition: CNFDB_601.h:65
CNFDB_601::FunctionCount
nf_int FunctionCount
Definition: CNFDB_601.h:55
CNFDB_601::fval
nf_int fval[50]
Definition: CNFDB_601.h:73
CNFDB_601::subtype
nf_int subtype
Definition: CNFDB_601.h:53
CNFDB_601::cfunc_rec::type
nf_int type
Definition: CNFDB_601.h:41
CNFDB_601::Icount
nf_int Icount
Definition: CNFDB_601.h:63
nf_int
int nf_int
Definition: CNFDataBlock.h:19
CNFDB_601::THERMAL_CAPACITY
nf_float & THERMAL_CAPACITY()
Definition: CNFDB_601.h:102
CNFDB_601::title
nf_char title[26]
Definition: CNFDB_601.h:57
CNFDB_601::Bcount
nf_int Bcount
Definition: CNFDB_601.h:59
CNFDB_601::cfunc_rec::title
nf_char title[80]
Definition: CNFDB_601.h:43
CNFDB_601::Mcount
nf_int Mcount
Definition: CNFDB_601.h:67
CNFDB_601::Tcount
nf_int Tcount
Definition: CNFDB_601.h:75
CNFDB_601::DENSITY
nf_float & DENSITY()
Definition: CNFDB_601.h:103
nf_float
double nf_float
Definition: CNFDataBlock.h:21