FEM: abaqus writer, use better names for elementsets

This commit is contained in:
Bernd Hahnebach
2017-06-06 16:56:00 +01:00
committed by Yorik van Havre
parent b01e482e07
commit cd0014b16c
4 changed files with 27 additions and 9 deletions

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();
}

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

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

View File

@@ -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