FEM: abaqus writer, use better names for elementsets

This commit is contained in:
Bernd Hahnebach
2017-06-07 23:32:36 -03:00
committed by Yorik van Havre
parent b01e482e07
commit cd0014b16c
4 changed files with 27 additions and 9 deletions
+15 -6
View File
@@ -1244,7 +1244,7 @@ void FemMesh::writeABAQUS(const std::string &Filename) const
for (ElementsMap::iterator it = elementsMap.begin(); it != elementsMap.end(); ++it) {
anABAQUS_Output << "** Volume elements" << std::endl;
anABAQUS_Output << "*Element, TYPE=" << it->first << ", ELSET=Eall" << std::endl;
anABAQUS_Output << "*Element, TYPE=" << it->first << ", ELSET=Evolumes" << std::endl;
for (NodesMap::iterator jt = it->second.begin(); jt != it->second.end(); ++jt) {
anABAQUS_Output << jt->first;
// Calculix allows max 16 enntries in one line, an hexa20 has more !
@@ -1264,10 +1264,13 @@ void FemMesh::writeABAQUS(const std::string &Filename) const
}
anABAQUS_Output << std::endl;
}
}
anABAQUS_Output << std::endl;
}
if (!elementsMap.empty()) {
anABAQUS_Output << "** Define element set Eall" << std::endl;
anABAQUS_Output << "*ELSET, ELSET=Eall" << std::endl;
anABAQUS_Output << "Evolumes" << std::endl;
anABAQUS_Output.close();
return; // done
}
@@ -1293,7 +1296,7 @@ void FemMesh::writeABAQUS(const std::string &Filename) const
for (ElementsMap::iterator it = elementsMap.begin(); it != elementsMap.end(); ++it) {
anABAQUS_Output << "** Face elements" << std::endl;
anABAQUS_Output << "*Element, TYPE=" << it->first << ", ELSET=Eall" << std::endl;
anABAQUS_Output << "*Element, TYPE=" << it->first << ", ELSET=Efaces" << std::endl;
for (NodesMap::iterator jt = it->second.begin(); jt != it->second.end(); ++jt) {
anABAQUS_Output << jt->first;
for (std::vector<int>::iterator kt = jt->second.begin(); kt != jt->second.end(); ++kt) {
@@ -1301,10 +1304,13 @@ void FemMesh::writeABAQUS(const std::string &Filename) const
}
anABAQUS_Output << std::endl;
}
}
anABAQUS_Output << std::endl;
}
if (!elementsMap.empty()) {
anABAQUS_Output << "** Define element set Eall" << std::endl;
anABAQUS_Output << "*ELSET, ELSET=Eall" << std::endl;
anABAQUS_Output << "Efaces" << std::endl;
anABAQUS_Output.close();
return; // done
}
@@ -1330,7 +1336,7 @@ void FemMesh::writeABAQUS(const std::string &Filename) const
for (ElementsMap::iterator it = elementsMap.begin(); it != elementsMap.end(); ++it) {
anABAQUS_Output << "** Edge elements" << std::endl;
anABAQUS_Output << "*Element, TYPE=" << it->first << ", ELSET=Eall" << std::endl;
anABAQUS_Output << "*Element, TYPE=" << it->first << ", ELSET=Eedges" << std::endl;
for (NodesMap::iterator jt = it->second.begin(); jt != it->second.end(); ++jt) {
anABAQUS_Output << jt->first;
for (std::vector<int>::iterator kt = jt->second.begin(); kt != jt->second.end(); ++kt) {
@@ -1338,10 +1344,13 @@ void FemMesh::writeABAQUS(const std::string &Filename) const
}
anABAQUS_Output << std::endl;
}
}
anABAQUS_Output << std::endl;
}
elementsMap.clear();
anABAQUS_Output << "** Define element set Eall" << std::endl;
anABAQUS_Output << "*ELSET, ELSET=Eall" << std::endl;
anABAQUS_Output << "Eedges" << std::endl;
anABAQUS_Output.close();
}
@@ -285,7 +285,7 @@
** Volume elements
*Element, TYPE=C3D10, ELSET=Eall
*Element, TYPE=C3D10, ELSET=Evolumes
1, 95, 98, 47, 196, 103, 197, 198, 200, 199, 201
2, 147, 121, 145, 196, 203, 202, 161, 205, 204, 206
3, 73, 70, 27, 121, 84, 80, 83, 208, 207, 136
@@ -416,6 +416,9 @@
128, 122, 15, 45, 195, 138, 67, 280, 257, 253, 237
129, 45, 15, 122, 49, 67, 138, 280, 61, 69, 260
** Define element set Eall
*ELSET, ELSET=Eall
Evolumes
+4 -1
View File
@@ -285,7 +285,7 @@
** Volume elements
*Element, TYPE=C3D10, ELSET=Eall
*Element, TYPE=C3D10, ELSET=Evolumes
1, 95, 98, 47, 196, 103, 197, 198, 200, 199, 201
2, 147, 121, 145, 196, 203, 202, 161, 205, 204, 206
3, 73, 70, 27, 121, 84, 80, 83, 208, 207, 136
@@ -416,6 +416,9 @@
128, 122, 15, 45, 195, 138, 67, 280, 257, 253, 237
129, 45, 15, 122, 49, 67, 138, 280, 61, 69, 260
** Define element set Eall
*ELSET, ELSET=Eall
Evolumes
@@ -50,7 +50,7 @@
** Volume elements
*Element, TYPE=C3D10, ELSET=Eall
*Element, TYPE=C3D10, ELSET=Evolumes
1, 5, 6, 12, 11, 26, 43, 33, 20, 37, 34
2, 9, 12, 11, 2, 44, 34, 39, 15, 45, 38
3, 3, 4, 1, 12, 27, 36, 22, 24, 41, 35
@@ -64,6 +64,9 @@
11, 8, 7, 6, 12, 28, 29, 13, 40, 23, 43
12, 12, 10, 6, 8, 42, 30, 43, 40, 17, 13
** Define element set Eall
*ELSET, ELSET=Eall
Evolumes