diff --git a/AssemblerLib/LocalDataInitializer.h b/AssemblerLib/LocalDataInitializer.h index 972ff3f304880e01f4cd577c0de427630460e26d..32393d21c2eaa6593d4b12011249acadf2f02e9f 100644 --- a/AssemblerLib/LocalDataInitializer.h +++ b/AssemblerLib/LocalDataInitializer.h @@ -19,10 +19,21 @@ #include "NumLib/Fem/Integration/GaussIntegrationPolicy.h" +#include "NumLib/Fem/ShapeFunction/ShapeHex20.h" +#include "NumLib/Fem/ShapeFunction/ShapeHex8.h" #include "NumLib/Fem/ShapeFunction/ShapeLine2.h" -#include "NumLib/Fem/ShapeFunction/ShapeTri3.h" +#include "NumLib/Fem/ShapeFunction/ShapeLine3.h" +#include "NumLib/Fem/ShapeFunction/ShapePrism15.h" +#include "NumLib/Fem/ShapeFunction/ShapePrism6.h" +#include "NumLib/Fem/ShapeFunction/ShapePyra13.h" +#include "NumLib/Fem/ShapeFunction/ShapePyra5.h" #include "NumLib/Fem/ShapeFunction/ShapeQuad4.h" -#include "NumLib/Fem/ShapeFunction/ShapeHex8.h" +#include "NumLib/Fem/ShapeFunction/ShapeQuad8.h" +#include "NumLib/Fem/ShapeFunction/ShapeQuad9.h" +#include "NumLib/Fem/ShapeFunction/ShapeTet10.h" +#include "NumLib/Fem/ShapeFunction/ShapeTet4.h" +#include "NumLib/Fem/ShapeFunction/ShapeTri3.h" +#include "NumLib/Fem/ShapeFunction/ShapeTri6.h" namespace AssemblerLib { @@ -54,14 +65,36 @@ class LocalDataInitializer public: LocalDataInitializer() { - _builder[std::type_index(typeid(MeshLib::Line))] = - [](){ return new LAData<NumLib::ShapeLine2>; }; - _builder[std::type_index(typeid(MeshLib::Tri))] = - [](){ return new LAData<NumLib::ShapeTri3>; }; - _builder[std::type_index(typeid(MeshLib::Quad))] = - [](){ return new LAData<NumLib::ShapeQuad4>; }; - _builder[std::type_index(typeid(MeshLib::Hex))] = - [](){ return new LAData<NumLib::ShapeHex8>; }; + _builder[std::type_index(typeid(MeshLib::Hex20 ))] = + [](){ return new LAData<NumLib::ShapeHex20 >; }; + _builder[std::type_index(typeid(MeshLib::Hex ))] = + [](){ return new LAData<NumLib::ShapeHex8 >; }; + _builder[std::type_index(typeid(MeshLib::Line ))] = + [](){ return new LAData<NumLib::ShapeLine2 >; }; + _builder[std::type_index(typeid(MeshLib::Line3 ))] = + [](){ return new LAData<NumLib::ShapeLine3 >; }; + _builder[std::type_index(typeid(MeshLib::Prism15 ))] = + [](){ return new LAData<NumLib::ShapePrism15>; }; + _builder[std::type_index(typeid(MeshLib::Prism ))] = + [](){ return new LAData<NumLib::ShapePrism6 >; }; + _builder[std::type_index(typeid(MeshLib::Pyramid13))] = + [](){ return new LAData<NumLib::ShapePyra13 >; }; + _builder[std::type_index(typeid(MeshLib::Pyramid ))] = + [](){ return new LAData<NumLib::ShapePyra5 >; }; + _builder[std::type_index(typeid(MeshLib::Quad ))] = + [](){ return new LAData<NumLib::ShapeQuad4 >; }; + _builder[std::type_index(typeid(MeshLib::Quad8 ))] = + [](){ return new LAData<NumLib::ShapeQuad8 >; }; + _builder[std::type_index(typeid(MeshLib::Quad9 ))] = + [](){ return new LAData<NumLib::ShapeQuad9 >; }; + _builder[std::type_index(typeid(MeshLib::Tet10 ))] = + [](){ return new LAData<NumLib::ShapeTet10 >; }; + _builder[std::type_index(typeid(MeshLib::Tet ))] = + [](){ return new LAData<NumLib::ShapeTet4 >; }; + _builder[std::type_index(typeid(MeshLib::Tri ))] = + [](){ return new LAData<NumLib::ShapeTri3 >; }; + _builder[std::type_index(typeid(MeshLib::Tri6 ))] = + [](){ return new LAData<NumLib::ShapeTri6 >; }; } /// Sets the provided data_ptr to the newly created local assembler data and