FrontISTR 5.2.0
Large-scale structural analysis program with finit element method
Loading...
Searching...
No Matches
CNFDB_506.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_506 Ver. 3.6
7*/
8
9#ifndef CNFDB_506H
10#define CNFDB_506H
11
12#include <vector>
13#include "CNFDataBlock.h"
14
15// 506 Constraints
16
17class CNFDB_506 : public CNFDataBlock {
18 public:
19 CNFDB_506();
20 virtual ~CNFDB_506() {}
21
22 virtual void Read(class CNFData* nfd);
23 virtual void WriteData(class CNFData* nfd, FILE* fp);
24
25 public:
27 public:
35 : ID(i.ID), color(i.color), layer(i.layer), ex_geom(i.ex_geom) {
36 DOF[0] = i.DOF[0];
37 DOF[1] = i.DOF[1];
38 DOF[2] = i.DOF[2];
39 DOF[3] = i.DOF[3];
40 DOF[4] = i.DOF[4];
41 DOF[5] = i.DOF[5];
42 }
44 ID = i.ID;
45 color = i.color;
46 layer = i.layer;
47 ex_geom = i.ex_geom;
48 DOF[0] = i.DOF[0];
49 DOF[1] = i.DOF[1];
50 DOF[2] = i.DOF[2];
51 DOF[3] = i.DOF[3];
52 DOF[4] = i.DOF[4];
53 DOF[5] = i.DOF[5];
54 return *this;
55 }
56 };
57 class cconst_eq {
58 public:
62 };
64 public:
68 };
69
70 // #1
72 // #2
74 // for nodes
75 std::vector<cconst_item> const_nodes;
76 // for points
77 std::vector<cconst_item> const_points;
78 // for curves
79 std::vector<cconst_item> const_curves;
80 // for surfaces
81 std::vector<cconst_item> const_surfaces;
82 // for number of coefficiency in equation
83 std::vector<nf_int> num_co;
84 // for equations
85 std::vector<cconst_eq> const_equations;
86 // for num_co records
87 std::vector<cnum_co_rec> num_co_list;
88
89 protected:
90 void read_const_item(class CNFData* nfd, std::vector<cconst_item>& list);
91 void read_const_eq(class CNFData* nfd, std::vector<cconst_eq>& list);
92 void read_num_co(class CNFData* nfd, int eq_n, std::vector<nf_int>& list);
93 void read_num_co_list(class CNFData* nfd, int eq_n,
94 std::vector<cnum_co_rec>& list);
95 void write_const_item(class CNFData* nfd, FILE* fp,
96 std::vector<cconst_item>& list);
97 void write_const_eq(class CNFData* nfd, FILE* fp,
98 std::vector<cconst_eq>& list);
99 void write_num_co(class CNFData* nfd, FILE* fp, std::vector<nf_int>& list);
100 void write_num_co_list(class CNFData* nfd, FILE* fp,
101 std::vector<cnum_co_rec>& list);
102};
103
104#endif
char nf_char
Definition: CNFDataBlock.h:22
int nf_int
Definition: CNFDataBlock.h:19
unsigned char nf_bool
Definition: CNFDataBlock.h:20
double nf_float
Definition: CNFDataBlock.h:21
cconst_item(const cconst_item &i)
Definition: CNFDB_506.h:34
cconst_item & operator=(const cconst_item &i)
Definition: CNFDB_506.h:43
void write_const_item(class CNFData *nfd, FILE *fp, std::vector< cconst_item > &list)
Definition: CNFDB_506.cpp:130
std::vector< cconst_item > const_nodes
Definition: CNFDB_506.h:75
void write_const_eq(class CNFData *nfd, FILE *fp, std::vector< cconst_eq > &list)
Definition: CNFDB_506.cpp:143
void write_num_co_list(class CNFData *nfd, FILE *fp, std::vector< cnum_co_rec > &list)
Definition: CNFDB_506.cpp:163
std::vector< cconst_item > const_curves
Definition: CNFDB_506.h:79
void write_num_co(class CNFData *nfd, FILE *fp, std::vector< nf_int > &list)
Definition: CNFDB_506.cpp:154
std::vector< cconst_item > const_points
Definition: CNFDB_506.h:77
virtual ~CNFDB_506()
Definition: CNFDB_506.h:20
nf_int setID
Definition: CNFDB_506.h:71
std::vector< cconst_item > const_surfaces
Definition: CNFDB_506.h:81
std::vector< cnum_co_rec > num_co_list
Definition: CNFDB_506.h:87
void read_const_eq(class CNFData *nfd, std::vector< cconst_eq > &list)
Definition: CNFDB_506.cpp:63
void read_const_item(class CNFData *nfd, std::vector< cconst_item > &list)
Definition: CNFDB_506.cpp:46
std::vector< cconst_eq > const_equations
Definition: CNFDB_506.h:85
std::vector< nf_int > num_co
Definition: CNFDB_506.h:83
void read_num_co(class CNFData *nfd, int eq_n, std::vector< nf_int > &list)
Definition: CNFDB_506.cpp:78
virtual void Read(class CNFData *nfd)
Definition: CNFDB_506.cpp:18
void read_num_co_list(class CNFData *nfd, int eq_n, std::vector< cnum_co_rec > &list)
Definition: CNFDB_506.cpp:90
virtual void WriteData(class CNFData *nfd, FILE *fp)
Definition: CNFDB_506.cpp:105
nf_char title[26]
Definition: CNFDB_506.h:73