diff --git a/src/Mod/Fem/App/FemMesh.cpp b/src/Mod/Fem/App/FemMesh.cpp index 259e934938..2dd3814282 100644 --- a/src/Mod/Fem/App/FemMesh.cpp +++ b/src/Mod/Fem/App/FemMesh.cpp @@ -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::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::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(); } diff --git a/src/Mod/Fem/test_files/ccx/cube_frequency.inp b/src/Mod/Fem/test_files/ccx/cube_frequency.inp index 047a6fd621..3b26ba7bbc 100644 --- a/src/Mod/Fem/test_files/ccx/cube_frequency.inp +++ b/src/Mod/Fem/test_files/ccx/cube_frequency.inp @@ -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 diff --git a/src/Mod/Fem/test_files/ccx/cube_static.inp b/src/Mod/Fem/test_files/ccx/cube_static.inp index 29b756a4a6..fbbbdd28a9 100644 --- a/src/Mod/Fem/test_files/ccx/cube_static.inp +++ b/src/Mod/Fem/test_files/ccx/cube_static.inp @@ -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 diff --git a/src/Mod/Fem/test_files/ccx/spine_thermomech.inp b/src/Mod/Fem/test_files/ccx/spine_thermomech.inp index 5b803b81dc..4a0b616b63 100644 --- a/src/Mod/Fem/test_files/ccx/spine_thermomech.inp +++ b/src/Mod/Fem/test_files/ccx/spine_thermomech.inp @@ -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