17 static void ItoA(
int i,
char *s) { sprintf(s,
"%d", i); }
29 cntemp(
int id = -1,
double v = 0) : nid(id), value(v) {}
32 inline bool operator==(
const cntemp &a,
const cntemp &b) {
33 return a.nid == b.nid;
35 inline bool operator<(
const cntemp &a,
const cntemp &b) {
38 inline bool operator>(
const cntemp &a,
const cntemp &b) {
45 if (neu.DB_507.size() == 0)
return;
48 vector<CNFDB_507 *>::iterator iter;
50 for (iter = neu.DB_507.begin(); iter != neu.DB_507.end(); iter++) {
53 vector<CNFDB_507::ctemp_load_rec>::iterator siter;
57 ntlist.insert(cntemp(siter->ID, siter->temp));
66 printf(
"##Warning : Not exist element %d (FIXTEMP)\n", (
int)siter->ID);
70 for (
int i = 0; i < e->
node_n; i++) {
71 ntlist.insert(cntemp(e->
node[i], siter->temp));
76 if (ntlist.size() > 0) {
78 set<cntemp>::iterator it;
80 for (it = ntlist.begin(); it != ntlist.end(); it++) {
87 hec.
DB.push_back(dblock);
96 const int FEA_load_nHeatFlux = 10;
98 if (neu.DB_507.size() == 0)
return;
101 vector<CNFDB_507 *>::iterator iter;
103 for (iter = neu.DB_507.begin(); iter != neu.DB_507.end(); iter++) {
105 vector<CNFDB_507::cstructural_load_rec>::iterator siter;
109 if (siter->loadtype != FEA_load_nHeatFlux)
continue;
112 ItoA(siter->loadID, name);
119 hec.
DB.push_back(dblock);
131 const int FEA_load_eHeatFlux = 44;
132 const int FEA_load_eHeatGen = 47;
134 if (neu.DB_507.size() == 0)
return;
137 vector<CNFDB_507 *>::iterator iter;
139 for (iter = neu.DB_507.begin(); iter != neu.DB_507.end(); iter++) {
141 vector<CNFDB_507::cstructural_load_rec>::iterator siter;
145 if (siter->loadtype != FEA_load_eHeatFlux &&
146 siter->loadtype != FEA_load_eHeatGen)
149 int eid = siter->loadID;
150 int surf_no = siter->dof_face[0];
153 if (hec_e_type == 0)
continue;
158 if (siter->loadtype == FEA_load_eHeatFlux) {
162 load = fg_front ? siter->value[0] : -siter->value[0];
166 load = siter->value[0];
170 ItoA(siter->loadID, name);
177 hec.
DB.push_back(dblock);
189 const int FEA_load_eConvection = 45;
191 if (neu.DB_507.size() == 0)
return;
194 vector<CNFDB_507 *>::iterator iter;
196 for (iter = neu.DB_507.begin(); iter != neu.DB_507.end(); iter++) {
198 vector<CNFDB_507::cstructural_load_rec>::iterator siter;
202 if (siter->loadtype != FEA_load_eConvection)
continue;
204 int eid = siter->loadID;
205 int surf_no = siter->dof_face[0];
208 if (hec_e_type == 0)
continue;
210 double value = siter->value[0];
211 double sink = siter->value[2];
216 ItoA(siter->loadID, name);
223 hec.
DB.push_back(dblock);
235 const int FEA_load_eRadiation = 46;
237 if (neu.DB_507.size() == 0)
return;
240 vector<CNFDB_507 *>::iterator iter;
242 for (iter = neu.DB_507.begin(); iter != neu.DB_507.end(); iter++) {
244 vector<CNFDB_507::cstructural_load_rec>::iterator siter;
248 if (siter->loadtype != FEA_load_eRadiation)
continue;
250 int eid = siter->loadID;
251 int surf_no = siter->dof_face[0];
254 if (hec_e_type == 0)
continue;
256 double value = siter->value[0];
257 double sink = siter->value[2];
262 ItoA(siter->loadID, name);
269 hec.
DB.push_back(dblock);
281 SetFixtemp(neu, hec);
285 SetRadiate(neu, hec);