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 564c30a471
commit 634987bc0f
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