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