diff --git a/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp b/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp
index 377048bfb54e015fff5f686199c3695bebd66f03..f552b05752c358d06cc643c59dbfdfdb964465db 100644
--- a/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp
+++ b/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp
@@ -249,8 +249,8 @@ void CreateStructuredGridDialog::accept()
 
     boost::optional<MeshLib::PropertyVector<int>&> mat_ids (
         mesh->getProperties().createNewPropertyVector<int>("MaterialIDs", MeshLib::MeshItemType::Cell));
-    mat_ids->reserve(mesh->getNElements());
-    std::fill_n(std::back_inserter(*mat_ids), mesh->getNElements(), 0);
+    mat_ids->reserve(mesh->getNumberOfElements());
+    std::fill_n(std::back_inserter(*mat_ids), mesh->getNumberOfElements(), 0);
     emit meshAdded(mesh);
     this->done(QDialog::Accepted);
 }
diff --git a/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp b/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
index 58e5f884be65216dc6ce383e5a226c887a27cb98..81d7428537a36087b0b79e623ac217c189ddea5a 100644
--- a/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
+++ b/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
@@ -88,7 +88,7 @@ const std::vector< std::pair<std::size_t,double> >& DirectConditionGenerator::di
     std::vector<double> node_area_vec =
         MeshLib::MeshSurfaceExtraction::getSurfaceAreaForNodes(*surface_mesh);
     const std::vector<MeshLib::Node*> &surface_nodes(surface_mesh->getNodes());
-    const std::size_t nNodes(surface_mesh->getNNodes());
+    const std::size_t nNodes(surface_mesh->getNumberOfNodes());
     const double no_data(raster->getHeader().no_data);
 
     boost::optional<MeshLib::PropertyVector<int> const&> opt_node_id_pv(
diff --git a/Applications/DataExplorer/DataView/ElementTreeModel.cpp b/Applications/DataExplorer/DataView/ElementTreeModel.cpp
index 4ea042eabb9c5151bf65bf771732648df3134d64..c6ee22c0257202a0b518d92965b306f1eebf9c45 100644
--- a/Applications/DataExplorer/DataView/ElementTreeModel.cpp
+++ b/Applications/DataExplorer/DataView/ElementTreeModel.cpp
@@ -84,7 +84,7 @@ void ElementTreeModel::setElement(vtkUnstructuredGridAlgorithm const*const grid,
     elemItem->appendChild(nodeListItem);
 
     //const std::vector<MeshLib::Node*> nodes_vec = grid->getNodes();
-    std::size_t nElemNodes = elem->getNBaseNodes();
+    std::size_t nElemNodes = elem->getNumberOfBaseNodes();
     for (std::size_t i = 0; i < nElemNodes; i++)
     {
         const MeshLib::Node* node = elem->getNode(i);
@@ -114,12 +114,12 @@ void ElementTreeModel::setMesh(MeshLib::Mesh const& mesh)
     _rootItem->appendChild(name_item);
 
     QList<QVariant> nodes_number;
-    nodes_number << "#Nodes: " << QString::number(mesh.getNNodes()) << "" << "";
+    nodes_number << "#Nodes: " << QString::number(mesh.getNumberOfNodes()) << "" << "";
     TreeItem* nodes_item = new TreeItem(nodes_number, _rootItem);
     _rootItem->appendChild(nodes_item);
 
     QList<QVariant> elements_number;
-    elements_number << "#Elements: " << QString::number(mesh.getNElements()) << "" << "";
+    elements_number << "#Elements: " << QString::number(mesh.getNumberOfElements()) << "" << "";
     TreeItem* elements_item = new TreeItem(elements_number, _rootItem);
     _rootItem->appendChild(elements_item);
 
diff --git a/Applications/DataExplorer/DataView/GEOModels.cpp b/Applications/DataExplorer/DataView/GEOModels.cpp
index f6041ccc7ec35f3220a5710b1910ab4136915724..dc8fadec5f017067e995d6c7431ce1edd4b4814b 100644
--- a/Applications/DataExplorer/DataView/GEOModels.cpp
+++ b/Applications/DataExplorer/DataView/GEOModels.cpp
@@ -237,7 +237,7 @@ void GEOModels::addNameForObjectPoints(const std::string &geometry_name,
     else if (object_type == GeoLib::GEOTYPE::SURFACE)
     {
         const GeoLib::Surface* sfc = dynamic_cast<const GeoLib::Surface*>(obj);
-        std::size_t nTriangles = sfc->getNTriangles();
+        std::size_t nTriangles = sfc->getNumberOfTriangles();
         for (std::size_t i = 0; i < nTriangles; i++)
         {
             const GeoLib::Triangle* tri = (*sfc)[i];
diff --git a/Applications/DataExplorer/DataView/GeoTreeModel.cpp b/Applications/DataExplorer/DataView/GeoTreeModel.cpp
index bf1bce36c1d34ce5323e46e0e77be1736ebbccd8..92a01e67285b2b5de35f31da48033c83cc88c03b 100644
--- a/Applications/DataExplorer/DataView/GeoTreeModel.cpp
+++ b/Applications/DataExplorer/DataView/GeoTreeModel.cpp
@@ -237,7 +237,7 @@ void GeoTreeModel::addChildren(GeoObjectListItem* sfcList,
         GeoTreeItem* surfaceItem(new GeoTreeItem(surface, sfcList, &sfc));
         sfcList->appendChild(surfaceItem);
 
-        int nElems = static_cast<int>((*surfaces)[i]->getNTriangles());
+        int nElems = static_cast<int>((*surfaces)[i]->getNumberOfTriangles());
         for (int j = 0; j < nElems; j++)
         {
             QList<QVariant> elem;
diff --git a/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp b/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp
index a8f67b53be608e3519967c766e73ea226d8deb9d..d92a6a5efcaeeb2a92ef4b376d31c14852a7062c 100644
--- a/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp
@@ -57,12 +57,12 @@ void MeshAnalysisDialog::on_startButton_pressed()
     MeshLib::MeshRevision rev(const_cast<MeshLib::Mesh&>(mesh));
     std::vector<std::size_t> const& collapsibleNodeIds (rev.collapseNodeIndices(
         this->collapsibleNodesThreshold->text().toDouble() + std::numeric_limits<double>::epsilon()));
-    this->nodesGroupBox->setTitle("Nodes (out of " + QString::number(mesh.getNNodes()) + ")");
+    this->nodesGroupBox->setTitle("Nodes (out of " + QString::number(mesh.getNumberOfNodes()) + ")");
     this->nodesMsgOutput(unusedNodesIdx, collapsibleNodeIds);
 
     const std::vector<ElementErrorCode> element_error_codes (MeshLib::MeshValidation::testElementGeometry(
         mesh, this->zeroVolumeThreshold->text().toDouble() + std::numeric_limits<double>::epsilon()));
-    this->elementsGroupBox->setTitle("Elements (out of " + QString::number(mesh.getNElements()) + ")");
+    this->elementsGroupBox->setTitle("Elements (out of " + QString::number(mesh.getNumberOfElements()) + ")");
     this->elementsMsgOutput(element_error_codes);
 
     unsigned const n_holes (MeshLib::MeshValidation::detectHoles(mesh));
diff --git a/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp b/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp
index c244c50794d25e8030426a732ce8c031f9f4d167..8c672a97030e1d2e6e0e18fa54697100209eb939 100644
--- a/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp
@@ -178,10 +178,10 @@ void MeshElementRemovalDialog::on_materialIDCheckBox_toggled(bool is_checked)
             return;
         }
         auto const& mat_ids = opt_mat_ids.get();
-        if (mat_ids.size() != mesh->getNElements()) {
+        if (mat_ids.size() != mesh->getNumberOfElements()) {
             INFO("Size mismatch: Properties \"MaterialIDs\" contains %u values,"
                 " the mesh \"%s\" contains %u elements.", mat_ids.size(),
-                mesh->getName().c_str(), mesh->getNElements());
+                mesh->getName().c_str(), mesh->getNumberOfElements());
             return;
         }
         auto max_material = std::max_element(mat_ids.cbegin(), mat_ids.cend());
@@ -203,7 +203,7 @@ void MeshElementRemovalDialog::on_meshNameComboBox_currentIndexChanged(int idx)
     auto materialIds = mesh->getProperties().getPropertyVector<int>("MaterialIDs");
     if (materialIds)
     {
-        if (materialIds->size() != mesh->getNElements())
+        if (materialIds->size() != mesh->getNumberOfElements())
         {
             ERR ("Incorrect mesh structure: Number of Material IDs does not match number of mesh elements.");
             OGSError::box("Incorrect mesh structure detected.\n Number of Material IDs does not match number of mesh elements");
diff --git a/Applications/DataExplorer/VtkVis/VtkSurfacesSource.cpp b/Applications/DataExplorer/VtkVis/VtkSurfacesSource.cpp
index 360074571e4ea9d8c4c76e1a8c62e6a3d999c12d..adb6aaaf38150639fbc874395cdff8a947b25dd0 100644
--- a/Applications/DataExplorer/VtkVis/VtkSurfacesSource.cpp
+++ b/Applications/DataExplorer/VtkVis/VtkSurfacesSource.cpp
@@ -95,7 +95,7 @@ int VtkSurfacesSource::RequestData( vtkInformation* request,
     for (std::vector<GeoLib::Surface*>::const_iterator it = _surfaces->begin();
          it != _surfaces->end(); ++it)
     {
-        const std::size_t nTriangles = (*it)->getNTriangles();
+        const std::size_t nTriangles = (*it)->getNumberOfTriangles();
 
         for (std::size_t i = 0; i < nTriangles; ++i)
         {
diff --git a/Applications/FileIO/SHPInterface.cpp b/Applications/FileIO/SHPInterface.cpp
index 662091ece3aafcae28307a1c05d6c0c9417ba5df..5558641511d15eff007358520afe946a160aa006 100644
--- a/Applications/FileIO/SHPInterface.cpp
+++ b/Applications/FileIO/SHPInterface.cpp
@@ -202,7 +202,7 @@ bool SHPInterface::write2dMeshToSHP(const std::string &file_name, const MeshLib:
         return false;
     }
 
-    unsigned nElements (mesh.getNElements());
+    unsigned nElements (mesh.getNumberOfElements());
     if (nElements<1)
     {
         ERR ("SHPInterface::write2dMeshToSHP(): Mesh contains no elements.");
@@ -241,7 +241,7 @@ bool SHPInterface::write2dMeshToSHP(const std::string &file_name, const MeshLib:
             if (materialIds)
                 DBFWriteIntegerAttribute(hDBF, polygon_id, mat_field, (*materialIds)[i]);
 
-            unsigned nNodes (e->getNBaseNodes());
+            unsigned nNodes (e->getNumberOfBaseNodes());
             padfX = new double[nNodes+1];
             padfY = new double[nNodes+1];
             padfZ = new double[nNodes+1];
diff --git a/Applications/Utils/FileConverter/FEFLOW2OGS.cpp b/Applications/Utils/FileConverter/FEFLOW2OGS.cpp
index d550b73808e36df567017c24a91190d67a6caa7d..1339f774e424d5a2879cbe5d8d9f137ef0afd487 100644
--- a/Applications/Utils/FileConverter/FEFLOW2OGS.cpp
+++ b/Applications/Utils/FileConverter/FEFLOW2OGS.cpp
@@ -77,7 +77,7 @@ int main (int argc, char* argv[])
     INFO("Mem for mesh: %i MB", (mem_with_mesh - mem_without_mesh)/(1024*1024));
 #endif
     INFO("Time for reading: %f seconds.", run_time.elapsed());
-    INFO("Read %d nodes and %d elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Read %d nodes and %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     std::string ogs_mesh_fname(ogs_mesh_arg.getValue());
     INFO("Writing %s.", ogs_mesh_fname.c_str());
diff --git a/Applications/Utils/FileConverter/GMSH2OGS.cpp b/Applications/Utils/FileConverter/GMSH2OGS.cpp
index 74e5b5532d19f24345d08b03a3c5be2d8b7603ca..d90b2726c2464aedd77d0373fa8c933d22228c32 100644
--- a/Applications/Utils/FileConverter/GMSH2OGS.cpp
+++ b/Applications/Utils/FileConverter/GMSH2OGS.cpp
@@ -86,7 +86,7 @@ int main (int argc, char* argv[])
 #endif
 
     INFO("Time for reading: %f seconds.", run_time.elapsed());
-    INFO("Read %d nodes and %d elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Read %d nodes and %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     // *** remove line elements on request
     if (exclude_lines_arg.getValue()) {
@@ -94,7 +94,7 @@ int main (int argc, char* argv[])
         ex.searchByElementType(MeshLib::MeshElemType::LINE);
         auto m = MeshLib::removeElements(*mesh, ex.getSearchedElementIDs(), mesh->getName()+"-withoutLines");
         if (m != nullptr) {
-            INFO("Removed %d lines.", mesh->getNElements() - m->getNElements());
+            INFO("Removed %d lines.", mesh->getNumberOfElements() - m->getNumberOfElements());
             std::swap(m, mesh);
             delete m;
         } else {
diff --git a/Applications/Utils/FileConverter/OGS2VTK.cpp b/Applications/Utils/FileConverter/OGS2VTK.cpp
index 732f086894a51037e5921c2d9986f0df79e05954..f4ea07f6576874a52b21f5db98d2962ee9d48909 100644
--- a/Applications/Utils/FileConverter/OGS2VTK.cpp
+++ b/Applications/Utils/FileConverter/OGS2VTK.cpp
@@ -39,7 +39,7 @@ int main (int argc, char* argv[])
 
     std::unique_ptr<MeshLib::Mesh const> mesh(
         MeshLib::IO::readMeshFromFile(mesh_in.getValue()));
-    INFO("Mesh read: %d nodes, %d elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Mesh read: %d nodes, %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     MeshLib::IO::VtuInterface vtu(mesh.get());
     vtu.writeToFile(mesh_out.getValue());
diff --git a/Applications/Utils/FileConverter/TIN2VTK.cpp b/Applications/Utils/FileConverter/TIN2VTK.cpp
index ff97d82bdad888a7ac6b9c3b7ab283d6276ec2ce..3de9cb70db647a35a35d3d134f8f4e2fdba36430 100644
--- a/Applications/Utils/FileConverter/TIN2VTK.cpp
+++ b/Applications/Utils/FileConverter/TIN2VTK.cpp
@@ -56,11 +56,11 @@ int main (int argc, char* argv[])
         GeoLib::IO::TINInterface::readTIN(tinFileName, point_vec));
     if (!sfc)
         return EXIT_FAILURE;
-    INFO("TIN read:  %d points, %d triangles", pnt_vec->size(), sfc->getNTriangles());
+    INFO("TIN read:  %d points, %d triangles", pnt_vec->size(), sfc->getNumberOfTriangles());
 
     INFO("converting to mesh data");
     std::unique_ptr<MeshLib::Mesh> mesh(MeshLib::convertSurfaceToMesh(*sfc, BaseLib::extractBaseNameWithoutExtension(tinFileName), std::numeric_limits<double>::epsilon()));
-    INFO("Mesh created: %d nodes, %d elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Mesh created: %d nodes, %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     INFO("Write it into VTU");
     MeshLib::IO::VtuInterface writer(mesh.get());
diff --git a/Applications/Utils/FileConverter/VTK2OGS.cpp b/Applications/Utils/FileConverter/VTK2OGS.cpp
index 5b8b3a760a2d8237d02779cd093f865c945aff4e..4435bdbdd34eee450729341452cda6474a2c1c7b 100644
--- a/Applications/Utils/FileConverter/VTK2OGS.cpp
+++ b/Applications/Utils/FileConverter/VTK2OGS.cpp
@@ -39,7 +39,7 @@ int main (int argc, char* argv[])
     cmd.parse(argc, argv);
 
     MeshLib::Mesh* mesh (MeshLib::IO::VtuInterface::readVTUFile(mesh_in.getValue()));
-    INFO("Mesh read: %d nodes, %d elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Mesh read: %d nodes, %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     MeshLib::IO::Legacy::MeshIO meshIO;
     meshIO.setMesh(mesh);
diff --git a/Applications/Utils/FileConverter/VTK2TIN.cpp b/Applications/Utils/FileConverter/VTK2TIN.cpp
index 2a07f8f17a2f0162b61e7d60c0fb53ec596f1eb8..1231e7c5603d41895226d11c2ed156046d841b4f 100644
--- a/Applications/Utils/FileConverter/VTK2TIN.cpp
+++ b/Applications/Utils/FileConverter/VTK2TIN.cpp
@@ -49,7 +49,7 @@ int main (int argc, char* argv[])
     cmd.parse(argc, argv);
 
     std::unique_ptr<MeshLib::Mesh> mesh (MeshLib::IO::VtuInterface::readVTUFile(mesh_in.getValue()));
-    INFO("Mesh read: %d nodes, %d elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Mesh read: %d nodes, %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     INFO("Converting the mesh to TIN");
     GeoLib::GEOObjects geo_objects;
diff --git a/Applications/Utils/FileConverter/generateMatPropsFromMatID.cpp b/Applications/Utils/FileConverter/generateMatPropsFromMatID.cpp
index 4e549fc0ae22fc9b50c8fa6718f2b2f9c7513979..d96881ab8774d2530ced4ed81e9962bc4c221549 100644
--- a/Applications/Utils/FileConverter/generateMatPropsFromMatID.cpp
+++ b/Applications/Utils/FileConverter/generateMatPropsFromMatID.cpp
@@ -59,9 +59,9 @@ int main (int argc, char* argv[])
     }
 
     std::size_t const n_properties(materialIds->size());
-    if (n_properties != mesh->getNElements()) {
+    if (n_properties != mesh->getNumberOfElements()) {
         ERR("Size mismatch: number of elements (%u) != number of material "
-            "properties (%u).", mesh->getNElements(), n_properties);
+            "properties (%u).", mesh->getNumberOfElements(), n_properties);
         return EXIT_FAILURE;
     }
     std::string const name = BaseLib::extractBaseNameWithoutExtension(mesh_arg.getValue());
diff --git a/Applications/Utils/MeshEdit/ExtractSurface.cpp b/Applications/Utils/MeshEdit/ExtractSurface.cpp
index 13fab351ce6ee37d76c2879ed352c098239ee750..25b3532fde9bf4951eb877c51260d5b8ce074e8b 100644
--- a/Applications/Utils/MeshEdit/ExtractSurface.cpp
+++ b/Applications/Utils/MeshEdit/ExtractSurface.cpp
@@ -62,7 +62,7 @@ int main (int argc, char* argv[])
 
     std::unique_ptr<MeshLib::Mesh const> mesh(
         MeshLib::IO::readMeshFromFile(mesh_in.getValue()));
-    INFO("Mesh read: %u nodes, %u elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Mesh read: %u nodes, %u elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     // extract surface
     MathLib::Vector3 const dir(x.getValue(), y.getValue(), z.getValue());
diff --git a/Applications/Utils/MeshEdit/NodeReordering.cpp b/Applications/Utils/MeshEdit/NodeReordering.cpp
index 586896a08657bc3e48389ed5c3996baa35bc8b29..f57c08edac17244d132f24f39350f2b80a70ce8e 100644
--- a/Applications/Utils/MeshEdit/NodeReordering.cpp
+++ b/Applications/Utils/MeshEdit/NodeReordering.cpp
@@ -30,7 +30,7 @@ void reorderNodes(std::vector<MeshLib::Element*> &elements)
     std::size_t nElements (elements.size());
     for (std::size_t i=0; i<nElements; ++i)
     {
-        const unsigned nElemNodes (elements[i]->getNBaseNodes());
+        const unsigned nElemNodes (elements[i]->getNumberOfBaseNodes());
         std::vector<MeshLib::Node*> nodes(elements[i]->getNodes(), elements[i]->getNodes() + nElemNodes);
 
         switch (elements[i]->getGeomType())
@@ -70,7 +70,7 @@ void reorderNodes2(std::vector<MeshLib::Element*> &elements)
     std::size_t nElements (elements.size());
     for (std::size_t i=0; i<nElements; ++i)
     {
-        const unsigned nElemNodes (elements[i]->getNBaseNodes());
+        const unsigned nElemNodes (elements[i]->getNumberOfBaseNodes());
         std::vector<MeshLib::Node*> nodes(elements[i]->getNodes(), elements[i]->getNodes() + nElemNodes);
 
         for(std::size_t j = 0; j < nElemNodes; ++j)
diff --git a/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp b/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp
index 57e56409cdc1b2909beffa194d4045eadbc15993..72cb7ca9bcc55087a14fb84d04a22b3753f7dd4a 100644
--- a/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp
+++ b/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp
@@ -100,8 +100,8 @@ void resetMeshElementProperty(MeshLib::Mesh &mesh, GeoLib::Polygon const& polygo
     for(std::size_t j(0); j<mesh.getElements().size(); ++j) {
         bool elem_out(true);
         MeshLib::Element const*const elem(mesh.getElements()[j]);
-        for (auto k = decltype(elem->getNNodes()){0};
-             k < elem->getNNodes() && elem_out; ++k)
+        for (auto k = decltype(elem->getNumberOfNodes()){0};
+             k < elem->getNumberOfNodes() && elem_out; ++k)
         {
             if (! outside[elem->getNode(k)->getID()]) {
                 elem_out = false;
diff --git a/Applications/Utils/MeshEdit/appendLinesAlongPolyline.cpp b/Applications/Utils/MeshEdit/appendLinesAlongPolyline.cpp
index 7a5d7deb94fce46eff46d5e38f69591c7b705460..da2358013cc2457466e76167b7e324e8e8d62a38 100644
--- a/Applications/Utils/MeshEdit/appendLinesAlongPolyline.cpp
+++ b/Applications/Utils/MeshEdit/appendLinesAlongPolyline.cpp
@@ -69,12 +69,12 @@ int main (int argc, char* argv[])
         ERR("Mesh file \"%s\" not found", mesh_in.getValue().c_str());
         return EXIT_FAILURE;
     }
-    INFO("Mesh read: %d nodes, %d elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Mesh read: %d nodes, %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     // add line elements
     std::unique_ptr<MeshLib::Mesh> new_mesh =
         MeshGeoToolsLib::appendLinesAlongPolylines(*mesh, *ply_vec);
-    INFO("Mesh created: %d nodes, %d elements.", new_mesh->getNNodes(), new_mesh->getNElements());
+    INFO("Mesh created: %d nodes, %d elements.", new_mesh->getNumberOfNodes(), new_mesh->getNumberOfElements());
 
     MeshLib::IO::writeMeshToFile(*new_mesh, mesh_out.getValue());
 
diff --git a/Applications/Utils/MeshEdit/editMaterialID.cpp b/Applications/Utils/MeshEdit/editMaterialID.cpp
index 6fe15c099570d6da48471a314df2c4f2e5fc5a5c..78a8da336f65153f59a73de80ecdf72a8c01902a 100644
--- a/Applications/Utils/MeshEdit/editMaterialID.cpp
+++ b/Applications/Utils/MeshEdit/editMaterialID.cpp
@@ -73,7 +73,7 @@ int main (int argc, char* argv[])
 
     std::unique_ptr<MeshLib::Mesh> mesh(
         MeshLib::IO::readMeshFromFile(mesh_in.getValue()));
-    INFO("Mesh read: %d nodes, %d elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Mesh read: %d nodes, %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     if (condenseArg.isSet()) {
         INFO("Condensing material ID...");
diff --git a/Applications/Utils/MeshEdit/moveMeshNodes.cpp b/Applications/Utils/MeshEdit/moveMeshNodes.cpp
index c35ec249ee4e5e7acb986a18f26e16bcc9b0c605..7e26e05f0c8d58da27a03b06b84b00c49c5fac4f 100644
--- a/Applications/Utils/MeshEdit/moveMeshNodes.cpp
+++ b/Applications/Utils/MeshEdit/moveMeshNodes.cpp
@@ -133,7 +133,7 @@ int main (int argc, char* argv[])
         INFO("Moving all mesh nodes by %g in direction %d (%s)...", value, idx,
              dir.c_str());
         //double value(-10);
-        const std::size_t nNodes(mesh->getNNodes());
+        const std::size_t nNodes(mesh->getNumberOfNodes());
         std::vector<MeshLib::Node*> nodes (mesh->getNodes());
         for (std::size_t i=0; i<nNodes; i++)
         {
@@ -160,7 +160,7 @@ int main (int argc, char* argv[])
         MathLib::Point3d const& min(bounding_box.getMinPoint());
         MathLib::Point3d const& max(bounding_box.getMaxPoint());
 
-        const std::size_t nNodes(mesh->getNNodes());
+        const std::size_t nNodes(mesh->getNumberOfNodes());
         std::vector<MeshLib::Node*> nodes (mesh->getNodes());
 
         for (std::size_t i=0; i<nNodes; i++)
@@ -179,7 +179,7 @@ int main (int argc, char* argv[])
     // weighted by 2 and the elevation of each connected node weighted by 1
     if (current_key.compare("-LOWPASS")==0)
     {
-        const std::size_t nNodes(mesh->getNNodes());
+        const std::size_t nNodes(mesh->getNumberOfNodes());
         std::vector<MeshLib::Node*> nodes (mesh->getNodes());
 
         std::vector<double> elevation(nNodes);
diff --git a/Applications/Utils/MeshEdit/queryMesh.cpp b/Applications/Utils/MeshEdit/queryMesh.cpp
index edbb1bb40fc242cd578ac861f320ca3446f167a2..49f3ea71b5021e3574cc3cb727c154e07f1e177c 100644
--- a/Applications/Utils/MeshEdit/queryMesh.cpp
+++ b/Applications/Utils/MeshEdit/queryMesh.cpp
@@ -60,11 +60,11 @@ int main(int argc, char *argv[])
         if (materialIds)
             out << "Mat ID : " << (*materialIds)[ele_id] << std::endl;
         out << "Nodes: " << std::endl;
-        for (unsigned i=0; i<ele->getNNodes(); i++)
+        for (unsigned i=0; i<ele->getNumberOfNodes(); i++)
             out <<  ele->getNode(i)->getID() << " " << *ele->getNode(i) << std::endl;
         out << "Content: " << ele->getContent() << std::endl;
         out << "Neighbors: ";
-        for (unsigned i=0; i<ele->getNNeighbors(); i++)
+        for (unsigned i=0; i<ele->getNumberOfNeighbors(); i++)
         {
             if (ele->getNeighbor(i))
                 out << ele->getNeighbor(i)->getID() << " ";
@@ -85,7 +85,7 @@ int main(int argc, char *argv[])
         out << "# Node" << node->getID() << std::endl;
         out << "Coordinates: " << *node << std::endl;
         out << "Connected elements: " ;
-        for (unsigned i=0; i<node->getNElements(); i++)
+        for (unsigned i=0; i<node->getNumberOfElements(); i++)
             out << node->getElement(i)->getID() << " ";
         out << std::endl;
         INFO("%s", out.str().c_str());
diff --git a/Applications/Utils/MeshEdit/removeMeshElements.cpp b/Applications/Utils/MeshEdit/removeMeshElements.cpp
index 0a74df5ada399445e0756fe0e571d834fa2ad640..d83277e46e66a43605740fb2997ee7d8088a9045 100644
--- a/Applications/Utils/MeshEdit/removeMeshElements.cpp
+++ b/Applications/Utils/MeshEdit/removeMeshElements.cpp
@@ -99,7 +99,7 @@ int main (int argc, char* argv[])
 
     std::unique_ptr<MeshLib::Mesh const> mesh(
         MeshLib::IO::readMeshFromFile(mesh_in.getValue()));
-    INFO("Mesh read: %d nodes, %d elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Mesh read: %d nodes, %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
     MeshLib::ElementSearch searcher(*mesh);
 
     // search elements IDs to be removed
diff --git a/Applications/Utils/MeshEdit/reviseMesh.cpp b/Applications/Utils/MeshEdit/reviseMesh.cpp
index 9a376709b001157c3d9a36a93c4a8bdb50f921ad..e29dfc6e7f880ecf677292b4ed9a78eab52c5a91 100644
--- a/Applications/Utils/MeshEdit/reviseMesh.cpp
+++ b/Applications/Utils/MeshEdit/reviseMesh.cpp
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
         MeshLib::IO::readMeshFromFile(input_arg.getValue()));
     if (!org_mesh)
         return EXIT_FAILURE;
-    INFO("Mesh read: %d nodes, %d elements.", org_mesh->getNNodes(), org_mesh->getNElements());
+    INFO("Mesh read: %d nodes, %d elements.", org_mesh->getNumberOfNodes(), org_mesh->getNumberOfElements());
 
     // revise the mesh
     std::unique_ptr<MeshLib::Mesh> new_mesh;
@@ -65,7 +65,7 @@ int main(int argc, char *argv[])
 
     // write into a file
     if (new_mesh) {
-        INFO("Revised mesh: %d nodes, %d elements.", new_mesh->getNNodes(), new_mesh->getNElements());
+        INFO("Revised mesh: %d nodes, %d elements.", new_mesh->getNumberOfNodes(), new_mesh->getNumberOfElements());
         MeshLib::IO::writeMeshToFile(*new_mesh, output_arg.getValue());
     }
 
diff --git a/Applications/Utils/MeshGeoTools/ComputeSurfaceNodeIDsInPolygonalRegion.cpp b/Applications/Utils/MeshGeoTools/ComputeSurfaceNodeIDsInPolygonalRegion.cpp
index b76d00b4ef9a205f4679dd0a137266bae65ea7b7..51348a0afdc46ebd864837865ce44eb58aacecca 100644
--- a/Applications/Utils/MeshGeoTools/ComputeSurfaceNodeIDsInPolygonalRegion.cpp
+++ b/Applications/Utils/MeshGeoTools/ComputeSurfaceNodeIDsInPolygonalRegion.cpp
@@ -88,7 +88,7 @@ int main (int argc, char* argv[])
     cmd.parse(argc, argv);
 
     std::unique_ptr<MeshLib::Mesh const> mesh(MeshLib::IO::readMeshFromFile(mesh_in.getValue()));
-    INFO("Mesh read: %u nodes, %u elements.", mesh->getNNodes(), mesh->getNElements());
+    INFO("Mesh read: %u nodes, %u elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
     GeoLib::GEOObjects geo_objs;
     GeoLib::IO::readGeometryFromFile(geo_in.getValue(), geo_objs);
diff --git a/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp b/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp
index 26bb6c6fab797410de3c453fc6b9e0df67fd58c6..ec9dd4b9fc060f440cea4f362aeb902ebefad191 100644
--- a/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp
+++ b/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp
@@ -79,8 +79,8 @@ int main (int argc, char* argv[])
 
     std::unique_ptr<MeshLib::Mesh> surface_mesh(
         MeshLib::IO::readMeshFromFile(mesh_in.getValue()));
-    INFO("Mesh read: %u nodes, %u elements.", surface_mesh->getNNodes(),
-         surface_mesh->getNElements());
+    INFO("Mesh read: %u nodes, %u elements.", surface_mesh->getNumberOfNodes(),
+         surface_mesh->getNumberOfElements());
     // ToDo check if mesh is read correct and if the mesh is a surface mesh
 
     // check if a node property containing the subsurface ids is available
@@ -96,7 +96,7 @@ int main (int argc, char* argv[])
             ERR("Fatal error: could not create property.");
             return EXIT_FAILURE;
         }
-        node_ids->resize(surface_mesh->getNNodes());
+        node_ids->resize(surface_mesh->getNumberOfNodes());
         std::iota(node_ids->begin(), node_ids->end(), 0);
         orig_node_ids = node_ids;
     }
diff --git a/Applications/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp b/Applications/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp
index db3ac81df775a692c401206babbd0b046f24fe8a..481fa39185fee7a12eca417c45085b50b0f60a50 100644
--- a/Applications/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp
+++ b/Applications/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp
@@ -189,7 +189,7 @@ int main (int argc, char* argv[])
     compressed_src_properties[n_mat - 1] = src_properties[mat_map_size - 1];
 
     // reset materials in source mesh
-    const std::size_t n_mesh_elements(src_mesh->getNElements());
+    const std::size_t n_mesh_elements(src_mesh->getNumberOfElements());
     auto materialIds = src_mesh->getProperties().getPropertyVector<int>("MaterialIDs");
     if (!materialIds)
     {
@@ -203,11 +203,11 @@ int main (int argc, char* argv[])
     // do the interpolation
     MeshLib::Mesh2MeshPropertyInterpolation mesh_interpolation(src_mesh.get(),
                                                                &compressed_src_properties);
-    std::vector<double> dest_properties(dest_mesh->getNElements());
+    std::vector<double> dest_properties(dest_mesh->getNumberOfElements());
     mesh_interpolation.setPropertiesForMesh(dest_mesh.get(),
                                             dest_properties);
 
-    const std::size_t n_dest_mesh_elements(dest_mesh->getNElements());
+    const std::size_t n_dest_mesh_elements(dest_mesh->getNumberOfElements());
 
     { // write property file
         std::string property_fname(mapping_arg.getValue());
diff --git a/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp b/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp
index 4dd8b86245aebd5e87c334dc3ac82f1062ceeb8f..3f9fe4f149d127c254cb0470c49eccea31ed85bf 100644
--- a/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp
+++ b/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp
@@ -213,7 +213,7 @@ int main (int argc, char* argv[])
 
     if (mesh)
     {
-        INFO("Mesh created: %d nodes, %d elements.", mesh->getNNodes(), mesh->getNElements());
+        INFO("Mesh created: %d nodes, %d elements.", mesh->getNumberOfNodes(), mesh->getNumberOfElements());
 
         // write into a file
         MeshLib::IO::writeMeshToFile(*(mesh.get()), mesh_out.getValue());
diff --git a/BaseLib/Histogram.h b/BaseLib/Histogram.h
index de8a7edb7bec7a50e6735691e04c251426d80651..f25245a0306a7ad14998ff79745cc9a20f4cf82d 100644
--- a/BaseLib/Histogram.h
+++ b/BaseLib/Histogram.h
@@ -102,7 +102,7 @@ public:
 
     const Data& getSortedData() const { return _data; }
     const std::vector<std::size_t>& getBinCounts() const { return _histogram; }
-    const unsigned int& getNrBins() const { return _nr_bins; }
+    const unsigned int& getNumberOfBins() const { return _nr_bins; }
     const T& getMinimum() const { return _min; }
     const T& getMaximum() const { return _max; }
     const T& getBinWidth() const { return _bin_width; }
@@ -142,7 +142,7 @@ public:
         }
 
         out << "# Histogram for parameter " << param_name << " of data set " << data_set_name << "\n";
-        std::size_t const n_bins = this->getNrBins();
+        std::size_t const n_bins = this->getNumberOfBins();
         std::vector<std::size_t> const& bin_cnts(this->getBinCounts());
         double const min (this->getMinimum());
         double const bin_width (this->getBinWidth());
@@ -188,7 +188,7 @@ template <typename T>
 std::ostream&
 operator<<(std::ostream& os, const Histogram<T>& h)
 {
-    os << h.getNrBins() << " "
+    os << h.getNumberOfBins() << " "
        << h.getMinimum() << " "
        << h.getMaximum() << " ";
     std::copy(h.getBinCounts().begin(), h.getBinCounts().end(),
diff --git a/FileIO/TetGenInterface.cpp b/FileIO/TetGenInterface.cpp
index e8153fe9c301dadf5a4f439db09aa1a3c1a00920..f4f3e5ee829e8b12863ed76ae2e75a05aee9ed5b 100644
--- a/FileIO/TetGenInterface.cpp
+++ b/FileIO/TetGenInterface.cpp
@@ -185,7 +185,7 @@ bool TetGenInterface::parseSmeshFacets(std::ifstream &input,
 
     std::size_t nTotalTriangles (0);
     for (std::size_t i=0; i<surfaces.size(); ++i)
-        nTotalTriangles += surfaces[i]->getNTriangles();
+        nTotalTriangles += surfaces[i]->getNumberOfTriangles();
     if (nTotalTriangles == nFacets)
         return true;
 
@@ -539,12 +539,12 @@ bool TetGenInterface::writeTetGenSmesh(const std::string &file_name,
     const std::size_t nSurfaces = (surfaces) ? surfaces->size() : 0;
     std::size_t nTotalTriangles (0);
     for (std::size_t i=0; i<nSurfaces; ++i)
-        nTotalTriangles += (*surfaces)[i]->getNTriangles();
+        nTotalTriangles += (*surfaces)[i]->getNumberOfTriangles();
     out << nTotalTriangles << " 1\n";
 
     for (std::size_t i=0; i<nSurfaces; ++i)
     {
-        const std::size_t nTriangles ((*surfaces)[i]->getNTriangles());
+        const std::size_t nTriangles ((*surfaces)[i]->getNumberOfTriangles());
         const std::size_t marker (i+1); // must NOT be 0!
         // the poly list
         for (std::size_t j=0; j<nTriangles; ++j)
@@ -605,7 +605,7 @@ bool TetGenInterface::writeTetGenSmesh(const std::string &file_name,
             out << i+1 << " " << attribute_points[i][0] << " " << attribute_points[i][1] << " " << attribute_points[i][2] << " " << 10*attribute_points[i].getID() << "\n";
     }
 
-    INFO ("TetGenInterface::writeTetGenPoly() - %d points and %d surfaces successfully written.", nPoints, mesh.getNElements());
+    INFO ("TetGenInterface::writeTetGenPoly() - %d points and %d surfaces successfully written.", nPoints, mesh.getNumberOfElements());
     out.close();
     return true;
 }
@@ -649,7 +649,7 @@ void TetGenInterface::write3dElements(std::ofstream &out,
         if (elements[i]->getDimension() < 3)
             continue;
 
-        const unsigned nFaces (elements[i]->getNNeighbors());
+        const unsigned nFaces (elements[i]->getNumberOfNeighbors());
         std::string const mat_id_str = (materialIds) ? std::to_string((*materialIds)[i]) : "";
         for (std::size_t j=0; j<nFaces; ++j)
         {
diff --git a/GeoLib/GEOObjects.cpp b/GeoLib/GEOObjects.cpp
index 65a74a8f7e444edfd0a4f56b5e6960e81d563d66..87ee8064478fe91105502ce66a926691ed4922d0 100644
--- a/GeoLib/GEOObjects.cpp
+++ b/GeoLib/GEOObjects.cpp
@@ -492,7 +492,7 @@ void GEOObjects::mergeSurfaces(std::vector<std::string> const & geo_names,
             for (std::size_t k(0); k < sfcs->size(); k++) {
                 GeoLib::Surface* kth_sfc_new(new GeoLib::Surface (*merged_points));
                 GeoLib::Surface const* const kth_sfc_old ((*sfcs)[k]);
-                const std::size_t size_of_kth_sfc (kth_sfc_old->getNTriangles());
+                const std::size_t size_of_kth_sfc (kth_sfc_old->getNumberOfTriangles());
                 // clone surface elements using new ids
                 for (std::size_t i(0); i < size_of_kth_sfc; i++) {
                     const GeoLib::Triangle* tri ((*kth_sfc_old)[i]);
diff --git a/GeoLib/IO/Gmsh/GMSHPolygonTree.cpp b/GeoLib/IO/Gmsh/GMSHPolygonTree.cpp
index a33f6863d566508fc88c4c6844deee2648f3b0e5..319d1bcd7f301e1534e779afd9c82738ecf15be1 100644
--- a/GeoLib/IO/Gmsh/GMSHPolygonTree.cpp
+++ b/GeoLib/IO/Gmsh/GMSHPolygonTree.cpp
@@ -75,7 +75,7 @@ bool GMSHPolygonTree::insertStation(GeoLib::Point const* station)
             if (((*it)->getPolygon())->isPntInPolygon (*station)) {
                 bool rval(dynamic_cast<GMSHPolygonTree*>((*it))->insertStation (station));
                 // stop recursion if sub SimplePolygonTree is a leaf
-                if (rval && (*it)->getNChildren() == 0)
+                if (rval && (*it)->getNumberOfChildren() == 0)
                     _stations.push_back (station);
                 return rval;
             }
diff --git a/GeoLib/IO/TINInterface.cpp b/GeoLib/IO/TINInterface.cpp
index 3ab445b9e17ff43ba028cbbb7f54e673ad3b07a2..566e2ea6ec279fd9106fdfbfa4ee4a2251440025 100644
--- a/GeoLib/IO/TINInterface.cpp
+++ b/GeoLib/IO/TINInterface.cpp
@@ -115,7 +115,7 @@ GeoLib::Surface* TINInterface::readTIN(std::string const& fname,
         }
     }
 
-    if (sfc->getNTriangles() == 0) {
+    if (sfc->getNumberOfTriangles() == 0) {
         WARN("readTIN(): No triangle found.", fname.c_str());
         if (errors)
             errors->push_back ("readTIN error because of no triangle found");
@@ -134,7 +134,7 @@ void TINInterface::writeSurfaceAsTIN(GeoLib::Surface const& surface, std::string
         return;
     }
     os.precision(std::numeric_limits<double>::digits10);
-    const std::size_t n_tris (surface.getNTriangles());
+    const std::size_t n_tris (surface.getNumberOfTriangles());
     for (std::size_t l(0); l < n_tris; l++) {
         GeoLib::Triangle const& tri (*(surface[l]));
         os << l << " " << *(tri.getPoint(0)) << " " << *(tri.getPoint(1)) << " " << *(tri.getPoint(2)) << "\n";
diff --git a/GeoLib/IO/XmlIO/Boost/BoostXmlGmlInterface.cpp b/GeoLib/IO/XmlIO/Boost/BoostXmlGmlInterface.cpp
index 6c476c09d98132b43f4f996add767f9be952e85d..806362eccb915ffb490fb7f50e59a6ecb0ca8084 100644
--- a/GeoLib/IO/XmlIO/Boost/BoostXmlGmlInterface.cpp
+++ b/GeoLib/IO/XmlIO/Boost/BoostXmlGmlInterface.cpp
@@ -318,7 +318,7 @@ void BoostXmlGmlInterface::addSurfacesToPropertyTree(
         surface_tag.put("<xmlattr>.id", i);
         if (!sfc_name.empty())
             surface_tag.put("<xmlattr>.name", sfc_name);
-        for (std::size_t j=0; j<surface->getNTriangles(); ++j) {
+        for (std::size_t j=0; j<surface->getNumberOfTriangles(); ++j) {
             auto& element_tag = surface_tag.add("element", "");
             element_tag.put("<xmlattr>.p1", (*(*surface)[j])[0]);
             element_tag.put("<xmlattr>.p2", (*(*surface)[j])[1]);
diff --git a/GeoLib/IO/XmlIO/Qt/XmlGmlInterface.cpp b/GeoLib/IO/XmlIO/Qt/XmlGmlInterface.cpp
index a20df36ad9b87815fd000c6fb3c467f2c300a866..9279af2781e117ecbe2d08cba1fbf4caf29c5b41 100644
--- a/GeoLib/IO/XmlIO/Qt/XmlGmlInterface.cpp
+++ b/GeoLib/IO/XmlIO/Qt/XmlGmlInterface.cpp
@@ -394,7 +394,7 @@ bool XmlGmlInterface::write()
                     sfcListTag.appendChild(surfaceTag);
 
                     // writing the elements compromising the surface
-                    std::size_t nElements = ((*surfaces)[i])->getNTriangles();
+                    std::size_t nElements = ((*surfaces)[i])->getNumberOfTriangles();
                     for (std::size_t j = 0; j < nElements; j++)
                     {
                         QDomElement elementTag = doc.createElement("element");
diff --git a/GeoLib/Raster.cpp b/GeoLib/Raster.cpp
index 7df27f57eb5ffdc515a6130a7ce8f033a86bb491..1138de3ebd57a08895769a1c2ae22f00f2e733a4 100644
--- a/GeoLib/Raster.cpp
+++ b/GeoLib/Raster.cpp
@@ -62,7 +62,7 @@ Raster* Raster::getRasterFromSurface(Surface const& sfc, double cell_size, doubl
 
     const std::size_t n_cols = static_cast<std::size_t>(std::abs(ur[0]-ll[0]) / cell_size)+1;
     const std::size_t n_rows = static_cast<std::size_t>(std::abs(ur[1]-ll[1]) / cell_size)+1;
-    const std::size_t n_triangles(sfc.getNTriangles());
+    const std::size_t n_triangles(sfc.getNumberOfTriangles());
     double *z_vals (new double[n_cols*n_rows]);
     std::size_t k(0);
 
diff --git a/GeoLib/SimplePolygonTree.h b/GeoLib/SimplePolygonTree.h
index d2c2a6a660aee44c738902d1da3510c333ea9d05..4c1c9294085e29b0b30595c6258d23c2aa0ee409 100644
--- a/GeoLib/SimplePolygonTree.h
+++ b/GeoLib/SimplePolygonTree.h
@@ -55,7 +55,7 @@ public:
     const Polygon* getPolygon () const;
 
     /** returns the number of children */
-    std::size_t getNChildren() const { return _children.size(); }
+    std::size_t getNumberOfChildren() const { return _children.size(); }
 
 protected:
     /**
diff --git a/GeoLib/Surface.cpp b/GeoLib/Surface.cpp
index 2f2be4148d08df5efcec3dce6b5a0165f74eb72b..2d448040d8db15bcea57d7a0e9f29158a954d3ac 100644
--- a/GeoLib/Surface.cpp
+++ b/GeoLib/Surface.cpp
@@ -126,7 +126,7 @@ Surface* Surface::createSurface(const Polyline& ply)
         }
     }
     delete polygon;
-    if (sfc->getNTriangles() == 0)
+    if (sfc->getNumberOfTriangles() == 0)
     {
         WARN(
             "Surface::createSurface(): Triangulation does not contain any "
@@ -137,7 +137,7 @@ Surface* Surface::createSurface(const Polyline& ply)
     return sfc;
 }
 
-std::size_t Surface::getNTriangles() const
+std::size_t Surface::getNumberOfTriangles() const
 {
     return _sfc_triangles.size();
 }
diff --git a/GeoLib/Surface.h b/GeoLib/Surface.h
index e94fe2eca155c5c026002f9b9d35ecad4b140296..0a5874d522874553bc741b97d7a6b4e0e0446ba1 100644
--- a/GeoLib/Surface.h
+++ b/GeoLib/Surface.h
@@ -56,7 +56,7 @@ public:
     /**
      * returns the number of triangles describing the Surface
      * */
-    std::size_t getNTriangles() const;
+    std::size_t getNumberOfTriangles() const;
 
     /** \brief const access operator for the access to the i-th Triangle of the
      * surface.
diff --git a/GeoLib/SurfaceGrid.cpp b/GeoLib/SurfaceGrid.cpp
index a109aa1b43e8e36a245fdc53d7f30904f16e9a2e..9eaf95ce71fdbe886b6f5eb9639e1ae91019f6ca 100644
--- a/GeoLib/SurfaceGrid.cpp
+++ b/GeoLib/SurfaceGrid.cpp
@@ -58,7 +58,7 @@ SurfaceGrid::SurfaceGrid(Surface const*const sfc) :
         delta[2] = _max_pnt[2] - _min_pnt[2];
     }
 
-    const std::size_t n_tris(sfc->getNTriangles());
+    const std::size_t n_tris(sfc->getNumberOfTriangles());
     const std::size_t n_tris_per_cell(5);
 
     std::bitset<3> dim; // all bits are set to zero.
@@ -115,7 +115,7 @@ SurfaceGrid::SurfaceGrid(Surface const*const sfc) :
 
 void SurfaceGrid::sortTrianglesInGridCells(Surface const*const sfc)
 {
-    for (std::size_t l(0); l<sfc->getNTriangles(); l++) {
+    for (std::size_t l(0); l<sfc->getNumberOfTriangles(); l++) {
         if (! sortTriangleInGridCells((*sfc)[l])) {
             Point const& p0(*((*sfc)[l]->getPoint(0)));
             Point const& p1(*((*sfc)[l]->getPoint(1)));
diff --git a/MathLib/LinAlg/Dense/DenseMatrix-impl.h b/MathLib/LinAlg/Dense/DenseMatrix-impl.h
index 10665c5c15710bae65cd0e20b81aca6ebf9ef0bb..772ba4ba1e3ec2b6a4f5f276d72cb691e17cde1b 100644
--- a/MathLib/LinAlg/Dense/DenseMatrix-impl.h
+++ b/MathLib/LinAlg/Dense/DenseMatrix-impl.h
@@ -33,14 +33,14 @@ DenseMatrix<FP_TYPE, IDX_TYPE>::DenseMatrix(IDX_TYPE rows, IDX_TYPE cols,
 
 template<typename FP_TYPE, typename IDX_TYPE>
 DenseMatrix<FP_TYPE, IDX_TYPE>::DenseMatrix (const DenseMatrix<FP_TYPE, IDX_TYPE>& src) :
-        _n_rows(src.getNRows ()), _n_cols(src.getNCols ()), _data (new FP_TYPE[_n_rows * _n_cols])
+        _n_rows(src.getNumberOfRows ()), _n_cols(src.getNumberOfColumns ()), _data (new FP_TYPE[_n_rows * _n_cols])
 {
     std::copy(src._data, src._data+_n_rows*_n_cols, _data);
 }
 
 template<typename FP_TYPE, typename IDX_TYPE>
 DenseMatrix<FP_TYPE, IDX_TYPE>::DenseMatrix (DenseMatrix<FP_TYPE, IDX_TYPE> &&src) :
-       _n_rows(src.getNRows()), _n_cols(src.getNCols())
+       _n_rows(src.getNumberOfRows()), _n_cols(src.getNumberOfColumns())
 {
     src._n_rows = 0;
     src._n_cols = 0;
@@ -62,12 +62,12 @@ DenseMatrix<FP_TYPE, IDX_TYPE>::operator=(DenseMatrix<FP_TYPE, IDX_TYPE> const&
     if (this == &rhs)
         return *this;
 
-    if (_n_rows != rhs.getNRows() || _n_cols != rhs.getNCols()) {
+    if (_n_rows != rhs.getNumberOfRows() || _n_cols != rhs.getNumberOfColumns()) {
         std::string msg("DenseMatrix::operator=(DenseMatrix const& rhs), Dimension mismatch, ");
         msg += " left hand side: " + std::to_string(_n_rows) + " x "
                 + std::to_string(_n_cols);
-        msg += " right hand side: " + std::to_string(rhs.getNRows()) + " x "
-                + std::to_string(rhs.getNCols());
+        msg += " right hand side: " + std::to_string(rhs.getNumberOfRows()) + " x "
+                + std::to_string(rhs.getNumberOfColumns());
         throw std::range_error(msg);
         return *this;
     }
@@ -168,7 +168,7 @@ DenseMatrix<FP_TYPE, IDX_TYPE>*
 DenseMatrix<FP_TYPE, IDX_TYPE>::operator+(const DenseMatrix<FP_TYPE, IDX_TYPE>& mat) const
 {
     // make sure the two matrices have the same dimension.
-    if (_n_rows != mat.getNRows() || _n_cols != mat.getNCols())
+    if (_n_rows != mat.getNumberOfRows() || _n_cols != mat.getNumberOfColumns())
         throw std::range_error("DenseMatrix::operator+, illegal matrix size!");
 
     DenseMatrix<FP_TYPE, IDX_TYPE>* y(new DenseMatrix<FP_TYPE, IDX_TYPE>(_n_rows, _n_cols));
@@ -186,7 +186,7 @@ DenseMatrix<FP_TYPE, IDX_TYPE>*
 DenseMatrix<FP_TYPE, IDX_TYPE>::operator-(const DenseMatrix<FP_TYPE, IDX_TYPE>& mat) const
 {
     // make sure the two matrices have the same dimension.
-    if (_n_rows != mat.getNRows() || _n_cols != mat.getNCols())
+    if (_n_rows != mat.getNumberOfRows() || _n_cols != mat.getNumberOfColumns())
         throw std::range_error("DenseMatrix::operator-, illegal matrix size!");
 
     DenseMatrix<FP_TYPE, IDX_TYPE>* y(new DenseMatrix<FP_TYPE, IDX_TYPE>(_n_rows, _n_cols));
@@ -204,11 +204,11 @@ DenseMatrix<FP_TYPE, IDX_TYPE>*
 DenseMatrix<FP_TYPE, IDX_TYPE>::operator*(const DenseMatrix<FP_TYPE, IDX_TYPE>& mat) const
 {
     // make sure the two matrices have the same dimension.
-    if (_n_cols != mat.getNRows())
+    if (_n_cols != mat.getNumberOfRows())
         throw std::range_error(
                 "DenseMatrix::operator*, number of rows and cols should be the same!");
 
-    IDX_TYPE y_cols(mat.getNCols());
+    IDX_TYPE y_cols(mat.getNumberOfColumns());
     DenseMatrix<FP_TYPE, IDX_TYPE>* y(
             new DenseMatrix<FP_TYPE, IDX_TYPE>(_n_rows, y_cols, FP_TYPE(0)));
 
@@ -282,11 +282,11 @@ void
 DenseMatrix<FP_TYPE, IDX_TYPE>::setSubMatrix(IDX_TYPE b_row, IDX_TYPE b_col,
         const DenseMatrix<FP_TYPE, IDX_TYPE>& sub_mat)
 {
-    if (b_row + sub_mat.getNRows() > _n_rows | b_col + sub_mat.getNCols() > _n_cols)
+    if (b_row + sub_mat.getNumberOfRows() > _n_rows | b_col + sub_mat.getNumberOfColumns() > _n_cols)
         throw std::range_error("DenseMatrix::setSubMatrix() sub matrix to big");
 
-    for (IDX_TYPE i = 0; i < sub_mat.getNRows(); i++) {
-        for (IDX_TYPE j = 0; j < sub_mat.getNCols(); j++) {
+    for (IDX_TYPE i = 0; i < sub_mat.getNumberOfRows(); i++) {
+        for (IDX_TYPE j = 0; j < sub_mat.getNumberOfColumns(); j++) {
             _data[address(i + b_row, j + b_col)] = sub_mat(i, j);
         }
     }
@@ -338,8 +338,8 @@ sqrFrobNrm (const DenseMatrix<FP_TYPE, IDX_TYPE> &mat)
 {
     FP_TYPE nrm(static_cast<FP_TYPE>(0));
     IDX_TYPE i, j;
-    for (j = 0; j < mat.getNCols(); j++)
-        for (i = 0; i < mat.getNRows(); i++)
+    for (j = 0; j < mat.getNumberOfColumns(); j++)
+        for (i = 0; i < mat.getNumberOfRows(); i++)
             nrm += mat(i, j) * mat(i, j);
 
     return nrm;
diff --git a/MathLib/LinAlg/Dense/DenseMatrix.h b/MathLib/LinAlg/Dense/DenseMatrix.h
index 8122a0efa67ff17c4aa07f45ba1f54318a69d52b..921260cf04c856962abed46970304748287e46cb 100644
--- a/MathLib/LinAlg/Dense/DenseMatrix.h
+++ b/MathLib/LinAlg/Dense/DenseMatrix.h
@@ -143,12 +143,12 @@ public:
      * get the number of rows
      * @return the number of rows
      */
-    IDX_TYPE getNRows () const { return _n_rows; }
+    IDX_TYPE getNumberOfRows () const { return _n_rows; }
     /**
      * get the number of columns
      * @return the number of columns
      */
-    IDX_TYPE getNCols () const { return _n_cols; }
+    IDX_TYPE getNumberOfColumns () const { return _n_cols; }
 
     /**
      * get the number of entries in the matrix
diff --git a/MathLib/LinAlg/Eigen/EigenMatrix.h b/MathLib/LinAlg/Eigen/EigenMatrix.h
index d96e7fbd428f68214efda60d7c2d65aaca3b8261..0fdbc3c47b5076141140d9423f35005004981d88 100644
--- a/MathLib/LinAlg/Eigen/EigenMatrix.h
+++ b/MathLib/LinAlg/Eigen/EigenMatrix.h
@@ -49,16 +49,16 @@ public:
     }
 
     /// return the number of rows
-    std::size_t getNRows() const { return _mat.rows(); }
+    std::size_t getNumberOfRows() const { return _mat.rows(); }
 
     /// return the number of columns
-    std::size_t getNCols() const { return _mat.cols(); }
+    std::size_t getNumberOfColumns() const { return _mat.cols(); }
 
     /// return a start index of the active data range
     std::size_t getRangeBegin() const  { return 0; }
 
     /// return an end index of the active data range
-    std::size_t getRangeEnd() const  { return getNRows(); }
+    std::size_t getRangeEnd() const  { return getNumberOfRows(); }
 
     /// reset data entries to zero.
     void setZero()
@@ -73,7 +73,7 @@ public:
     /// dynamically allocates it.
     int setValue(IndexType row, IndexType col, double val)
     {
-        assert(row < (IndexType) getNRows() && col < (IndexType) getNCols());
+        assert(row < (IndexType) getNumberOfRows() && col < (IndexType) getNumberOfColumns());
         if (val != 0.0) _mat.coeffRef(row, col) = val;
         return 0;
     }
@@ -206,7 +206,7 @@ void operator()(EigenMatrix &matrix, SPARSITY_PATTERN const& sparsity_pattern)
                   "Set matrix sparsity relies on the EigenMatrix to be in "
                   "row-major storage order.");
 
-    assert(matrix.getNRows() == sparsity_pattern.size());
+    assert(matrix.getNumberOfRows() == sparsity_pattern.size());
 
     matrix.getRawMatrix().reserve(sparsity_pattern);
 }
diff --git a/MathLib/LinAlg/EigenLis/EigenLisLinearSolver.cpp b/MathLib/LinAlg/EigenLis/EigenLisLinearSolver.cpp
index 517ff34b77476d712dfbdf723dd458634cf70918..258662dad5548077acd218d8e789a51152a17592 100644
--- a/MathLib/LinAlg/EigenLis/EigenLisLinearSolver.cpp
+++ b/MathLib/LinAlg/EigenLis/EigenLisLinearSolver.cpp
@@ -45,7 +45,7 @@ bool EigenLisLinearSolver::solve(EigenMatrix &A_, EigenVector& b_,
     int* ptr = A.outerIndexPtr();
     int* col = A.innerIndexPtr();
     double* data = A.valuePtr();
-    LisMatrix lisA(A_.getNRows(), nnz, ptr, col, data);
+    LisMatrix lisA(A_.getNumberOfRows(), nnz, ptr, col, data);
     LisVector lisb(b.rows(), b.data());
     LisVector lisx(x.rows(), x.data());
 
diff --git a/MathLib/LinAlg/Lis/LisMatrix.h b/MathLib/LinAlg/Lis/LisMatrix.h
index ae32fb5cd9d9507578ec801fe394cc7bcb4ef80a..44546837234a87143248890d8d4a6d6251ca747e 100644
--- a/MathLib/LinAlg/Lis/LisMatrix.h
+++ b/MathLib/LinAlg/Lis/LisMatrix.h
@@ -89,10 +89,10 @@ public:
     virtual ~LisMatrix();
 
     /// return the number of rows
-    std::size_t getNRows() const { return _n_rows; }
+    std::size_t getNumberOfRows() const { return _n_rows; }
 
     /// return the number of columns
-    std::size_t getNCols() const { return getNRows(); }
+    std::size_t getNumberOfColumns() const { return getNumberOfRows(); }
 
     /// return a start index of the active data range
     std::size_t getRangeBegin() const { return _is; }
@@ -196,7 +196,7 @@ struct SetMatrixSparsity<LisMatrix, SPARSITY_PATTERN>
 
 void operator()(LisMatrix &matrix, SPARSITY_PATTERN const& sparsity_pattern)
 {
-    auto const n_rows = matrix.getNRows();
+    auto const n_rows = matrix.getNumberOfRows();
     std::vector<LisMatrix::IndexType> row_sizes;
     row_sizes.reserve(n_rows);
 
diff --git a/MathLib/LinAlg/PETSc/PETScMatrix.h b/MathLib/LinAlg/PETSc/PETScMatrix.h
index d063d58503758c19231e84da34e6b91c2ea358ee..7c93c5ffea20882099c480f352c078fe03f19f8b 100644
--- a/MathLib/LinAlg/PETSc/PETScMatrix.h
+++ b/MathLib/LinAlg/PETSc/PETScMatrix.h
@@ -77,26 +77,26 @@ class PETScMatrix
         }
 
         /// Get the number of rows.
-        PetscInt getNRows() const
+        PetscInt getNumberOfRows() const
         {
             return _nrows;
         }
 
         /// Get the number of columns.
-        PetscInt getNCols() const
+        PetscInt getNumberOfCols() const
         {
             return _ncols;
         }
 
 
         /// Get the number of local rows.
-        PetscInt getNLocalRows() const
+        PetscInt getNumberOfLocalRows() const
         {
             return _n_loc_rows;
         }
 
         /// Get the number of local columns.
-        PetscInt getNLocalColumns() const
+        PetscInt getNumberOfLocalColumns() const
         {
             return _n_loc_cols;
         }
diff --git a/MathLib/LinAlg/Solvers/GaussAlgorithm-impl.h b/MathLib/LinAlg/Solvers/GaussAlgorithm-impl.h
index b6c94348af494eab434347cdd33620f0c6b71b18..e97d03ccdda24557e035fb2c7fef04f1d0deb6ee 100644
--- a/MathLib/LinAlg/Solvers/GaussAlgorithm-impl.h
+++ b/MathLib/LinAlg/Solvers/GaussAlgorithm-impl.h
@@ -22,8 +22,8 @@ namespace MathLib
 template <typename MAT_T, typename VEC_T>
 void GaussAlgorithm<MAT_T, VEC_T>::performLU(MAT_T& A)
 {
-    IDX_T const nr(A.getNRows());
-    IDX_T const nc(A.getNCols());
+    IDX_T const nr(A.getNumberOfRows());
+    IDX_T const nc(A.getNumberOfColumns());
 
     for (IDX_T k=0; k<nc; k++) {
         // search pivot
@@ -59,7 +59,7 @@ template <typename V>
 void GaussAlgorithm<MAT_T, VEC_T>::
 solve (MAT_T& A, V& b, bool decompose)
 {
-    _perm.resize(A.getNRows());
+    _perm.resize(A.getNumberOfRows());
 
     if (decompose)
         performLU(A);
@@ -72,7 +72,7 @@ template <typename MAT_T, typename VEC_T>
 void GaussAlgorithm<MAT_T, VEC_T>::
 solve (MAT_T& A, FP_T* & b, bool decompose)
 {
-    _perm.resize(A.getNRows());
+    _perm.resize(A.getNumberOfRows());
 
     if (decompose)
         performLU(A);
@@ -86,7 +86,7 @@ void GaussAlgorithm<MAT_T, VEC_T>::solve (
         MAT_T& A, VEC_T const& b, VEC_T & x,
         bool decompose)
 {
-    for (std::size_t k(0); k<A.getNRows(); k++)
+    for (std::size_t k(0); k<A.getNumberOfRows(); k++)
         x[k] = b[k];
     solve(A, x, decompose);
 }
diff --git a/MathLib/LinAlg/Solvers/TriangularSolve-impl.h b/MathLib/LinAlg/Solvers/TriangularSolve-impl.h
index 4ec9bbfbea3f85939bebd249c6207e0e723c9120..c56b22f885093503c3516e3d8b6e01b31e744ebe 100644
--- a/MathLib/LinAlg/Solvers/TriangularSolve-impl.h
+++ b/MathLib/LinAlg/Solvers/TriangularSolve-impl.h
@@ -18,7 +18,7 @@ template <typename FP_T, typename VEC_T>
 void forwardSolve (const DenseMatrix <FP_T> &L, VEC_T& b)
 {
     typedef typename DenseMatrix<FP_T>::IDX_T IDX_T;
-    IDX_T m (L.getNRows());
+    IDX_T m (L.getNumberOfRows());
     FP_T t;
 
     for (IDX_T r=0; r<m; r++) {
@@ -35,7 +35,7 @@ void backwardSolve (const DenseMatrix <FP_T> &mat, VEC_T& b)
 {
     FP_T t;
     typedef typename DenseMatrix<FP_T>::IDX_T IDX_T;
-    IDX_T m (mat.getNRows()), n(mat.getNCols());
+    IDX_T m (mat.getNumberOfRows()), n(mat.getNumberOfColumns());
     for (int r=m-1; r>=0; r--) {
         t = 0.0;
         for (IDX_T c=r+1; c<n; c++) {
@@ -49,7 +49,7 @@ template <typename FP_T, typename VEC_T>
 void backwardSolve ( DenseMatrix<FP_T> const& mat, VEC_T& x, VEC_T const& b)
 {
     typedef typename DenseMatrix<FP_T>::IDX_T IDX_T;
-    IDX_T n_cols (mat.getNCols());
+    IDX_T n_cols (mat.getNumberOfColumns());
     for (int r = (n_cols - 1); r >= 0; r--) {
         FP_T t = 0.0;
 
diff --git a/MathLib/LinAlg/UnifiedMatrixSetters.cpp b/MathLib/LinAlg/UnifiedMatrixSetters.cpp
index 9cb8b559f3c884cf09b48381fb6499cd6b96c218..da657029005c6089f9605df3113948214b91b270 100644
--- a/MathLib/LinAlg/UnifiedMatrixSetters.cpp
+++ b/MathLib/LinAlg/UnifiedMatrixSetters.cpp
@@ -124,7 +124,7 @@ void setMatrix(PETScMatrix& m, Eigen::MatrixXd const& tmp)
     auto const rows = tmp.rows();
     auto const cols = tmp.cols();
 
-    assert(rows == m.getNRows() && cols == m.getNCols());
+    assert(rows == m.getNumberOfRows() && cols == m.getNumberOfColumns());
 
     m.setZero();
     std::vector<IndexType> row_idcs(rows);
@@ -144,8 +144,8 @@ void addToMatrix(PETScMatrix& m,
 {
     using IndexType = PETScMatrix::IndexType;
 
-    auto const rows = m.getNRows();
-    auto const cols = m.getNCols();
+    auto const rows = m.getNumberOfRows();
+    auto const cols = m.getNumberOfColumns();
 
     assert((IndexType) values.size() == rows*cols);
 
@@ -196,8 +196,8 @@ void setVector(EigenVector& v, MatrixVectorTraits<EigenVector>::Index const inde
 void setMatrix(EigenMatrix& m,
                std::initializer_list<double> values)
 {
-    auto const rows = m.getNRows();
-    auto const cols = m.getNCols();
+    auto const rows = m.getNumberOfRows();
+    auto const cols = m.getNumberOfColumns();
 
     assert(values.size() == rows*cols);
     Eigen::MatrixXd tmp(rows, cols);
@@ -220,8 +220,8 @@ void setMatrix(EigenMatrix& m, Eigen::MatrixXd const& tmp)
 void addToMatrix(EigenMatrix& m,
                  std::initializer_list<double> values)
 {
-    auto const rows = m.getNRows();
-    auto const cols = m.getNCols();
+    auto const rows = m.getNumberOfRows();
+    auto const cols = m.getNumberOfColumns();
 
     assert(values.size() == rows*cols);
     Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> tmp(rows, cols);
diff --git a/MathLib/Nonlinear/NewtonRaphson.h b/MathLib/Nonlinear/NewtonRaphson.h
index 083913f3f455d8c456fcb6640a7af058073db4c1..332db56c9478ba3d653060198694ae60f45353d2 100644
--- a/MathLib/Nonlinear/NewtonRaphson.h
+++ b/MathLib/Nonlinear/NewtonRaphson.h
@@ -75,7 +75,7 @@ public:
     bool solve(F_RESIDUAL &f_residual, F_DX &f_dx, const T_VALUE &x0, T_VALUE &x_new);
 
     /// return the number of iterations
-    std::size_t getNIterations() const {return _n_iterations; }
+    std::size_t getNumberOfIterations() const {return _n_iterations; }
 
     /// return absolute error in the last iteration
     double getAbsResidualError() const {return _r_abs_error; }
diff --git a/MathLib/Nonlinear/Picard.h b/MathLib/Nonlinear/Picard.h
index c912914b9f194b04052be28fd44835d68f3370e1..3790ed8fff12da9b32da30ce0702092439403e27 100644
--- a/MathLib/Nonlinear/Picard.h
+++ b/MathLib/Nonlinear/Picard.h
@@ -66,7 +66,7 @@ public:
     bool solve(T_FUNCTOR &functor,  const T_VALUE &x0, T_VALUE &x_new);
 
     /// return the number of iterations
-    std::size_t getNIterations() const {return _n_iterations; }
+    std::size_t getNumberOfIterations() const {return _n_iterations; }
 
     /// return absolute error in the last iteration
     double getAbsError() const {return _abs_error; }
diff --git a/MathLib/ODE/FunctionHandles.h b/MathLib/ODE/FunctionHandles.h
index af1b38d42f0558fd4723dcb006a4f88066df5a03..f98eb06262788431945e7c0cd493409e7ded2ae9 100644
--- a/MathLib/ODE/FunctionHandles.h
+++ b/MathLib/ODE/FunctionHandles.h
@@ -48,7 +48,7 @@ public:
     virtual bool hasJacobian() const = 0;
 
     //! Returns the number of equations in the ODE system.
-    virtual unsigned getNumEquations() const = 0;
+    virtual unsigned getNumberOfEquations() const = 0;
 
     virtual ~FunctionHandles() = default;
 };
@@ -101,7 +101,7 @@ struct FunctionHandlesImpl final : public FunctionHandles
     }
 
     bool hasJacobian() const override { return df != nullptr; }
-    unsigned getNumEquations() const override { return N; }
+    unsigned getNumberOfEquations() const override { return N; }
     Function<N> f;
     JacobianFunction<N> df;
 };
diff --git a/MathLib/ODE/ODESolver.h b/MathLib/ODE/ODESolver.h
index e0d1d0832d3f9dd2e8b6624f6c37e5d3ea0d04e0..2959d137e3f21799041bc86646f2a22122c5070a 100644
--- a/MathLib/ODE/ODESolver.h
+++ b/MathLib/ODE/ODESolver.h
@@ -111,7 +111,7 @@ public:
     virtual bool solve(const double t) = 0;
 
     //! Returns the number of equations.
-    virtual unsigned getNumEquations() const { return NumEquations; }
+    virtual unsigned getNumberOfEquations() const { return NumEquations; }
     //! Returns the solution vector \c y
     virtual MappedConstVector<NumEquations> getSolution() const = 0;
 
diff --git a/MeshGeoToolsLib/BoundaryElementsAlongPolyline.cpp b/MeshGeoToolsLib/BoundaryElementsAlongPolyline.cpp
index 3d76ba00bd409cc35d0aa349fe3a5550e0522c75..4de0185b6d239b5077a33d611223aa039bfb8e26 100644
--- a/MeshGeoToolsLib/BoundaryElementsAlongPolyline.cpp
+++ b/MeshGeoToolsLib/BoundaryElementsAlongPolyline.cpp
@@ -39,7 +39,7 @@ BoundaryElementsAlongPolyline::BoundaryElementsAlongPolyline(MeshLib::Mesh const
         if (!e->isBoundaryElement())
             continue;
         // find edges on the polyline
-        for (unsigned i=0; i<e->getNEdges(); i++) {
+        for (unsigned i=0; i<e->getNumberOfEdges(); i++) {
             auto* edge = e->getEdge(i);
             // check if all edge nodes are along the polyline (if yes, store a distance)
             std::vector<std::size_t> edge_node_distances_along_ply;
@@ -75,14 +75,14 @@ BoundaryElementsAlongPolyline::~BoundaryElementsAlongPolyline()
 bool BoundaryElementsAlongPolyline::includesAllEdgeNodeIDs(const std::vector<std::size_t> &vec_node_ids, const MeshLib::Element &edge, std::vector<std::size_t> &edge_node_distances) const
 {
     unsigned j=0;
-    for (; j<edge.getNBaseNodes(); j++) {
+    for (; j<edge.getNumberOfBaseNodes(); j++) {
         auto itr = std::find(vec_node_ids.begin(), vec_node_ids.end(), edge.getNodeIndex(j));
         if (itr != vec_node_ids.end())
             edge_node_distances.push_back(std::distance(vec_node_ids.begin(), itr));
         else
             break;
     }
-    return (j==edge.getNBaseNodes());
+    return (j==edge.getNumberOfBaseNodes());
 }
 
 MeshLib::Element* BoundaryElementsAlongPolyline::modifyEdgeNodeOrdering(const MeshLib::Element &edge, const GeoLib::Polyline &ply, const std::vector<std::size_t> &edge_node_distances_along_ply, const std::vector<std::size_t> &node_ids_on_poly) const
@@ -92,8 +92,8 @@ MeshLib::Element* BoundaryElementsAlongPolyline::modifyEdgeNodeOrdering(const Me
     // Otherwise, create a new element with reversed local node index
     if (edge_node_distances_along_ply.front() > edge_node_distances_along_ply.back()
             || (ply.isClosed() && edge_node_distances_along_ply.back() == node_ids_on_poly.size()-1)) {
-        MeshLib::Node** new_nodes = new MeshLib::Node*[edge.getNBaseNodes()];
-        std::reverse_copy(edge.getNodes(), edge.getNodes()+edge.getNBaseNodes(), new_nodes);
+        MeshLib::Node** new_nodes = new MeshLib::Node*[edge.getNumberOfBaseNodes()];
+        std::reverse_copy(edge.getNodes(), edge.getNodes()+edge.getNumberOfBaseNodes(), new_nodes);
         new_edge = new MeshLib::Line(new_nodes);
     }
     return new_edge;
diff --git a/MeshGeoToolsLib/BoundaryElementsOnSurface.cpp b/MeshGeoToolsLib/BoundaryElementsOnSurface.cpp
index 5ef22526e4e9e03d04e0210789ef5a92c93d5e09..29b9810455f177f6f28241bc9769f0aca6c552a8 100644
--- a/MeshGeoToolsLib/BoundaryElementsOnSurface.cpp
+++ b/MeshGeoToolsLib/BoundaryElementsOnSurface.cpp
@@ -35,18 +35,18 @@ BoundaryElementsOnSurface::BoundaryElementsOnSurface(MeshLib::Mesh const& mesh,
         if (!e->isBoundaryElement())
             continue;
         // find faces on surface
-        for (unsigned i=0; i<e->getNFaces(); i++) {
+        for (unsigned i=0; i<e->getNumberOfFaces(); i++) {
             auto* face = e->getFace(i);
             // check
             std::size_t cnt_match = 0;
-            for (std::size_t j=0; j<face->getNBaseNodes(); j++) {
+            for (std::size_t j=0; j<face->getNumberOfBaseNodes(); j++) {
                 if (std::find(node_ids_on_sfc.begin(), node_ids_on_sfc.end(), face->getNodeIndex(j)) != node_ids_on_sfc.end())
                     cnt_match++;
                 else
                     break;
             }
             // update the list
-            if (cnt_match==face->getNBaseNodes())
+            if (cnt_match==face->getNumberOfBaseNodes())
                 _boundary_elements.push_back(const_cast<MeshLib::Element*>(face));
             else
                 delete face;
diff --git a/MeshGeoToolsLib/GeoMapper.cpp b/MeshGeoToolsLib/GeoMapper.cpp
index 8401b02499315c4d52a9a608a434319bae7c31c2..e02d68ff08edc29877483f6ee85f12d437c085f0 100644
--- a/MeshGeoToolsLib/GeoMapper.cpp
+++ b/MeshGeoToolsLib/GeoMapper.cpp
@@ -100,7 +100,7 @@ void GeoMapper::mapOnMesh(const MeshLib::Mesh* mesh)
     MathLib::Point3d origin(std::array<double,3>{{0,0,0}});
     MathLib::Vector3 normal(0,0,-1);
     std::vector<MeshLib::Node> flat_nodes;
-    flat_nodes.reserve(_surface_mesh->getNNodes());
+    flat_nodes.reserve(_surface_mesh->getNumberOfNodes());
     // copy nodes and project the copied nodes to the x-y-plane, i.e. set
     // z-coordinate to zero
     for (auto n_ptr : _surface_mesh->getNodes()) {
@@ -269,7 +269,7 @@ void GeoMapper::advancedMapOnMesh(
     // squared so it can be compared to the squared distances calculated later
     max_segment_length *= max_segment_length;
 
-    const unsigned nMeshNodes ( mesh->getNNodes() );
+    const unsigned nMeshNodes ( mesh->getNumberOfNodes() );
     // index of closest geo point for each mesh node in (x,y)-plane
     std::vector<int> closest_geo_point(nMeshNodes, -1);
     // distance between geo points and mesh nodes in (x,y)-plane
@@ -317,7 +317,7 @@ void GeoMapper::advancedMapOnMesh(
             const std::size_t nElems = elements.size();
             for (std::size_t e=0; e<nElems; ++e)
             {
-                const unsigned nEdges (elements[e]->getNEdges());
+                const unsigned nEdges (elements[e]->getNumberOfEdges());
                 unsigned intersection_count (0);
 
                 for (unsigned n=0; n<nEdges; ++n)
diff --git a/MeshGeoToolsLib/HeuristicSearchLength.cpp b/MeshGeoToolsLib/HeuristicSearchLength.cpp
index 915f96d29b08a5231a0e6f8b37ee8c213b3ec4cd..086515a75ef0e5668f4df08ce6dc98d96b8b526b 100644
--- a/MeshGeoToolsLib/HeuristicSearchLength.cpp
+++ b/MeshGeoToolsLib/HeuristicSearchLength.cpp
@@ -31,7 +31,7 @@ HeuristicSearchLength::HeuristicSearchLength(MeshLib::Mesh const& mesh, LengthTy
     if (length_type==LengthType::Edge) {
         for (std::vector<MeshLib::Element*>::const_iterator it(elements.cbegin());
                 it != elements.cend(); ++it) {
-            std::size_t const n_edges((*it)->getNEdges());
+            std::size_t const n_edges((*it)->getNumberOfEdges());
             for (std::size_t k(0); k<n_edges; k++) {
                 auto edge = (*it)->getEdge(k);    // allocation inside getEdge().
                 double const len = edge->getContent();
@@ -48,7 +48,7 @@ HeuristicSearchLength::HeuristicSearchLength(MeshLib::Mesh const& mesh, LengthTy
             sum += std::sqrt(min);
             sum_of_sqr += min;
         }
-        n_sampling = _mesh.getNElements();
+        n_sampling = _mesh.getNumberOfElements();
     }
 
     const double mean (sum/n_sampling);
diff --git a/MeshGeoToolsLib/MeshNodesAlongPolyline.cpp b/MeshGeoToolsLib/MeshNodesAlongPolyline.cpp
index 439e2eae9216d2de71b970f8a08750c05b6c19fc..3398d8503d81910abfe8c79c97ccf3ac22a7eca3 100644
--- a/MeshGeoToolsLib/MeshNodesAlongPolyline.cpp
+++ b/MeshGeoToolsLib/MeshNodesAlongPolyline.cpp
@@ -30,7 +30,7 @@ MeshNodesAlongPolyline::MeshNodesAlongPolyline(
     _mesh(mesh), _ply(ply)
 {
     assert(epsilon_radius > 0);
-    const std::size_t n_nodes (search_all_nodes ? _mesh.getNNodes() : _mesh.getNBaseNodes());
+    const std::size_t n_nodes (search_all_nodes ? _mesh.getNumberOfNodes() : _mesh.getNumberOfBaseNodes());
     auto &mesh_nodes = _mesh.getNodes();
     // loop over all nodes
     for (std::size_t i = 0; i < n_nodes; i++) {
diff --git a/MeshGeoToolsLib/MeshNodesAlongSurface.cpp b/MeshGeoToolsLib/MeshNodesAlongSurface.cpp
index 173ff3c9cefd7a6b4bea0185b0fa0fc1dad40498..497ba9332fb736315540951074969aacba00a2e6 100644
--- a/MeshGeoToolsLib/MeshNodesAlongSurface.cpp
+++ b/MeshGeoToolsLib/MeshNodesAlongSurface.cpp
@@ -30,7 +30,7 @@ MeshNodesAlongSurface::MeshNodesAlongSurface(
     _mesh(mesh), _sfc(sfc)
 {
     auto& mesh_nodes = _mesh.getNodes();
-    const std::size_t n_nodes (search_all_nodes ? _mesh.getNNodes() : _mesh.getNBaseNodes());
+    const std::size_t n_nodes (search_all_nodes ? _mesh.getNumberOfNodes() : _mesh.getNumberOfBaseNodes());
     // loop over all nodes
     for (std::size_t i = 0; i < n_nodes; i++) {
         auto* node = mesh_nodes[i];
diff --git a/MeshLib/CoordinateSystem.cpp b/MeshLib/CoordinateSystem.cpp
index 7626d31c7d6fe48f4c93bcc393daf36d701a3320..e7a8c8687aa1124d8d7bb54f5169f906c416072f 100644
--- a/MeshLib/CoordinateSystem.cpp
+++ b/MeshLib/CoordinateSystem.cpp
@@ -16,7 +16,7 @@ namespace MeshLib
 
 CoordinateSystem::CoordinateSystem(const Element &ele)
 {
-    GeoLib::AABB const aabb(ele.getNodes(), ele.getNodes() + ele.getNNodes());
+    GeoLib::AABB const aabb(ele.getNodes(), ele.getNodes() + ele.getNumberOfNodes());
     CoordinateSystem const bboxCoordSys(getCoordinateSystem(aabb));
     if (bboxCoordSys.getDimension() >= ele.getDimension()) {
         _type = bboxCoordSys.getType();
diff --git a/MeshLib/ElementCoordinatesMappingLocal.cpp b/MeshLib/ElementCoordinatesMappingLocal.cpp
index f3d6200a8bb0d61db74916174a09233b1f729fc2..1c79430075606b19456f78f78de056255de06727 100644
--- a/MeshLib/ElementCoordinatesMappingLocal.cpp
+++ b/MeshLib/ElementCoordinatesMappingLocal.cpp
@@ -72,8 +72,8 @@ ElementCoordinatesMappingLocal::ElementCoordinatesMappingLocal(
 : _coords(global_coords), _matR2global(3,3)
 {
     assert(e.getDimension() <= global_coords.getDimension());
-    _points.reserve(e.getNNodes());
-    for(unsigned i = 0; i < e.getNNodes(); i++)
+    _points.reserve(e.getNumberOfNodes());
+    for(unsigned i = 0; i < e.getNumberOfNodes(); i++)
         _points.emplace_back(*(e.getNode(i)));
 
     auto const element_dimension = e.getDimension();
diff --git a/MeshLib/ElementStatus.cpp b/MeshLib/ElementStatus.cpp
index 5c8b5139e671d44b1631a67098f43855a2a3e1c7..099374ef90d19de35e9a5b905060b880a9ec1ae1 100644
--- a/MeshLib/ElementStatus.cpp
+++ b/MeshLib/ElementStatus.cpp
@@ -22,12 +22,12 @@ namespace MeshLib {
 
 ElementStatus::ElementStatus(Mesh const* const mesh, bool hasAnyInactive)
     : _mesh(mesh),
-      _element_status(mesh->getNElements(), true),
+      _element_status(mesh->getNumberOfElements(), true),
       _hasAnyInactive(hasAnyInactive)
 {
     const std::vector<MeshLib::Node*>& nodes(_mesh->getNodes());
     for (auto node : nodes)
-        _active_nodes.push_back(node->getNElements());
+        _active_nodes.push_back(node->getNumberOfElements());
 }
 
 ElementStatus::ElementStatus(Mesh const* const mesh,
@@ -45,14 +45,14 @@ ElementStatus::ElementStatus(Mesh const* const mesh,
         }
     }
 
-    _vec_active_eles.reserve(getNActiveElements());
-    const std::size_t nElems (_mesh->getNElements());
+    _vec_active_eles.reserve(getNumberOfActiveElements());
+    const std::size_t nElems (_mesh->getNumberOfElements());
     for (std::size_t i=0; i<nElems; ++i)
         if (_element_status[i])
             _vec_active_eles.push_back(const_cast<MeshLib::Element*>(_mesh->getElement(i)));
 
-    _vec_active_nodes.reserve(this->getNActiveNodes());
-    const std::size_t nNodes (_mesh->getNNodes());
+    _vec_active_nodes.reserve(this->getNumberOfActiveNodes());
+    const std::size_t nNodes (_mesh->getNumberOfNodes());
     for (std::size_t i=0; i<nNodes; ++i)
         if (_active_nodes[i]>0)
             _vec_active_nodes.push_back(const_cast<MeshLib::Node*>(_mesh->getNode(i)));
@@ -96,12 +96,12 @@ std::vector<MeshLib::Element*> ElementStatus::getActiveElementsAtNode(std::size_
     return active_elements;
 }
 
-std::size_t ElementStatus::getNActiveNodes() const
+std::size_t ElementStatus::getNumberOfActiveNodes() const
 {
     return _active_nodes.size() - std::count(_active_nodes.cbegin(), _active_nodes.cend(), 0);
 }
 
-std::size_t ElementStatus::getNActiveElements() const
+std::size_t ElementStatus::getNumberOfActiveElements() const
 {
     return static_cast<std::size_t>(
         std::count(_element_status.cbegin(), _element_status.cend(), true));
@@ -113,7 +113,7 @@ void ElementStatus::setElementStatus(std::size_t i, bool status)
     {
         const int change = (status) ? 1 : -1;
         _element_status[i] = status;
-        const unsigned nElemNodes (_mesh->getElement(i)->getNBaseNodes());
+        const unsigned nElemNodes (_mesh->getElement(i)->getNumberOfBaseNodes());
         MeshLib::Node const*const*const nodes = _mesh->getElement(i)->getNodes();
         for (unsigned j=0; j<nElemNodes; ++j)
         {
diff --git a/MeshLib/ElementStatus.h b/MeshLib/ElementStatus.h
index ddd4ed8a59147c28ac0fea6cdd62a8fdf4db224a..d9135756da29f85a8573e95c49df91d975963835 100644
--- a/MeshLib/ElementStatus.h
+++ b/MeshLib/ElementStatus.h
@@ -47,10 +47,10 @@ public:
     std::vector<MeshLib::Element*> getActiveElementsAtNode(std::size_t node_id) const;
 
     /// Returns the total number of active nodes
-    std::size_t getNActiveNodes() const;
+    std::size_t getNumberOfActiveNodes() const;
 
     /// Returns the total number of active elements
-    std::size_t getNActiveElements() const;
+    std::size_t getNumberOfActiveElements() const;
 
 protected:
     /// Sets the status of element i
diff --git a/MeshLib/Elements/CellRule.cpp b/MeshLib/Elements/CellRule.cpp
index 1d9485e474e4ca2be33a3c01fef17c9dc57e41cc..df1daaf07d1fe564ff45a83f154618d6ca3705b1 100644
--- a/MeshLib/Elements/CellRule.cpp
+++ b/MeshLib/Elements/CellRule.cpp
@@ -19,7 +19,7 @@ namespace MeshLib {
 bool CellRule::testElementNodeOrder(const Element* e)
 {
     const MathLib::Vector3 c (e->getCenterOfGravity());
-    const unsigned nFaces (e->getNFaces());
+    const unsigned nFaces (e->getNumberOfFaces());
     for (unsigned j=0; j<nFaces; ++j)
     {
         MeshLib::Element const*const face (e->getFace(j));
diff --git a/MeshLib/Elements/EdgeReturn.cpp b/MeshLib/Elements/EdgeReturn.cpp
index 06e1ba9e30a5646e13d0620ed582903bf92bfc68..f0d46780706a45a7eed0e1472ab865c27346bf65 100644
--- a/MeshLib/Elements/EdgeReturn.cpp
+++ b/MeshLib/Elements/EdgeReturn.cpp
@@ -20,7 +20,7 @@ namespace MeshLib
 
 const Element* LinearEdgeReturn::getEdge(const Element* e, unsigned i)
 {
-    if (i < e->getNEdges())
+    if (i < e->getNumberOfEdges())
     {
         Node** nodes = new Node*[2];
         nodes[0] = const_cast<Node*>(e->getEdgeNode(i,0));
@@ -33,7 +33,7 @@ const Element* LinearEdgeReturn::getEdge(const Element* e, unsigned i)
 
 const Element* QuadraticEdgeReturn::getEdge(const Element* e, unsigned i)
 {
-    if (i < e->getNEdges())
+    if (i < e->getNumberOfEdges())
     {
         Node** nodes = new Node*[3];
         nodes[0] = const_cast<Node*>(e->getEdgeNode(i,0));
diff --git a/MeshLib/Elements/EdgeRule.h b/MeshLib/Elements/EdgeRule.h
index 8b4f541870d97eff11af3576d9bb240f09fd2d8b..e7cd1e02598f478fb60b9603d09c8dbcc19d610b 100644
--- a/MeshLib/Elements/EdgeRule.h
+++ b/MeshLib/Elements/EdgeRule.h
@@ -28,7 +28,7 @@ public:
     static const unsigned n_edges = 0;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned /*i*/) { return 0; }
+    static unsigned getNumberOfFaceNodes(unsigned /*i*/) { return 0; }
 
     /// Returns the i-th face of the element.
     static const Element* getFace(const Element* /*e*/, unsigned /*i*/) { return nullptr; }
diff --git a/MeshLib/Elements/Element.cpp b/MeshLib/Elements/Element.cpp
index e5b5c0d1388b2f0420bbafc2227968dd0552ac3f..1e8f2fa3018b5c82c34c0252ce436ea925f7cfc2 100644
--- a/MeshLib/Elements/Element.cpp
+++ b/MeshLib/Elements/Element.cpp
@@ -53,8 +53,8 @@ boost::optional<unsigned> Element::addNeighbor(Element* e)
         return boost::optional<unsigned>();
 
     Node* face_nodes[3];
-    const unsigned nNodes (this->getNBaseNodes());
-    const unsigned eNodes (e->getNBaseNodes());
+    const unsigned nNodes (this->getNumberOfBaseNodes());
+    const unsigned eNodes (e->getNumberOfBaseNodes());
     const Node* const* e_nodes = e->getNodes();
     unsigned count(0);
     const unsigned dim (this->getDimension());
@@ -76,7 +76,7 @@ boost::optional<unsigned> Element::addNeighbor(Element* e)
 
 MeshLib::Node Element::getCenterOfGravity() const
 {
-    const unsigned nNodes (this->getNBaseNodes());
+    const unsigned nNodes (this->getNumberOfBaseNodes());
     MeshLib::Node center(0,0,0);
     for (unsigned i=0; i<nNodes; ++i)
     {
@@ -94,7 +94,7 @@ void Element::computeSqrEdgeLengthRange(double &min, double &max) const
 {
     min = std::numeric_limits<double>::max();
     max = 0;
-    const unsigned nEdges (this->getNEdges());
+    const unsigned nEdges (this->getNumberOfEdges());
     for (unsigned i=0; i<nEdges; i++)
     {
         const double dist (MathLib::sqrDist(*getEdgeNode(i,0), *getEdgeNode(i,1)));
@@ -107,7 +107,7 @@ void Element::computeSqrNodeDistanceRange(double &min, double &max, bool check_a
 {
     min = std::numeric_limits<double>::max();
     max = 0;
-    const unsigned nnodes = check_allnodes ? getNNodes() : getNBaseNodes();
+    const unsigned nnodes = check_allnodes ? getNumberOfNodes() : getNumberOfBaseNodes();
     for (unsigned i=0; i<nnodes; i++)
     {
         for (unsigned j=i+1; j<nnodes; j++)
@@ -122,7 +122,7 @@ void Element::computeSqrNodeDistanceRange(double &min, double &max, bool check_a
 const Element* Element::getNeighbor(unsigned i) const
 {
 #ifndef NDEBUG
-    if (i < getNNeighbors())
+    if (i < getNumberOfNeighbors())
 #endif
         return _neighbors[i];
 #ifndef NDEBUG
@@ -133,7 +133,7 @@ const Element* Element::getNeighbor(unsigned i) const
 
 unsigned Element::getNodeIDinElement(const MeshLib::Node* node) const
 {
-    const unsigned nNodes (this->getNBaseNodes());
+    const unsigned nNodes (this->getNumberOfBaseNodes());
     for (unsigned i(0); i<nNodes; i++)
         if (node == _nodes[i])
             return i;
@@ -143,7 +143,7 @@ unsigned Element::getNodeIDinElement(const MeshLib::Node* node) const
 const Node* Element::getNode(unsigned i) const
 {
 #ifndef NDEBUG
-    if (i < getNNodes())
+    if (i < getNumberOfNodes())
 #endif
         return _nodes[i];
 #ifndef NDEBUG
@@ -155,7 +155,7 @@ const Node* Element::getNode(unsigned i) const
 void Element::setNode(unsigned idx, Node* node)
 {
 #ifndef NDEBUG
-    if (idx < getNNodes())
+    if (idx < getNumberOfNodes())
 #endif
         _nodes[idx] = node;
 }
@@ -163,7 +163,7 @@ void Element::setNode(unsigned idx, Node* node)
 unsigned Element::getNodeIndex(unsigned i) const
 {
 #ifndef NDEBUG
-    if (i<getNNodes())
+    if (i<getNumberOfNodes())
 #endif
         return _nodes[i]->getID();
 #ifndef NDEBUG
@@ -174,7 +174,7 @@ unsigned Element::getNodeIndex(unsigned i) const
 
 bool Element::hasNeighbor(Element* elem) const
 {
-    unsigned nNeighbors (this->getNNeighbors());
+    unsigned nNeighbors (this->getNumberOfNeighbors());
     for (unsigned i=0; i<nNeighbors; i++)
         if (this->_neighbors[i]==elem)
             return true;
@@ -183,17 +183,17 @@ bool Element::hasNeighbor(Element* elem) const
 
 bool Element::isBoundaryElement() const
 {
-    return std::any_of(_neighbors, _neighbors + this->getNNeighbors(),
+    return std::any_of(_neighbors, _neighbors + this->getNumberOfNeighbors(),
         [](MeshLib::Element const*const e){ return e == nullptr; });
 }
 
 #ifndef NDEBUG
 std::ostream& operator<<(std::ostream& os, Element const& e)
 {
-    os << "Element #" << e._id << " @ " << &e << " with " << e.getNNeighbors()
+    os << "Element #" << e._id << " @ " << &e << " with " << e.getNumberOfNeighbors()
        << " neighbours\n";
 
-    unsigned const nnodes = e.getNNodes();
+    unsigned const nnodes = e.getNumberOfNodes();
     MeshLib::Node* const* const nodes = e.getNodes();
     os << "MeshElemType: "
         << static_cast<std::underlying_type<MeshElemType>::type>(e.getGeomType())
diff --git a/MeshLib/Elements/Element.h b/MeshLib/Elements/Element.h
index 3923c1690eff5f31d123a3b605384fd80cc90ba9..ec6ce23d86fdc391f83160975b70b501fd4ec1df 100644
--- a/MeshLib/Elements/Element.h
+++ b/MeshLib/Elements/Element.h
@@ -62,7 +62,7 @@ public:
      * Get node with local index i where i should be at most the number
      * of nodes of the element
      * @param i local index of node, at most the number of nodes of the
-     * element that you can obtain with Element::getNBaseNodes()
+     * element that you can obtain with Element::getNumberOfBaseNodes()
      * @return a pointer to the appropriate (and constant, i.e. not
      * modifiable by the user) instance of class Node or a NULL pointer
      * @sa Element::getNodeIndex()
@@ -92,27 +92,27 @@ public:
     virtual std::size_t getID() const final { return _id; }
 
     /// Get the number of edges for this element.
-    virtual unsigned getNEdges() const = 0;
+    virtual unsigned getNumberOfEdges() const = 0;
 
     /// Get the number of nodes for face i.
-    virtual unsigned getNFaceNodes(unsigned i) const = 0;
+    virtual unsigned getNumberOfFaceNodes(unsigned i) const = 0;
 
     /// Get the number of faces for this element.
-    virtual unsigned getNFaces() const = 0;
+    virtual unsigned getNumberOfFaces() const = 0;
 
     /// Get the specified neighbor.
     const Element* getNeighbor(unsigned i) const;
 
     /// Get the number of neighbors for this element.
-    virtual unsigned getNNeighbors() const = 0;
+    virtual unsigned getNumberOfNeighbors() const = 0;
 
     /**
      * Returns the number of linear nodes.
      */
-    virtual unsigned getNBaseNodes() const = 0;
+    virtual unsigned getNumberOfBaseNodes() const = 0;
 
     /// Returns the number of all nodes including both linear and nonlinear nodes
-    virtual unsigned getNNodes() const = 0;
+    virtual unsigned getNumberOfNodes() const = 0;
 
     /// Returns the position of the given node in the node array of this element.
     virtual unsigned getNodeIDinElement(const MeshLib::Node* node) const;
@@ -121,7 +121,7 @@ public:
      * Get the global index for the Node with local index i.
      * The index i should be at most the number of nodes of the element.
      * @param i local index of Node, at most the number of nodes of the
-     * element that you can obtain with Element::getNBaseNodes()
+     * element that you can obtain with Element::getNumberOfBaseNodes()
      * @return the global index or std::numeric_limits<unsigned>::max()
      * @sa Element::getNode()
      */
diff --git a/MeshLib/Elements/FaceRule.h b/MeshLib/Elements/FaceRule.h
index 24610e9522fa7f496f0a41e341f716ebde98642f..fec27ce93157aa14ddea701980ee053867c7b06f 100644
--- a/MeshLib/Elements/FaceRule.h
+++ b/MeshLib/Elements/FaceRule.h
@@ -26,7 +26,7 @@ public:
     static const Element* getFace(const Element* e, unsigned i) { return e->getEdge(i); }
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned /*i*/) { return 2; }
+    static unsigned getNumberOfFaceNodes(unsigned /*i*/) { return 2; }
 
     /// Constant: The number of faces
     static const unsigned n_faces = 0;
diff --git a/MeshLib/Elements/HexRule20.h b/MeshLib/Elements/HexRule20.h
index 7361b7da4011c459f6cbc109c0b0465b09702b2c..b3a46bfb7f4f68a734d9c2cfca373a2c433c0c0c 100644
--- a/MeshLib/Elements/HexRule20.h
+++ b/MeshLib/Elements/HexRule20.h
@@ -62,7 +62,7 @@ public:
     typedef QuadraticEdgeReturn EdgeReturn;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned /*i*/) { return 8; }
+    static unsigned getNumberOfFaceNodes(unsigned /*i*/) { return 8; }
 
     /// Returns the i-th face of the element.
     static const Element* getFace(const Element* e, unsigned i);
diff --git a/MeshLib/Elements/HexRule8.h b/MeshLib/Elements/HexRule8.h
index ef99bd1da1867dda02e81685ed82244707e5fe55..dd8c40619bb7e4585d9356d5a13a4de6db6674e7 100644
--- a/MeshLib/Elements/HexRule8.h
+++ b/MeshLib/Elements/HexRule8.h
@@ -77,7 +77,7 @@ public:
     typedef LinearEdgeReturn EdgeReturn;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned /*i*/) { return 4; }
+    static unsigned getNumberOfFaceNodes(unsigned /*i*/) { return 4; }
 
     /// Returns the i-th face of the element.
     static const Element* getFace(const Element* e, unsigned i);
diff --git a/MeshLib/Elements/PrismRule15.cpp b/MeshLib/Elements/PrismRule15.cpp
index 0647616f3a6c1fca68fd6989e17ef17afa3bbe28..eab7332d0463e40337b9c402dfe411682656e4d8 100644
--- a/MeshLib/Elements/PrismRule15.cpp
+++ b/MeshLib/Elements/PrismRule15.cpp
@@ -43,11 +43,11 @@ const unsigned PrismRule15::edge_nodes[9][3] =
 
 const unsigned PrismRule15::n_face_nodes[5] = { 6, 8, 8, 8, 6 };
 
-unsigned PrismRule15::getNFaceNodes(unsigned i)
+unsigned PrismRule15::getNumberOfFaceNodes(unsigned i)
 {
     if (i<5)
         return n_face_nodes[i];
-    ERR("Error in MeshLib::Element::getNFaceNodes() - Index %d does not exist.", i);
+    ERR("Error in MeshLib::Element::getNumberOfFaceNodes() - Index %d does not exist.", i);
     return 0;
 }
 
@@ -55,7 +55,7 @@ const Element* PrismRule15::getFace(const Element* e, unsigned i)
 {
     if (i < n_faces)
     {
-        unsigned nFaceNodes (e->getNFaceNodes(i));
+        unsigned nFaceNodes (e->getNumberOfFaceNodes(i));
         Node** nodes = new Node*[nFaceNodes];
         for (unsigned j=0; j<nFaceNodes; j++)
             nodes[j] = const_cast<Node*>(e->getNode(face_nodes[i][j]));
diff --git a/MeshLib/Elements/PrismRule15.h b/MeshLib/Elements/PrismRule15.h
index 0d738283a13b22be8cef1cd46b91d98b4a4e9640..740cd0d4fbaee76cdfa33e8c9724e10c6e30ee77 100644
--- a/MeshLib/Elements/PrismRule15.h
+++ b/MeshLib/Elements/PrismRule15.h
@@ -63,7 +63,7 @@ public:
     typedef QuadraticEdgeReturn EdgeReturn;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned i);
+    static unsigned getNumberOfFaceNodes(unsigned i);
 
     /// Returns the i-th face of the element.
     static const Element* getFace(const Element* e, unsigned i);
diff --git a/MeshLib/Elements/PrismRule6.cpp b/MeshLib/Elements/PrismRule6.cpp
index c0bbd49367ac0537ad8c6553d41e0bb4839b87a6..8a7643c0afd359fecd29ba3d8f813525aabde782 100644
--- a/MeshLib/Elements/PrismRule6.cpp
+++ b/MeshLib/Elements/PrismRule6.cpp
@@ -43,11 +43,11 @@ const unsigned PrismRule6::edge_nodes[9][2] =
 
 const unsigned PrismRule6::n_face_nodes[5] = { 3, 4, 4, 4, 3 };
 
-unsigned PrismRule6::getNFaceNodes(unsigned i)
+unsigned PrismRule6::getNumberOfFaceNodes(unsigned i)
 {
     if (i<5)
         return n_face_nodes[i];
-    ERR("Error in MeshLib::Element::getNFaceNodes() - Index %d does not exist.", i);
+    ERR("Error in MeshLib::Element::getNumberOfFaceNodes() - Index %d does not exist.", i);
     return 0;
 }
 
@@ -55,7 +55,7 @@ const Element* PrismRule6::getFace(const Element* e, unsigned i)
 {
     if (i < n_faces)
     {
-        unsigned nFaceNodes (e->getNFaceNodes(i));
+        unsigned nFaceNodes (e->getNumberOfFaceNodes(i));
         Node** nodes = new Node*[nFaceNodes];
         for (unsigned j=0; j<nFaceNodes; j++)
             nodes[j] = const_cast<Node*>(e->getNode(face_nodes[i][j]));
diff --git a/MeshLib/Elements/PrismRule6.h b/MeshLib/Elements/PrismRule6.h
index 296727e738c3452fd592de82d9bd5e3991147ce3..08ab94f48023ee5f10c9397c2e98a78c9324e63e 100644
--- a/MeshLib/Elements/PrismRule6.h
+++ b/MeshLib/Elements/PrismRule6.h
@@ -78,7 +78,7 @@ public:
     typedef LinearEdgeReturn EdgeReturn;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned i);
+    static unsigned getNumberOfFaceNodes(unsigned i);
 
     /// Returns the i-th face of the element.
     static const Element* getFace(const Element* e, unsigned i);
diff --git a/MeshLib/Elements/PyramidRule13.cpp b/MeshLib/Elements/PyramidRule13.cpp
index 79847ee445d74f41c7729f791be3361d6152e07f..1a0f3959dfb94a22fed0bf94f9c8ba7a524d89dd 100644
--- a/MeshLib/Elements/PyramidRule13.cpp
+++ b/MeshLib/Elements/PyramidRule13.cpp
@@ -42,19 +42,19 @@ const unsigned PyramidRule13::edge_nodes[8][3] =
 
 const unsigned PyramidRule13::n_face_nodes[5] = { 6, 6, 6, 6, 8 };
 
-unsigned PyramidRule13::getNFaceNodes(unsigned i)
+unsigned PyramidRule13::getNumberOfFaceNodes(unsigned i)
 {
     if (i<5)
         return n_face_nodes[i];
-    ERR("Error in MeshLib::Element::getNFaceNodes() - Index %d does not exist.", i);
+    ERR("Error in MeshLib::Element::getNumberOfFaceNodes() - Index %d does not exist.", i);
     return 0;
 }
 
 const Element* PyramidRule13::getFace(const Element* e, unsigned i)
 {
-    if (i<e->getNFaces())
+    if (i<e->getNumberOfFaces())
     {
-        unsigned nFaceNodes (e->getNFaceNodes(i));
+        unsigned nFaceNodes (e->getNumberOfFaceNodes(i));
         Node** nodes = new Node*[nFaceNodes];
         for (unsigned j=0; j<nFaceNodes; j++)
             nodes[j] = const_cast<Node*>(e->getNode(face_nodes[i][j]));
diff --git a/MeshLib/Elements/PyramidRule13.h b/MeshLib/Elements/PyramidRule13.h
index 78c1fbba8b4f7f8cd883eafccbbf6134da3c20d9..b5bf9c2bccbd2193225956cb21d4c7cdcb401926 100644
--- a/MeshLib/Elements/PyramidRule13.h
+++ b/MeshLib/Elements/PyramidRule13.h
@@ -62,7 +62,7 @@ public:
     typedef QuadraticEdgeReturn EdgeReturn;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned i);
+    static unsigned getNumberOfFaceNodes(unsigned i);
 
     /// Returns the i-th face of the element.
     static const Element* getFace(const Element* e, unsigned i);
diff --git a/MeshLib/Elements/PyramidRule5.cpp b/MeshLib/Elements/PyramidRule5.cpp
index 4c3ec3e15a1acd6bbc1fee6533183cb7694f7517..1f50cac8fc2e889146f3eac55a694d1ce0726f3c 100644
--- a/MeshLib/Elements/PyramidRule5.cpp
+++ b/MeshLib/Elements/PyramidRule5.cpp
@@ -42,19 +42,19 @@ const unsigned PyramidRule5::edge_nodes[8][2] =
 
 const unsigned PyramidRule5::n_face_nodes[5] = { 3, 3, 3, 3, 4 };
 
-unsigned PyramidRule5::getNFaceNodes(unsigned i)
+unsigned PyramidRule5::getNumberOfFaceNodes(unsigned i)
 {
     if (i<5)
         return n_face_nodes[i];
-    ERR("Error in MeshLib::Element::getNFaceNodes() - Index %d does not exist.", i);
+    ERR("Error in MeshLib::Element::getNumberOfFaceNodes() - Index %d does not exist.", i);
     return 0;
 }
 
 const Element* PyramidRule5::getFace(const Element* e, unsigned i)
 {
-    if (i<e->getNFaces())
+    if (i<e->getNumberOfFaces())
     {
-        unsigned nFaceNodes (e->getNFaceNodes(i));
+        unsigned nFaceNodes (e->getNumberOfFaceNodes(i));
         Node** nodes = new Node*[nFaceNodes];
         for (unsigned j=0; j<nFaceNodes; j++)
             nodes[j] = const_cast<Node*>(e->getNode(face_nodes[i][j]));
diff --git a/MeshLib/Elements/PyramidRule5.h b/MeshLib/Elements/PyramidRule5.h
index fda9a350feb41bbc624963a23a0feab1ccfebf3c..6e268e55de5a30e8b75bee8bb06ba13f231e9b0e 100644
--- a/MeshLib/Elements/PyramidRule5.h
+++ b/MeshLib/Elements/PyramidRule5.h
@@ -77,7 +77,7 @@ public:
     typedef LinearEdgeReturn EdgeReturn;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned i);
+    static unsigned getNumberOfFaceNodes(unsigned i);
 
     /// Returns the i-th face of the element.
     static const Element* getFace(const Element* e, unsigned i);
diff --git a/MeshLib/Elements/TemplateElement-impl.h b/MeshLib/Elements/TemplateElement-impl.h
index 2121c70eb5ba40444d5732fd6999dffa07bfc212..cf102e65dc3ed897c5b0600efd8c127c0a1cf2c0 100644
--- a/MeshLib/Elements/TemplateElement-impl.h
+++ b/MeshLib/Elements/TemplateElement-impl.h
@@ -17,8 +17,8 @@ TemplateElement<ELEMENT_RULE>::TemplateElement(Node* nodes[n_all_nodes], std::si
 : Element(id)
 {
     this->_nodes = nodes;
-    this->_neighbors = new Element*[getNNeighbors()];
-    std::fill(this->_neighbors, this->_neighbors + getNNeighbors(), nullptr);
+    this->_neighbors = new Element*[getNumberOfNeighbors()];
+    std::fill(this->_neighbors, this->_neighbors + getNumberOfNeighbors(), nullptr);
     this->_content = ELEMENT_RULE::computeVolume(this->_nodes);
 }
 
@@ -28,8 +28,8 @@ TemplateElement<ELEMENT_RULE>::TemplateElement(std::array<Node*, n_all_nodes> co
 {
     this->_nodes = new Node*[n_all_nodes];
     std::copy(nodes.begin(), nodes.end(), this->_nodes);
-    this->_neighbors = new Element*[getNNeighbors()];
-    std::fill(this->_neighbors, this->_neighbors + getNNeighbors(), nullptr);
+    this->_neighbors = new Element*[getNumberOfNeighbors()];
+    std::fill(this->_neighbors, this->_neighbors + getNumberOfNeighbors(), nullptr);
     this->_content = ELEMENT_RULE::computeVolume(this->_nodes);
 }
 
@@ -40,8 +40,8 @@ TemplateElement<ELEMENT_RULE>::TemplateElement(const TemplateElement &e)
     this->_nodes = new Node*[n_all_nodes];
     for (unsigned i=0; i<n_all_nodes; i++)
         this->_nodes[i] = e._nodes[i];
-    this->_neighbors = new Element*[getNNeighbors()];
-    for (unsigned i=0; i<getNNeighbors(); i++)
+    this->_neighbors = new Element*[getNumberOfNeighbors()];
+    for (unsigned i=0; i<getNumberOfNeighbors(); i++)
         this->_neighbors[i] = e._neighbors[i];
     this->_content = e.getContent();
 }
@@ -72,7 +72,7 @@ isEdge(unsigned const (&/*edge_nodes*/)[1], unsigned /*idx1*/, unsigned /*idx2*/
 template <class ELEMENT_RULE>
 bool TemplateElement<ELEMENT_RULE>::isEdge(unsigned idx1, unsigned idx2) const
 {
-    for (unsigned i(0); i<getNEdges(); i++)
+    for (unsigned i(0); i<getNumberOfEdges(); i++)
     {
         if (detail::isEdge(ELEMENT_RULE::edge_nodes[i], idx1, idx2)) return true;
     }
diff --git a/MeshLib/Elements/TemplateElement.h b/MeshLib/Elements/TemplateElement.h
index 521cbb4212e19ed2f65a56274d997527dd573a90..98e4ed3c57629a4c6e86449495a6b5b2e2b00bc0 100644
--- a/MeshLib/Elements/TemplateElement.h
+++ b/MeshLib/Elements/TemplateElement.h
@@ -79,22 +79,22 @@ public:
     const Element* getFace(unsigned i) const { return ELEMENT_RULE::getFace(this, i); }
 
     /// Get the number of edges for this element.
-    unsigned getNEdges() const { return ELEMENT_RULE::n_edges; }
+    unsigned getNumberOfEdges() const { return ELEMENT_RULE::n_edges; }
 
     /// Get the number of nodes for face i.
-    unsigned getNFaceNodes(unsigned i) const { return ELEMENT_RULE::getNFaceNodes(i); }
+    unsigned getNumberOfFaceNodes(unsigned i) const { return ELEMENT_RULE::getNumberOfFaceNodes(i); }
 
     /// Get the number of faces for this element.
-    unsigned getNFaces() const { return ELEMENT_RULE::n_faces; }
+    unsigned getNumberOfFaces() const { return ELEMENT_RULE::n_faces; }
 
     /// Get the number of neighbors for this element.
-    unsigned getNNeighbors() const { return ELEMENT_RULE::n_neighbors; }
+    unsigned getNumberOfNeighbors() const { return ELEMENT_RULE::n_neighbors; }
 
     /// Get the number of linear nodes for this element.
-    virtual unsigned getNBaseNodes() const { return n_base_nodes; }
+    virtual unsigned getNumberOfBaseNodes() const { return n_base_nodes; }
 
     /// Get the number of all nodes for this element.
-    virtual unsigned getNNodes() const { return n_all_nodes; }
+    virtual unsigned getNumberOfNodes() const { return n_all_nodes; }
 
     /// Get the type of this element.
     virtual MeshElemType getGeomType() const { return ELEMENT_RULE::mesh_elem_type; }
@@ -136,7 +136,7 @@ public:
     /// Return a specific edge node.
     virtual inline Node* getEdgeNode(unsigned edge_id, unsigned node_id) const
     {
-        if (getNEdges()>0)
+        if (getNumberOfEdges()>0)
             return const_cast<Node*>(this->_nodes[ELEMENT_RULE::edge_nodes[edge_id][node_id]]);
         else
             return nullptr;
diff --git a/MeshLib/Elements/TetRule10.h b/MeshLib/Elements/TetRule10.h
index 3ca54a9cd60f0423ac47c8b366cf06571471a596..dcd7ede80878e17d378d4a1f513780ebd5fc9c2f 100644
--- a/MeshLib/Elements/TetRule10.h
+++ b/MeshLib/Elements/TetRule10.h
@@ -57,7 +57,7 @@ public:
     typedef QuadraticEdgeReturn EdgeReturn;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned /*i*/) { return 6; }
+    static unsigned getNumberOfFaceNodes(unsigned /*i*/) { return 6; }
 
     /// Returns the i-th face of the element.
     static const Element* getFace(const Element* e, unsigned i);
diff --git a/MeshLib/Elements/TetRule4.h b/MeshLib/Elements/TetRule4.h
index c5d64099949fe6af6a3a1a622655fdea7fa353b9..ddee10f6122559bb60e9f3e3115c290ac45a4481 100644
--- a/MeshLib/Elements/TetRule4.h
+++ b/MeshLib/Elements/TetRule4.h
@@ -72,7 +72,7 @@ public:
     typedef LinearEdgeReturn EdgeReturn;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned /*i*/) { return 3; }
+    static unsigned getNumberOfFaceNodes(unsigned /*i*/) { return 3; }
 
     /// Returns the i-th face of the element.
     static const Element* getFace(const Element* e, unsigned i);
diff --git a/MeshLib/Elements/VertexRule.h b/MeshLib/Elements/VertexRule.h
index e2273bab1660540109f3fb98f0ca42165fd2657c..d609015f59445a12b3ddee3d5ae10ecb60803933 100644
--- a/MeshLib/Elements/VertexRule.h
+++ b/MeshLib/Elements/VertexRule.h
@@ -28,7 +28,7 @@ public:
     static const unsigned n_edges = 0;
 
     /// Get the number of nodes for face i.
-    static unsigned getNFaceNodes(unsigned /*i*/)
+    static unsigned getNumberOfFaceNodes(unsigned /*i*/)
     {
         return 0;
     }
diff --git a/MeshLib/IO/FEFLOW/FEFLOWMeshInterface.cpp b/MeshLib/IO/FEFLOW/FEFLOWMeshInterface.cpp
index 4d38d038c95c0e49f4ddc526f4d165f45837ab2c..94cefb444feb2c8e0fb7845f8b3430ed42ff8e9e 100644
--- a/MeshLib/IO/FEFLOW/FEFLOWMeshInterface.cpp
+++ b/MeshLib/IO/FEFLOW/FEFLOWMeshInterface.cpp
@@ -558,7 +558,7 @@ void FEFLOWMeshInterface::setMaterialIDs(
         {
             MeshLib::Element* e = vec_elements[i];
             unsigned e_min_nodeID = std::numeric_limits<unsigned>::max();
-            for (std::size_t j = 0; j < e->getNBaseNodes(); j++)
+            for (std::size_t j = 0; j < e->getNumberOfBaseNodes(); j++)
                 e_min_nodeID = std::min(e_min_nodeID, e->getNodeIndex(j));
             std::size_t layer_id = e_min_nodeID / no_nodes_per_layer;
             material_ids[i] = layer_id;
diff --git a/MeshLib/IO/Legacy/MeshIO.cpp b/MeshLib/IO/Legacy/MeshIO.cpp
index 56af278ffc9fe03085f442e7bec322dafa5bd69e..eab8548fb5cd5e9452d232a782ada38bc594136a 100644
--- a/MeshLib/IO/Legacy/MeshIO.cpp
+++ b/MeshLib/IO/Legacy/MeshIO.cpp
@@ -271,7 +271,7 @@ bool MeshIO::write()
         << "  NO_PCS\n"
         << "$NODES\n"
         << "  ";
-    const std::size_t n_nodes(_mesh->getNNodes());
+    const std::size_t n_nodes(_mesh->getNumberOfNodes());
     _out << n_nodes << "\n";
     for (std::size_t i(0); i < n_nodes; ++i) {
         _out << i << " " << *(_mesh->getNode(i)) << "\n";
@@ -308,7 +308,7 @@ void MeshIO::writeElements(std::vector<MeshLib::Element*> const& ele_vec,
         else
             out << (*material_ids)[i] << " ";
         out << this->ElemType2StringOutput(ele_vec[i]->getGeomType()) << " ";
-        unsigned nElemNodes (ele_vec[i]->getNBaseNodes());
+        unsigned nElemNodes (ele_vec[i]->getNumberOfBaseNodes());
         for(std::size_t j = 0; j < nElemNodes; ++j)
             out << ele_vec[i]->getNode(j)->getID() << " ";
         out << "\n";
diff --git a/MeshLib/Mesh.cpp b/MeshLib/Mesh.cpp
index 5aecd5595bb558d410511a5c5271e8d734cf8a9c..0c9e6b9b2c01851e93812edcb3bf45b33bb0e758 100644
--- a/MeshLib/Mesh.cpp
+++ b/MeshLib/Mesh.cpp
@@ -56,8 +56,8 @@ Mesh::Mesh(const Mesh &mesh)
     : _id(_counter_value-1), _mesh_dimension(mesh.getDimension()),
       _edge_length(mesh._edge_length.first, mesh._edge_length.second),
       _node_distance(mesh._node_distance.first, mesh._node_distance.second),
-      _name(mesh.getName()), _nodes(mesh.getNNodes()), _elements(mesh.getNElements()),
-      _n_base_nodes(mesh.getNBaseNodes()),
+      _name(mesh.getName()), _nodes(mesh.getNumberOfNodes()), _elements(mesh.getNumberOfElements()),
+      _n_base_nodes(mesh.getNumberOfBaseNodes()),
       _properties(mesh._properties)
 {
     const std::vector<Node*> nodes (mesh.getNodes());
@@ -69,7 +69,7 @@ Mesh::Mesh(const Mesh &mesh)
     const std::size_t nElements (elements.size());
     for (unsigned i=0; i<nElements; ++i)
     {
-        const std::size_t nElemNodes = elements[i]->getNBaseNodes();
+        const std::size_t nElemNodes = elements[i]->getNumberOfBaseNodes();
         _elements[i] = elements[i]->clone();
         for (unsigned j=0; j<nElemNodes; ++j)
             _elements[i]->_nodes[j] = _nodes[elements[i]->getNode(j)->getID()];
@@ -103,7 +103,7 @@ void Mesh::addElement(Element* elem)
     _elements.push_back(elem);
 
     // add element information to nodes
-    unsigned nNodes (elem->getNBaseNodes());
+    unsigned nNodes (elem->getNumberOfBaseNodes());
     for (unsigned i=0; i<nNodes; ++i)
         elem->_nodes[i]->addElement(elem);
 }
@@ -134,7 +134,7 @@ void Mesh::setElementsConnectedToNodes()
 {
     for (auto e = _elements.begin(); e != _elements.end(); ++e)
     {
-        const unsigned nNodes ((*e)->getNBaseNodes());
+        const unsigned nNodes ((*e)->getNumberOfBaseNodes());
         for (unsigned j=0; j<nNodes; ++j)
             (*e)->_nodes[j]->addElement(*e);
     }
@@ -154,7 +154,7 @@ void Mesh::calcEdgeLengthRange()
     this->_edge_length.second = 0;
     double min_length(0);
     double max_length(0);
-    const std::size_t nElems (this->getNElements());
+    const std::size_t nElems (this->getNumberOfElements());
     for (std::size_t i=0; i<nElems; ++i)
     {
         _elements[i]->computeSqrEdgeLengthRange(min_length, max_length);
@@ -171,7 +171,7 @@ void Mesh::calcNodeDistanceRange()
     this->_node_distance.second = 0;
     double min_length(0);
     double max_length(0);
-    const std::size_t nElems (this->getNElements());
+    const std::size_t nElems (this->getNumberOfElements());
     for (std::size_t i=0; i<nElems; ++i)
     {
         _elements[i]->computeSqrNodeDistanceRange(min_length, max_length);
@@ -190,7 +190,7 @@ void Mesh::setElementNeighbors()
         // create vector with all elements connected to current element (includes lots of doubles!)
         Element *const element = *it;
 
-        const std::size_t nNodes (element->getNBaseNodes());
+        const std::size_t nNodes (element->getNumberOfBaseNodes());
         for (unsigned n(0); n<nNodes; ++n)
         {
             std::vector<Element*> const& conn_elems ((element->getNode(n)->getElements()));
@@ -223,7 +223,7 @@ void Mesh::setNodesConnectedByEdges()
         for (unsigned j=0; j<nConnElems; ++j)
         {
             const unsigned idx (conn_elems[j]->getNodeIDinElement(node));
-            const unsigned nElemNodes (conn_elems[j]->getNBaseNodes());
+            const unsigned nElemNodes (conn_elems[j]->getNumberOfBaseNodes());
             for (unsigned k(0); k<nElemNodes; ++k)
             {
                 bool is_in_vector (false);
@@ -255,7 +255,7 @@ void Mesh::setNodesConnectedByElements()
         for (Element const* const element : conn_elems)
         {
             Node* const* const single_elem_nodes = element->getNodes();
-            std::size_t const nnodes = element->getNBaseNodes();
+            std::size_t const nnodes = element->getNumberOfBaseNodes();
             for (std::size_t n = 0; n < nnodes; n++)
                 adjacent_nodes.push_back(single_elem_nodes[n]);
         }
diff --git a/MeshLib/Mesh.h b/MeshLib/Mesh.h
index ed182aa62517397eba86ecb757aa1d7fc9ab0951..ea7ef25c85e9581329dcb5e3513ed54796070205 100644
--- a/MeshLib/Mesh.h
+++ b/MeshLib/Mesh.h
@@ -87,10 +87,10 @@ public:
     double getMaxNodeDistance() const { return _node_distance.second; }
 
     /// Get the number of elements
-    std::size_t getNElements() const { return _elements.size(); }
+    std::size_t getNumberOfElements() const { return _elements.size(); }
 
     /// Get the number of nodes
-    std::size_t getNNodes() const { return _nodes.size(); }
+    std::size_t getNumberOfNodes() const { return _nodes.size(); }
 
     /// Get name of the mesh.
     const std::string getName() const { return _name; }
@@ -114,13 +114,13 @@ public:
     std::size_t getID() const {return _id; }
 
     /// Get the number of base nodes
-    std::size_t getNBaseNodes() const { return _n_base_nodes; }
+    std::size_t getNumberOfBaseNodes() const { return _n_base_nodes; }
 
     /// Return true if the given node is a basic one (i.e. linear order node)
     bool isBaseNode(std::size_t node_idx) const {return node_idx < _n_base_nodes; }
 
     /// Return true if the mesh has any nonlinear nodes
-    bool isNonlinear() const { return (getNNodes() != getNBaseNodes()); }
+    bool isNonlinear() const { return (getNumberOfNodes() != getNumberOfBaseNodes()); }
 
     MeshLib::Properties & getProperties() { return _properties; }
     MeshLib::Properties const& getProperties() const { return _properties; }
diff --git a/MeshLib/MeshEditing/AddLayerToMesh.cpp b/MeshLib/MeshEditing/AddLayerToMesh.cpp
index 8cd5a58f6d1d04698afdbdd98fb6d6a19f6865cd..75530ee5cc334f5df4f52eede895d464f03258ba 100644
--- a/MeshLib/MeshEditing/AddLayerToMesh.cpp
+++ b/MeshLib/MeshEditing/AddLayerToMesh.cpp
@@ -52,7 +52,7 @@ MeshLib::Element* extrudeElement(std::vector<MeshLib::Node*> const& subsfc_nodes
     if (sfc_elem.getDimension() > 2)
         return nullptr;
 
-    const unsigned nElemNodes(sfc_elem.getNBaseNodes());
+    const unsigned nElemNodes(sfc_elem.getNumberOfBaseNodes());
     MeshLib::Node** new_nodes = new MeshLib::Node*[2*nElemNodes];
 
     for (unsigned j=0; j<nElemNodes; ++j)
@@ -111,7 +111,7 @@ MeshLib::Mesh* addLayerToMesh(MeshLib::Mesh const& mesh, double thickness,
             sfc_mesh->getProperties().createNewPropertyVector<std::size_t>(
                 prop_name, MeshLib::MeshItemType::Node, 1));
         if (pv) {
-            pv->resize(sfc_mesh->getNNodes());
+            pv->resize(sfc_mesh->getNumberOfNodes());
             std::iota(pv->begin(), pv->end(), 0);
         } else {
             ERR("Could not create and initialize property.");
@@ -178,7 +178,7 @@ MeshLib::Mesh* addLayerToMesh(MeshLib::Mesh const& mesh, double thickness,
             new_materials->reserve(subsfc_elements.size());
             int new_layer_id (*(std::max_element(opt_materials->cbegin(), opt_materials->cend()))+1);
             std::copy(opt_materials->cbegin(), opt_materials->cend(), std::back_inserter(*new_materials));
-            auto const n_new_props(subsfc_elements.size()-mesh.getNElements());
+            auto const n_new_props(subsfc_elements.size()-mesh.getNumberOfElements());
             std::fill_n(std::back_inserter(*new_materials), n_new_props, new_layer_id);
         }
     } else {
diff --git a/MeshLib/MeshEditing/DuplicateMeshComponents.cpp b/MeshLib/MeshEditing/DuplicateMeshComponents.cpp
index 7707e5afada04d5aec7c7e8914f409bfa1dac1d9..73503468cff434aeccad26331b16ec44bf013510 100644
--- a/MeshLib/MeshEditing/DuplicateMeshComponents.cpp
+++ b/MeshLib/MeshEditing/DuplicateMeshComponents.cpp
@@ -64,8 +64,8 @@ MeshLib::Element* copyElement(MeshLib::Element const*const element, const std::v
 template <typename E>
 MeshLib::Element* copyElement(MeshLib::Element const*const element, const std::vector<MeshLib::Node*> &nodes)
 {
-    MeshLib::Node** new_nodes = new MeshLib::Node*[element->getNBaseNodes()];
-    for (unsigned i=0; i<element->getNBaseNodes(); ++i)
+    MeshLib::Node** new_nodes = new MeshLib::Node*[element->getNumberOfBaseNodes()];
+    for (unsigned i=0; i<element->getNumberOfBaseNodes(); ++i)
         new_nodes[i] = nodes[element->getNode(i)->getID()];
     return new E(new_nodes);
 }
diff --git a/MeshLib/MeshEditing/FlipElements.cpp b/MeshLib/MeshEditing/FlipElements.cpp
index b2931d757dfae730972211917a4f61560536338a..0d3cc50ef1f6f19a1dd383b5c9a8ec11310e9247 100644
--- a/MeshLib/MeshEditing/FlipElements.cpp
+++ b/MeshLib/MeshEditing/FlipElements.cpp
@@ -24,7 +24,7 @@ std::unique_ptr<MeshLib::Element> createFlippedElement(MeshLib::Element const& e
     if (elem.getDimension()>2)
         return nullptr;
 
-    unsigned const n_nodes (elem.getNNodes());
+    unsigned const n_nodes (elem.getNumberOfNodes());
     MeshLib::Node** elem_nodes = new MeshLib::Node*[n_nodes];
     for (unsigned i=0; i<n_nodes; ++i)
         elem_nodes[i] = nodes[elem.getNode(i)->getID()];
@@ -50,7 +50,7 @@ std::unique_ptr<MeshLib::Mesh> createFlippedMesh(MeshLib::Mesh const& mesh)
     std::vector<MeshLib::Node*> new_nodes (MeshLib::copyNodeVector(mesh.getNodes()));
     std::vector<MeshLib::Element*> const& elems (mesh.getElements());
     std::vector<MeshLib::Element*> new_elems;
-    std::size_t n_elems (mesh.getNElements());
+    std::size_t n_elems (mesh.getNumberOfElements());
     new_elems.reserve(n_elems);
 
     for (std::size_t i=0; i<n_elems; ++i)
diff --git a/MeshLib/MeshEditing/Mesh2MeshPropertyInterpolation.cpp b/MeshLib/MeshEditing/Mesh2MeshPropertyInterpolation.cpp
index 7e546ab3e0489b1442c234ad90b42b8e2724816a..7d63b2700fdbda8cc6a67602a197004ebbb56935 100644
--- a/MeshLib/MeshEditing/Mesh2MeshPropertyInterpolation.cpp
+++ b/MeshLib/MeshEditing/Mesh2MeshPropertyInterpolation.cpp
@@ -65,7 +65,7 @@ bool Mesh2MeshPropertyInterpolation::setPropertiesForMesh(Mesh *dest_mesh, std::
 void Mesh2MeshPropertyInterpolation::interpolatePropertiesForMesh(Mesh *dest_mesh, std::vector<double>& dest_properties) const
 {
     // carry over property information from source elements to source nodes
-    std::vector<double> interpolated_src_node_properties(_src_mesh->getNNodes());
+    std::vector<double> interpolated_src_node_properties(_src_mesh->getNumberOfNodes());
     interpolateElementPropertiesToNodeProperties(interpolated_src_node_properties);
 
     // looping over the destination elements and calculate properties
@@ -89,7 +89,7 @@ void Mesh2MeshPropertyInterpolation::interpolatePropertiesForMesh(Mesh *dest_mes
     for (std::size_t k(0); k<n_dest_elements; k++)
     {
         // compute axis aligned bounding box around the current element
-        const GeoLib::AABB elem_aabb(dest_elements[k]->getNodes(), dest_elements[k]->getNodes()+dest_elements[k]->getNBaseNodes());
+        const GeoLib::AABB elem_aabb(dest_elements[k]->getNodes(), dest_elements[k]->getNodes()+dest_elements[k]->getNumberOfBaseNodes());
 
         // request "interesting" nodes from grid
         std::vector<std::vector<MeshLib::Node*> const*> nodes;
@@ -157,7 +157,7 @@ void Mesh2MeshPropertyInterpolation::interpolateElementPropertiesToNodePropertie
     std::vector<MeshLib::Node*> const& src_nodes(_src_mesh->getNodes());
     const std::size_t n_src_nodes(src_nodes.size());
     for (std::size_t k(0); k<n_src_nodes; k++) {
-        const std::size_t n_con_elems (src_nodes[k]->getNElements());
+        const std::size_t n_con_elems (src_nodes[k]->getNumberOfElements());
         interpolated_node_properties[k] = (*_src_properties)[(*materialIds)[src_nodes[k]->getElement(0)->getID()]];
         for (std::size_t j(1); j<n_con_elems; j++) {
             interpolated_node_properties[k] += (*_src_properties)[(*materialIds)[src_nodes[k]->getElement(j)->getID()]];
diff --git a/MeshLib/MeshEditing/MeshRevision.cpp b/MeshLib/MeshEditing/MeshRevision.cpp
index c7dfd3a9a33240f03bd1161ac4533c4477ad8604..97106b291922ca163e5e78e3ce8358012501be44 100644
--- a/MeshLib/MeshEditing/MeshRevision.cpp
+++ b/MeshLib/MeshEditing/MeshRevision.cpp
@@ -44,7 +44,7 @@ MeshLib::Mesh* MeshRevision::collapseNodes(const std::string &new_mesh_name, dou
     return new MeshLib::Mesh(new_mesh_name, new_nodes, new_elements, _mesh.getProperties());
 }
 
-unsigned MeshRevision::getNCollapsableNodes(double eps) const
+unsigned MeshRevision::getNumberOfCollapsableNodes(double eps) const
 {
     std::vector<std::size_t> id_map(this->collapseNodeIndices(eps));
     std::size_t nNodes(id_map.size());
@@ -58,7 +58,7 @@ unsigned MeshRevision::getNCollapsableNodes(double eps) const
 MeshLib::Mesh* MeshRevision::simplifyMesh(const std::string &new_mesh_name,
     double eps, unsigned min_elem_dim)
 {
-    if (this->_mesh.getNElements() == 0)
+    if (this->_mesh.getNumberOfElements() == 0)
         return nullptr;
 
     // original data
@@ -79,8 +79,8 @@ MeshLib::Mesh* MeshRevision::simplifyMesh(const std::string &new_mesh_name,
 
     for (std::size_t k(0); k<elements.size(); ++k) {
         MeshLib::Element const*const elem(elements[k]);
-        unsigned n_unique_nodes(this->getNUniqueNodes(elem));
-        if (n_unique_nodes == elem->getNBaseNodes()
+        unsigned n_unique_nodes(this->getNumberOfUniqueNodes(elem));
+        if (n_unique_nodes == elem->getNumberOfBaseNodes()
             && elem->getDimension() >= min_elem_dim)
         {
             ElementErrorCode e(elem->validate());
@@ -106,7 +106,7 @@ MeshLib::Mesh* MeshRevision::simplifyMesh(const std::string &new_mesh_name,
                     new_material_vec->push_back((*material_vec)[k]);
             }
         }
-        else if (n_unique_nodes < elem->getNBaseNodes() && n_unique_nodes>1) {
+        else if (n_unique_nodes < elem->getNumberOfBaseNodes() && n_unique_nodes>1) {
             std::size_t const n_new_elements(reduceElement(
                 elem, n_unique_nodes, new_nodes, new_elements, min_elem_dim)
             );
@@ -129,7 +129,7 @@ MeshLib::Mesh* MeshRevision::simplifyMesh(const std::string &new_mesh_name,
 
 MeshLib::Mesh* MeshRevision::subdivideMesh(const std::string &new_mesh_name) const
 {
-    if (this->_mesh.getNElements() == 0)
+    if (this->_mesh.getNumberOfElements() == 0)
         return nullptr;
 
     // original data
@@ -186,7 +186,7 @@ MeshLib::Mesh* MeshRevision::subdivideMesh(const std::string &new_mesh_name) con
 std::vector<std::size_t> MeshRevision::collapseNodeIndices(double eps) const
 {
     const std::vector<MeshLib::Node*> &nodes(_mesh.getNodes());
-    const std::size_t nNodes(_mesh.getNNodes());
+    const std::size_t nNodes(_mesh.getNumberOfNodes());
     std::vector<std::size_t> id_map(nNodes);
     const double half_eps(eps / 2.0);
     const double sqr_eps(eps*eps);
@@ -250,9 +250,9 @@ std::vector<MeshLib::Node*> MeshRevision::constructNewNodesArray(const std::vect
     return new_nodes;
 }
 
-unsigned MeshRevision::getNUniqueNodes(MeshLib::Element const*const element) const
+unsigned MeshRevision::getNumberOfUniqueNodes(MeshLib::Element const*const element) const
 {
-    unsigned const nNodes(element->getNBaseNodes());
+    unsigned const nNodes(element->getNumberOfBaseNodes());
     unsigned count(nNodes);
 
     for (unsigned i = 0; i < nNodes - 1; ++i)
@@ -267,7 +267,7 @@ unsigned MeshRevision::getNUniqueNodes(MeshLib::Element const*const element) con
 
 void MeshRevision::resetNodeIDs()
 {
-    const std::size_t nNodes(this->_mesh.getNNodes());
+    const std::size_t nNodes(this->_mesh.getNumberOfNodes());
     const std::vector<MeshLib::Node*> &nodes(_mesh.getNodes());
     for (std::size_t i = 0; i < nNodes; ++i)
         nodes[i]->setID(i);
@@ -687,7 +687,7 @@ MeshLib::Element* MeshRevision::constructLine(MeshLib::Element const*const eleme
     MeshLib::Node** line_nodes = new MeshLib::Node*[2];
     line_nodes[0] = nodes[element->getNode(0)->getID()];
     line_nodes[1] = nullptr;
-    for (unsigned i=1; i<element->getNBaseNodes(); ++i)
+    for (unsigned i=1; i<element->getNumberOfBaseNodes(); ++i)
     {
         if (element->getNode(i)->getID() != element->getNode(0)->getID())
         {
@@ -708,12 +708,12 @@ MeshLib::Element* MeshRevision::constructTri(MeshLib::Element const*const elemen
     MeshLib::Node** tri_nodes = new MeshLib::Node*[3];
     tri_nodes[0] = nodes[element->getNode(0)->getID()];
     tri_nodes[2] = nullptr;
-    for (unsigned i = 1; i < element->getNBaseNodes(); ++i)
+    for (unsigned i = 1; i < element->getNumberOfBaseNodes(); ++i)
     {
         if (element->getNode(i)->getID() != tri_nodes[0]->getID())
         {
             tri_nodes[1] = nodes[element->getNode(i)->getID()];
-            for (unsigned j = i + 1; j < element->getNBaseNodes(); ++j)
+            for (unsigned j = i + 1; j < element->getNumberOfBaseNodes(); ++j)
             {
                 if (element->getNode(j)->getID() != tri_nodes[1]->getID())
                 {
@@ -736,7 +736,7 @@ MeshLib::Element* MeshRevision::constructFourNodeElement(
     MeshLib::Node** new_nodes = new MeshLib::Node*[4];
     unsigned count(0);
     new_nodes[count++] = nodes[element->getNode(0)->getID()];
-    for (unsigned i=1; i<element->getNBaseNodes(); ++i)
+    for (unsigned i=1; i<element->getNumberOfBaseNodes(); ++i)
     {
         if (count>3)
             break;
@@ -781,7 +781,7 @@ MeshLib::Element* MeshRevision::constructFourNodeElement(
 unsigned MeshRevision::findPyramidTopNode(MeshLib::Element const& element,
     std::array<std::size_t,4> const& base_node_ids) const
 {
-    const std::size_t nNodes (element.getNBaseNodes());
+    const std::size_t nNodes (element.getNumberOfBaseNodes());
     for (std::size_t i=0; i<nNodes; ++i)
     {
         bool top_node=true;
diff --git a/MeshLib/MeshEditing/MeshRevision.h b/MeshLib/MeshEditing/MeshRevision.h
index b6296244490982e8642f908fbd00eb29016a3447..1d64c3b1cffed531923d29d671023be03117ccb4 100644
--- a/MeshLib/MeshEditing/MeshRevision.h
+++ b/MeshLib/MeshEditing/MeshRevision.h
@@ -53,7 +53,7 @@ public:
     MeshLib::Mesh* collapseNodes(const std::string &new_mesh_name, double eps);
 
     /// Returns the number of potentially collapsable nodes
-    unsigned getNCollapsableNodes(double eps = std::numeric_limits<double>::epsilon()) const;
+    unsigned getNumberOfCollapsableNodes(double eps = std::numeric_limits<double>::epsilon()) const;
 
     /// Designates nodes to be collapsed by setting their ID to the index of the node they will get merged with.
     std::vector<std::size_t> collapseNodeIndices(double eps) const;
@@ -81,7 +81,7 @@ private:
         const std::vector<std::size_t> &id_map) const;
 
     /// Calculates the number of unique nodes in an element (i.e. uncollapsed nodes)
-    unsigned getNUniqueNodes(MeshLib::Element const*const element) const;
+    unsigned getNumberOfUniqueNodes(MeshLib::Element const*const element) const;
 
     /// Resets the node IDs of the source mesh (needs to be called after everything is done).
     void resetNodeIDs();
diff --git a/MeshLib/MeshEditing/RemoveMeshComponents.cpp b/MeshLib/MeshEditing/RemoveMeshComponents.cpp
index 42a5db1af1858c1191d1a6b832ccd013931b6a3f..8a2c25c65645549ba0687b02db69013283b60f4f 100644
--- a/MeshLib/MeshEditing/RemoveMeshComponents.cpp
+++ b/MeshLib/MeshEditing/RemoveMeshComponents.cpp
@@ -111,7 +111,7 @@ MeshLib::Mesh* removeNodes(const MeshLib::Mesh &mesh, const std::vector<std::siz
     // check unused nodes due to element deletion
     std::vector<bool> node_delete_flag(new_nodes.size(), true);
     for (auto e : new_elems) {
-        for (unsigned i=0; i<e->getNNodes(); i++)
+        for (unsigned i=0; i<e->getNumberOfNodes(); i++)
             node_delete_flag[e->getNodeIndex(i)] = false;
     }
 
diff --git a/MeshLib/MeshEditing/projectMeshOntoPlane.h b/MeshLib/MeshEditing/projectMeshOntoPlane.h
index b7892f8a7ae11b73f2a80364afb9b07ebf6e0c07..407dd806af634a8bb6757a277f7ece21942b2516 100644
--- a/MeshLib/MeshEditing/projectMeshOntoPlane.h
+++ b/MeshLib/MeshEditing/projectMeshOntoPlane.h
@@ -38,7 +38,7 @@ MeshLib::Mesh* projectMeshOntoPlane(MeshLib::Mesh const& mesh,
                                     MathLib::Point3d const& plane_origin,
                                     MathLib::Vector3 const& plane_normal)
 {
-    std::size_t const n_nodes (mesh.getNNodes());
+    std::size_t const n_nodes (mesh.getNumberOfNodes());
     std::vector<MeshLib::Node*> const& nodes (mesh.getNodes());
     MathLib::Vector3 normal (plane_normal);
     normal.normalize();
diff --git a/MeshLib/MeshGenerators/LayeredVolume.cpp b/MeshLib/MeshGenerators/LayeredVolume.cpp
index 5ba24c61444ad1a5976317de602bc1b4967e9d21..55dda87eb428245fc7b762cc7c2541c2b849d424 100644
--- a/MeshLib/MeshGenerators/LayeredVolume.cpp
+++ b/MeshLib/MeshGenerators/LayeredVolume.cpp
@@ -72,14 +72,14 @@ bool LayeredVolume::createRasterLayers(const MeshLib::Mesh &mesh,
 
     // close boundaries between layers
     this->addLayerBoundaries(*top, nRasters);
-    this->removeCongruentElements(nRasters, top->getNElements());
+    this->removeCongruentElements(nRasters, top->getNumberOfElements());
 
     return true;
 }
 
 void LayeredVolume::addLayerToMesh(const MeshLib::Mesh &dem_mesh, unsigned layer_id, GeoLib::Raster const& raster)
 {
-    const std::size_t nNodes (dem_mesh.getNNodes());
+    const std::size_t nNodes (dem_mesh.getNumberOfNodes());
     const std::vector<MeshLib::Node*> &nodes (dem_mesh.getNodes());
     const std::size_t node_id_offset (_nodes.size());
     const std::size_t last_layer_node_offset (node_id_offset-nNodes);
@@ -113,11 +113,11 @@ void LayeredVolume::addLayerToMesh(const MeshLib::Mesh &dem_mesh, unsigned layer
 void LayeredVolume::addLayerBoundaries(const MeshLib::Mesh &layer, std::size_t nLayers)
 {
     const unsigned nLayerBoundaries (nLayers-1);
-    const std::size_t nNodes (layer.getNNodes());
+    const std::size_t nNodes (layer.getNumberOfNodes());
     const std::vector<MeshLib::Element*> &layer_elements (layer.getElements());
     for (MeshLib::Element* elem : layer_elements)
     {
-        const std::size_t nElemNodes (elem->getNBaseNodes());
+        const std::size_t nElemNodes (elem->getNumberOfBaseNodes());
         for (unsigned i=0; i<nElemNodes; ++i)
             if (elem->getNeighbor(i) == nullptr)
                 for (unsigned j=0; j<nLayerBoundaries; ++j)
@@ -156,7 +156,7 @@ void LayeredVolume::removeCongruentElements(std::size_t nLayers, std::size_t nEl
             MeshLib::Element *const low  (_elements[lower_offset+j]);
 
             unsigned count(0);
-            const std::size_t nElemNodes (low->getNBaseNodes());
+            const std::size_t nElemNodes (low->getNumberOfBaseNodes());
             for (std::size_t k=0; k<nElemNodes; ++k)
                 if (high->getNodeIndex(k) == low->getNodeIndex(k))
                 {
diff --git a/MeshLib/MeshGenerators/MeshGenerator.cpp b/MeshLib/MeshGenerators/MeshGenerator.cpp
index 1ea477e731c30d0a9e2289e5a3e3a21734017200..1a5819ca04c808dd98e7ed1ff33f72794874503d 100644
--- a/MeshLib/MeshGenerators/MeshGenerator.cpp
+++ b/MeshLib/MeshGenerators/MeshGenerator.cpp
@@ -452,7 +452,7 @@ Mesh* MeshGenerator::generateRegularPrismMesh(
 {
     std::unique_ptr<MeshLib::Mesh> mesh (
         generateRegularTriMesh(n_x_cells, n_y_cells, cell_size_x, cell_size_y, origin, mesh_name));
-    std::size_t const n_tris (mesh->getNElements());
+    std::size_t const n_tris (mesh->getNumberOfElements());
     for (std::size_t i=0; i<n_z_cells; ++i)
         mesh.reset(MeshLib::addTopLayerToMesh(*mesh, cell_size_z, mesh_name));
     std::vector<std::size_t> elem_ids (n_tris);
diff --git a/MeshLib/MeshGenerators/MeshLayerMapper.cpp b/MeshLib/MeshGenerators/MeshLayerMapper.cpp
index 89b681168ce8d9eed8a9e67651f403bd87c53c91..a9dba6771e4b8a5495004fffbbc04ced61bda5a3 100644
--- a/MeshLib/MeshGenerators/MeshLayerMapper.cpp
+++ b/MeshLib/MeshGenerators/MeshLayerMapper.cpp
@@ -48,12 +48,12 @@ MeshLib::Mesh* MeshLayerMapper::createStaticLayers(MeshLib::Mesh const& mesh, st
         return nullptr;
     }
 
-    const std::size_t nNodes = mesh.getNNodes();
+    const std::size_t nNodes = mesh.getNumberOfNodes();
     // count number of 2d elements in the original mesh
     const std::size_t nElems (std::count_if(mesh.getElements().begin(), mesh.getElements().end(),
             [](MeshLib::Element const* elem) { return (elem->getDimension() == 2);}));
 
-    const std::size_t nOrgElems (mesh.getNElements());
+    const std::size_t nOrgElems (mesh.getNumberOfElements());
     const std::vector<MeshLib::Node*> &nodes = mesh.getNodes();
     const std::vector<MeshLib::Element*> &elems = mesh.getElements();
     std::vector<MeshLib::Node*> new_nodes(nNodes + (nLayers * nNodes));
@@ -94,7 +94,7 @@ MeshLib::Mesh* MeshLayerMapper::createStaticLayers(MeshLib::Mesh const& mesh, st
             if (sfc_elem->getDimension() < 2) // ignore line-elements
                 continue;
 
-            const unsigned nElemNodes(sfc_elem->getNBaseNodes());
+            const unsigned nElemNodes(sfc_elem->getNumberOfBaseNodes());
             MeshLib::Node** e_nodes = new MeshLib::Node*[2*nElemNodes];
 
             for (unsigned j=0; j<nElemNodes; ++j)
@@ -140,7 +140,7 @@ bool MeshLayerMapper::createRasterLayers(
     }
 
     this->_minimum_thickness = minimum_thickness;
-    std::size_t const nNodes = mesh.getNNodes();
+    std::size_t const nNodes = mesh.getNumberOfNodes();
     _nodes.reserve(nLayers * nNodes);
 
     // number of triangles in the original mesh
@@ -173,7 +173,7 @@ void MeshLayerMapper::addLayerToMesh(const MeshLib::Mesh &dem_mesh, unsigned lay
         {0, 3, 4, 1}, // Point 6 missing
     };
 
-    std::size_t const nNodes = dem_mesh.getNNodes();
+    std::size_t const nNodes = dem_mesh.getNumberOfNodes();
     std::vector<MeshLib::Node*> const& nodes = dem_mesh.getNodes();
     int const last_layer_node_offset = layer_id * nNodes;
 
@@ -182,7 +182,7 @@ void MeshLayerMapper::addLayerToMesh(const MeshLib::Mesh &dem_mesh, unsigned lay
         _nodes.push_back(getNewLayerNode(*nodes[i], *_nodes[last_layer_node_offset + i], raster, _nodes.size()));
 
     std::vector<MeshLib::Element*> const& elems = dem_mesh.getElements();
-    std::size_t const nElems (dem_mesh.getNElements());
+    std::size_t const nElems (dem_mesh.getNumberOfElements());
 
     for (std::size_t i=0; i<nElems; ++i)
     {
@@ -245,7 +245,7 @@ bool MeshLayerMapper::layerMapping(MeshLib::Mesh &new_mesh, GeoLib::Raster const
     const std::pair<double, double> xDim(x0, x0 + header.n_cols * delta); // extension in x-dimension
     const std::pair<double, double> yDim(y0, y0 + header.n_rows * delta); // extension in y-dimension
 
-    const std::size_t nNodes (new_mesh.getNNodes());
+    const std::size_t nNodes (new_mesh.getNumberOfNodes());
     const std::vector<MeshLib::Node*> &nodes = new_mesh.getNodes();
     for (unsigned i = 0; i < nNodes; ++i)
     {
diff --git a/MeshLib/MeshQuality/AngleSkewMetric.cpp b/MeshLib/MeshQuality/AngleSkewMetric.cpp
index 7d556ad14cfc019e6ea109f91f05a17bcca9184b..6e2c26dcc9fc5c36b505212e4e51adff59106ce4 100644
--- a/MeshLib/MeshQuality/AngleSkewMetric.cpp
+++ b/MeshLib/MeshQuality/AngleSkewMetric.cpp
@@ -35,7 +35,7 @@ AngleSkewMetric::~AngleSkewMetric()
 void AngleSkewMetric::calculateQuality ()
 {
     const std::vector<MeshLib::Element*>& elements(_mesh.getElements());
-    const std::size_t nElements (_mesh.getNElements());
+    const std::size_t nElements (_mesh.getNumberOfElements());
 
     for (std::size_t k(0); k < nElements; k++)
     {
diff --git a/MeshLib/MeshQuality/EdgeRatioMetric.cpp b/MeshLib/MeshQuality/EdgeRatioMetric.cpp
index 23cd6a7255017803484e8b1da79c7e662d1dce2e..360b8148a8f9622bb65ec8cd2002f7d4f4feff35 100644
--- a/MeshLib/MeshQuality/EdgeRatioMetric.cpp
+++ b/MeshLib/MeshQuality/EdgeRatioMetric.cpp
@@ -28,7 +28,7 @@ void EdgeRatioMetric::calculateQuality()
 {
     // get all elements of mesh
     const std::vector<MeshLib::Element*>& elements(_mesh.getElements());
-    const std::size_t nElements (_mesh.getNElements());
+    const std::size_t nElements (_mesh.getNumberOfElements());
     for (std::size_t k(0); k < nElements; k++)
     {
         Element const& elem (*elements[k]);
diff --git a/MeshLib/MeshQuality/ElementQualityMetric.cpp b/MeshLib/MeshQuality/ElementQualityMetric.cpp
index c80d6a1c3ea23f734c7f5107698184ee917c12d3..a8936a6694ee647b6bf17e8a441e5d9c9129538f 100644
--- a/MeshLib/MeshQuality/ElementQualityMetric.cpp
+++ b/MeshLib/MeshQuality/ElementQualityMetric.cpp
@@ -24,13 +24,13 @@ namespace MeshLib
 ElementQualityMetric::ElementQualityMetric(Mesh const& mesh) :
     _min (std::numeric_limits<double>::max()), _max (0), _mesh (mesh)
 {
-    _element_quality_metric.resize (_mesh.getNElements(), -1.0);
+    _element_quality_metric.resize (_mesh.getNumberOfElements(), -1.0);
 }
 
 BaseLib::Histogram<double> ElementQualityMetric::getHistogram (std::size_t n_bins) const
 {
     if (n_bins == 0)
-        n_bins = static_cast<std::size_t>(1 + 3.3 * log (static_cast<float>((_mesh.getNElements()))));
+        n_bins = static_cast<std::size_t>(1 + 3.3 * log (static_cast<float>((_mesh.getNumberOfElements()))));
 
     return BaseLib::Histogram<double>(getElementQuality(), n_bins, true);
 }
@@ -39,7 +39,7 @@ void ElementQualityMetric::errorMsg (Element const& elem, std::size_t idx) const
 {
     ERR ("Error in MeshQualityChecker::check() - Calculated value of element is below double precision minimum.");
     ERR ("Points of %s-Element %d: ", MeshElemType2String(elem.getGeomType()).c_str(), idx);
-    for (std::size_t i(0); i < elem.getNBaseNodes(); i++)
+    for (std::size_t i(0); i < elem.getNumberOfBaseNodes(); i++)
     {
         const double* coords = elem.getNode(i)->getCoords();
         ERR ("\t Node %d: (%f, %f, %f)", i, coords[0], coords[1], coords[2]);
diff --git a/MeshLib/MeshQuality/MeshValidation.cpp b/MeshLib/MeshQuality/MeshValidation.cpp
index 1b3837c7a497aec18946d2c2e6880f342bf26bfe..9dc94d61c30c4d176e9ab5db24dbd1d48e848ec8 100644
--- a/MeshLib/MeshQuality/MeshValidation.cpp
+++ b/MeshLib/MeshQuality/MeshValidation.cpp
@@ -39,7 +39,7 @@ MeshValidation::MeshValidation(MeshLib::Mesh &mesh)
         INFO ("%d unused mesh nodes found.", ns.getSearchedNodeIDs().size());
     }
     MeshRevision rev(mesh);
-    INFO ("Found %d potentially collapsable nodes.", rev.getNCollapsableNodes());
+    INFO ("Found %d potentially collapsable nodes.", rev.getNumberOfCollapsableNodes());
 
     const std::vector<ElementErrorCode> codes (this->testElementGeometry(mesh));
     std::array<std::string, static_cast<std::size_t>(ElementErrorFlag::MaxValue)> output_str (this->ElementErrorCodeOutput(codes));
@@ -53,7 +53,7 @@ std::vector<ElementErrorCode> MeshValidation::testElementGeometry(const MeshLib:
     const std::size_t nErrorCodes (static_cast<std::size_t>(ElementErrorFlag::MaxValue));
     unsigned error_count[nErrorCodes];
     std::fill_n(error_count, 4, 0);
-    const std::size_t nElements (mesh.getNElements());
+    const std::size_t nElements (mesh.getNumberOfElements());
     const std::vector<MeshLib::Element*> &elements (mesh.getElements());
     std::vector<ElementErrorCode> error_code_vector;
     error_code_vector.reserve(nElements);
@@ -157,7 +157,7 @@ void MeshValidation::trackSurface(MeshLib::Element const* element, std::vector<u
         MeshLib::Element const*const elem = elem_stack.top();
         elem_stack.pop();
         sfc_idx[elem->getID()] = current_index;
-        std::size_t const n_neighbors (elem->getNNeighbors());
+        std::size_t const n_neighbors (elem->getNumberOfNeighbors());
         for (std::size_t i=0; i<n_neighbors; ++i)
         {
             MeshLib::Element const* neighbor (elem->getNeighbor(i));
diff --git a/MeshLib/MeshQuality/RadiusEdgeRatioMetric.cpp b/MeshLib/MeshQuality/RadiusEdgeRatioMetric.cpp
index 57ecfe0d9d1879b62d36286d5ee93f2f01ea5306..70746ea4afcf735ada5c11b1f78b9adfbb445cb6 100644
--- a/MeshLib/MeshQuality/RadiusEdgeRatioMetric.cpp
+++ b/MeshLib/MeshQuality/RadiusEdgeRatioMetric.cpp
@@ -27,11 +27,11 @@ RadiusEdgeRatioMetric::RadiusEdgeRatioMetric(Mesh const& mesh)
 void RadiusEdgeRatioMetric::calculateQuality ()
 {
     std::vector<MeshLib::Element*> const& elements(_mesh.getElements());
-    std::size_t const nElements (_mesh.getNElements());
+    std::size_t const nElements (_mesh.getNumberOfElements());
     for (std::size_t k(0); k < nElements; k++)
     {
         Element const& elem (*elements[k]);
-        std::size_t const n_nodes (elem.getNBaseNodes());
+        std::size_t const n_nodes (elem.getNumberOfBaseNodes());
         std::vector<MathLib::Point3d*> pnts(n_nodes);
         std::copy_n(elem.getNodes(), n_nodes, pnts.begin());
         GeoLib::MinimalBoundingSphere const s(pnts);
diff --git a/MeshLib/MeshQuality/SizeDifferenceMetric.cpp b/MeshLib/MeshQuality/SizeDifferenceMetric.cpp
index 0a0fa9c0fbe6dfbd782e60a85fd7ae90463f863c..6bc7731ab3bfb676f413c264fadd88d2c1b3e57a 100644
--- a/MeshLib/MeshQuality/SizeDifferenceMetric.cpp
+++ b/MeshLib/MeshQuality/SizeDifferenceMetric.cpp
@@ -26,7 +26,7 @@ ElementQualityMetric(mesh)
 void SizeDifferenceMetric::calculateQuality()
 {
     std::vector<MeshLib::Element*> const& elements(_mesh.getElements());
-    std::size_t const nElements (_mesh.getNElements());
+    std::size_t const nElements (_mesh.getNumberOfElements());
     std::size_t const mesh_dim (_mesh.getDimension());
 
     for (std::size_t k=0; k < nElements; ++k)
@@ -38,7 +38,7 @@ void SizeDifferenceMetric::calculateQuality()
             continue;
         }
 
-        std::size_t const n_neighbors (elem.getNNeighbors());
+        std::size_t const n_neighbors (elem.getNumberOfNeighbors());
         double const vol_a (elem.getContent());
 
         double worst_ratio(1.0);
diff --git a/MeshLib/MeshSearch/ElementSearch.cpp b/MeshLib/MeshSearch/ElementSearch.cpp
index 79d0c9e4a12329d66de8f4cb6bc1cb737667c843..be5f4c84e173dd19e9f0abddfb76ebf51ebddc26 100644
--- a/MeshLib/MeshSearch/ElementSearch.cpp
+++ b/MeshLib/MeshSearch/ElementSearch.cpp
@@ -57,7 +57,7 @@ std::size_t ElementSearch::searchByBoundingBox(
 {
     auto matchedIDs = filter(_mesh.getElements(),
         [&aabb](MeshLib::Element* e) {
-            std::size_t const nElemNodes (e->getNBaseNodes());
+            std::size_t const nElemNodes (e->getNumberOfBaseNodes());
             for (std::size_t n=0; n < nElemNodes; ++n)
                 if (aabb.containsPoint(*e->getNode(n)))
                     return true;    // any node of element is in aabb.
diff --git a/MeshLib/MeshSearch/MeshElementGrid.cpp b/MeshLib/MeshSearch/MeshElementGrid.cpp
index 358ea28d18499ba1ea15ac37ab2e8cf6604d2e6a..a9469a69fc97c4f15b3788aad016e1b9a8f95b08 100644
--- a/MeshLib/MeshSearch/MeshElementGrid.cpp
+++ b/MeshLib/MeshSearch/MeshElementGrid.cpp
@@ -48,7 +48,7 @@ MeshElementGrid::MeshElementGrid(MeshLib::Mesh const& sfc_mesh) :
     std::array<double, 3> delta{{ max_pnt[0] - min_pnt[0],
         max_pnt[1] - min_pnt[1], max_pnt[2] - min_pnt[2] }};
 
-    const std::size_t n_eles(sfc_mesh.getNElements());
+    const std::size_t n_eles(sfc_mesh.getNumberOfElements());
     const std::size_t n_eles_per_cell(100);
 
     // *** condition: n_eles / n_cells < n_eles_per_cell
@@ -134,8 +134,8 @@ bool MeshElementGrid::sortElementInGridCells(MeshLib::Element const& element)
         return false;
     }
 
-    std::vector<std::array<std::size_t,3>> coord_vecs(element.getNNodes());
-    for (std::size_t k(1); k<element.getNNodes(); ++k) {
+    std::vector<std::array<std::size_t,3>> coord_vecs(element.getNumberOfNodes());
+    for (std::size_t k(1); k<element.getNumberOfNodes(); ++k) {
         // compute coordinates of the grid for each node of the element
         c = getGridCellCoordinates(*(static_cast<MathLib::Point3d const*>(element.getNode(k))));
         if (!c.first)
diff --git a/MeshLib/MeshSearch/NodeSearch.cpp b/MeshLib/MeshSearch/NodeSearch.cpp
index 4cf83a7da40a7922b641387710d1076d93a96151..4b185b47742d8e075113f330c498d796d7a334b8 100644
--- a/MeshLib/MeshSearch/NodeSearch.cpp
+++ b/MeshLib/MeshSearch/NodeSearch.cpp
@@ -31,12 +31,12 @@ std::size_t NodeSearch::searchNodesConnectedToOnlyGivenElements(
     //
     // Note: If there are only few elements to be removed, using a different
     // algorithm might be more memory efficient.
-    std::vector<std::size_t> node_marked_counts(_mesh.getNNodes(), 0);
+    std::vector<std::size_t> node_marked_counts(_mesh.getNumberOfNodes(), 0);
 
     for(std::size_t eid : elements)
     {
         auto* e = _mesh.getElement(eid);
-        for (unsigned i=0; i<e->getNBaseNodes(); i++) {
+        for (unsigned i=0; i<e->getNumberOfBaseNodes(); i++) {
             node_marked_counts[e->getNodeIndex(i)]++;
         }
     }
@@ -57,12 +57,12 @@ std::size_t NodeSearch::searchNodesConnectedToOnlyGivenElements(
 
 std::size_t NodeSearch::searchUnused()
 {
-    const std::size_t nNodes (_mesh.getNNodes());
+    const std::size_t nNodes (_mesh.getNumberOfNodes());
     const std::vector<MeshLib::Node*> &nodes (_mesh.getNodes());
     std::vector<std::size_t> del_node_idx;
 
     for (unsigned i=0; i<nNodes; ++i)
-        if (nodes[i]->getNElements() == 0)
+        if (nodes[i]->getNumberOfElements() == 0)
             del_node_idx.push_back(i);
 
     this->updateUnion(del_node_idx);
@@ -83,7 +83,7 @@ std::vector<Node*> getUniqueNodes(std::vector<Element*> const& elements)
     for (auto e : elements)
     {
         Node* const* nodes = e->getNodes();
-        unsigned const nnodes = e->getNNodes();
+        unsigned const nnodes = e->getNumberOfNodes();
         nodes_set.insert(nodes, nodes + nnodes);
     }
 
diff --git a/MeshLib/MeshSubset.h b/MeshLib/MeshSubset.h
index d4e69daf05f3ef99ab0e1b41af7fa93ec116df55..6323599928fbb07ff50b609b6a1e2072cd1dd301 100644
--- a/MeshLib/MeshSubset.h
+++ b/MeshLib/MeshSubset.h
@@ -74,9 +74,9 @@ public:
     }
 
     /// return the total number of mesh items
-    std::size_t getNTotalItems() const
+    std::size_t getNumberOfTotalItems() const
     {
-        return getNNodes() + getNElements();
+        return getNumberOfNodes() + getNumberOfElements();
     }
 
     /// return this mesh ID
@@ -86,7 +86,7 @@ public:
     }
 
     /// return the number of registered nodes
-    std::size_t getNNodes() const
+    std::size_t getNumberOfNodes() const
     {
         return (_nodes==nullptr) ? 0 : _nodes->size();
     }
@@ -101,7 +101,7 @@ public:
     }
 
     /// return the number of registered elements
-    std::size_t getNElements() const
+    std::size_t getNumberOfElements() const
     {
         return (_eles==nullptr) ? 0 : _eles->size();
     }
diff --git a/MeshLib/MeshSubsets.h b/MeshLib/MeshSubsets.h
index ec0a9ddbf2d90f8b9c55009ddae5928a1a76eb1f..6fe6976d68bf9cc7f0b8bddaa69a0df16eda3843 100644
--- a/MeshLib/MeshSubsets.h
+++ b/MeshLib/MeshSubsets.h
@@ -35,7 +35,7 @@ public:
     MeshSubsets(const MeshSubset* mesh_subset)
     {
         _mesh_subsets.push_back(mesh_subset);
-        _n_total_items = mesh_subset->getNTotalItems();
+        _n_total_items = mesh_subset->getNumberOfTotalItems();
     }
 
     /// Construct MeshSubsets from a range of MeshSubset. InputIterator must
@@ -55,12 +55,12 @@ public:
         _n_total_items = std::accumulate(first, last, 0u,
             [](std::size_t const& sum, MeshSubset const* const mesh_subset)
             {
-                return sum + mesh_subset->getNTotalItems();
+                return sum + mesh_subset->getNumberOfTotalItems();
             });
     }
 
     /// return the total number of mesh items (in all meshes) where this component is assigned
-    std::size_t getNMeshItems() const
+    std::size_t getNumberOfMeshItems() const
     {
         return _n_total_items;
     }
diff --git a/MeshLib/MeshSurfaceExtraction.cpp b/MeshLib/MeshSurfaceExtraction.cpp
index 5050e6602aca3b0b86ff2f14c2d90635c1e5b39b..57a8f6373ebac78a8bdd89b7d62f0d24f41bf168 100644
--- a/MeshLib/MeshSurfaceExtraction.cpp
+++ b/MeshLib/MeshSurfaceExtraction.cpp
@@ -44,7 +44,7 @@ std::vector<double> MeshSurfaceExtraction::getSurfaceAreaForNodes(const MeshLib:
 
     // for each node, a vector containing all the element idget every element
     const std::vector<MeshLib::Node*> &nodes = mesh.getNodes();
-    const std::size_t nNodes ( mesh.getNNodes() );
+    const std::size_t nNodes ( mesh.getNumberOfNodes() );
     for (std::size_t n=0; n<nNodes; ++n)
     {
         double node_area (0);
@@ -87,15 +87,15 @@ MeshLib::Mesh* MeshSurfaceExtraction::getMeshSurface(
         return nullptr;
 
     std::vector<MeshLib::Node*> sfc_nodes;
-    std::vector<std::size_t> node_id_map(mesh.getNNodes());
-    get2DSurfaceNodes(sfc_nodes, mesh.getNNodes(), sfc_elements, node_id_map);
+    std::vector<std::size_t> node_id_map(mesh.getNumberOfNodes());
+    get2DSurfaceNodes(sfc_nodes, mesh.getNumberOfNodes(), sfc_elements, node_id_map);
 
     // create new elements vector with newly created nodes
     std::vector<MeshLib::Element*> new_elements;
     new_elements.reserve(sfc_elements.size());
     for (auto elem = sfc_elements.cbegin(); elem != sfc_elements.cend(); ++elem)
     {
-        unsigned const n_elem_nodes ((*elem)->getNBaseNodes());
+        unsigned const n_elem_nodes ((*elem)->getNumberOfBaseNodes());
         MeshLib::Node** new_nodes = new MeshLib::Node*[n_elem_nodes];
         for (unsigned k(0); k<n_elem_nodes; k++)
             new_nodes[k] = sfc_nodes[node_id_map[(*elem)->getNode(k)->getID()]];
@@ -149,7 +149,7 @@ MeshLib::Mesh* MeshSurfaceExtraction::getMeshBoundary(const MeshLib::Mesh &mesh)
     for (auto it=org_elems.begin(); it!=org_elems.end(); ++it)
     {
         MeshLib::Element* elem (*it);
-        std::size_t const n_edges (elem->getNEdges());
+        std::size_t const n_edges (elem->getNumberOfEdges());
         for (std::size_t i=0; i<n_edges; ++i)
             if (elem->getNeighbor(i) == nullptr)
             {
@@ -200,7 +200,7 @@ void MeshSurfaceExtraction::get2DSurfaceElements(const std::vector<MeshLib::Elem
         {
             if (!(*elem)->isBoundaryElement())
                 continue;
-            const unsigned nFaces ((*elem)->getNFaces());
+            const unsigned nFaces ((*elem)->getNumberOfFaces());
             for (unsigned j=0; j<nFaces; ++j)
             {
                 if ((*elem)->getNeighbor(j) != nullptr)
@@ -230,7 +230,7 @@ void MeshSurfaceExtraction::get2DSurfaceNodes(std::vector<MeshLib::Node*> &sfc_n
     for (std::size_t i=0; i<nNewElements; ++i)
     {
         const MeshLib::Element* elem (sfc_elements[i]);
-        for (unsigned j=0; j<elem->getNBaseNodes(); ++j)
+        for (unsigned j=0; j<elem->getNumberOfBaseNodes(); ++j)
         {
             const MeshLib::Node* node (elem->getNode(j));
             tmp_nodes[node->getID()] = node;
@@ -254,8 +254,8 @@ std::vector<GeoLib::Point*> MeshSurfaceExtraction::getSurfaceNodes(const MeshLib
     get2DSurfaceElements(mesh.getElements(), sfc_elements, dir, angle, mesh.getDimension());
 
     std::vector<MeshLib::Node*> sfc_nodes;
-    std::vector<std::size_t> node_id_map(mesh.getNNodes());
-    get2DSurfaceNodes(sfc_nodes, mesh.getNNodes(), sfc_elements, node_id_map);
+    std::vector<std::size_t> node_id_map(mesh.getNumberOfNodes());
+    get2DSurfaceNodes(sfc_nodes, mesh.getNumberOfNodes(), sfc_elements, node_id_map);
 
     for (auto e : sfc_elements)
         delete e;
diff --git a/MeshLib/Node.h b/MeshLib/Node.h
index 889f05af1b4ce442336f083f9a03b55ddb9455a1..44d3820a2060d80914f5a0df183711cd2eef3ea5 100644
--- a/MeshLib/Node.h
+++ b/MeshLib/Node.h
@@ -59,7 +59,7 @@ public:
     const std::vector<Element*>& getElements() const { return _elements; }
 
     /// Get number of elements the node is part of.
-    std::size_t getNElements() const { return _elements.size(); }
+    std::size_t getNumberOfElements() const { return _elements.size(); }
 
     /// Destructor
     virtual ~Node();
diff --git a/MeshLib/NodePartitionedMesh.h b/MeshLib/NodePartitionedMesh.h
index 967e991c0d5f321ddbb409d40d3e96aa8b8acc2d..eab5679910e1931811e190ada2590e77302bbeb4 100644
--- a/MeshLib/NodePartitionedMesh.h
+++ b/MeshLib/NodePartitionedMesh.h
@@ -68,13 +68,13 @@ class NodePartitionedMesh : public Mesh
         }
 
         /// Get the number of nodes of the global mesh for linear elements.
-        std::size_t getNGlobalBaseNodes() const
+        std::size_t getNumberOfGlobalBaseNodes() const
         {
             return _n_global_base_nodes;
         }
 
         /// Get the number of all nodes of the global mesh.
-        std::size_t getNGlobalNodes() const
+        std::size_t getNumberOfGlobalNodes() const
         {
             return _n_global_nodes;
         }
@@ -86,13 +86,13 @@ class NodePartitionedMesh : public Mesh
         }
 
         /// Get the number of the active nodes of the partition for linear elements.
-        std::size_t getNActiveBaseNodes() const
+        std::size_t getNumberOfActiveBaseNodes() const
         {
             return _n_active_base_nodes;
         }
 
         /// Get the number of all active nodes of the partition.
-        std::size_t getNActiveNodes() const
+        std::size_t getNumberOfActiveNodes() const
         {
             return _n_active_nodes;
         }
@@ -115,7 +115,7 @@ class NodePartitionedMesh : public Mesh
         }
 
         /// Get the number of non-ghost elements, or the start entry ID of ghost elements in element vector.
-        std::size_t getNNonGhostElements() const
+        std::size_t getNumberOfNonGhostElements() const
         {
             return _n_nghost_elem;
         }
diff --git a/MeshLib/Vtk/VtkMappedMesh.cpp b/MeshLib/Vtk/VtkMappedMesh.cpp
index a5998250d1953f7d369c057411b79a9d2f584d95..9b17e5d35a7864c9cf1a43d3804317cf9beedbf6 100644
--- a/MeshLib/Vtk/VtkMappedMesh.cpp
+++ b/MeshLib/Vtk/VtkMappedMesh.cpp
@@ -66,7 +66,7 @@ int VtkMappedMeshImpl::GetCellType(vtkIdType cellId)
 void VtkMappedMeshImpl::GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)
 {
     const MeshLib::Element* const elem = (*_elements)[cellId];
-    const unsigned numNodes(elem->getNNodes());
+    const unsigned numNodes(elem->getNumberOfNodes());
     const MeshLib::Node* const* nodes = (*_elements)[cellId]->getNodes();
     ptIds->SetNumberOfIds(numNodes);
 
@@ -115,7 +115,7 @@ int VtkMappedMeshImpl::GetMaxCellSize()
 {
     unsigned int size = 0;
     for (auto elem(_elements->begin()); elem != _elements->end(); ++elem)
-        size = std::max(size, (*elem)->getNNodes());
+        size = std::max(size, (*elem)->getNumberOfNodes());
     return size;
 }
 
diff --git a/MeshLib/Vtk/VtkMappedMeshSource.cpp b/MeshLib/Vtk/VtkMappedMeshSource.cpp
index ee1fab6643aa532c68ac44b1dfc22c5c3309a81b..6a3e1ec88bc64714d4154b62a3d55dc6c8dda900 100644
--- a/MeshLib/Vtk/VtkMappedMeshSource.cpp
+++ b/MeshLib/Vtk/VtkMappedMeshSource.cpp
@@ -111,7 +111,7 @@ int VtkMappedMeshSource::RequestInformation(
     vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 {
     this->NumberOfDimensions = 3;
-    this->NumberOfNodes = _mesh->getNNodes();
+    this->NumberOfNodes = _mesh->getNumberOfNodes();
 
     return 1;
 }
diff --git a/MeshLib/convertMeshToGeo.cpp b/MeshLib/convertMeshToGeo.cpp
index 5c1a43210a6161294565f8ffb4c27fa1bc121570..24d4ae244cfa51dfafa121ea08d9945baa4be24e 100644
--- a/MeshLib/convertMeshToGeo.cpp
+++ b/MeshLib/convertMeshToGeo.cpp
@@ -41,7 +41,7 @@ bool convertMeshToGeo(const MeshLib::Mesh &mesh, GeoLib::GEOObjects &geo_objects
     {
         auto points = std::unique_ptr<std::vector<GeoLib::Point*>>(
             new std::vector<GeoLib::Point*>);
-        points->reserve(mesh.getNNodes());
+        points->reserve(mesh.getNumberOfNodes());
 
         for (auto node_ptr : mesh.getNodes())
             points->push_back(new GeoLib::Point(*node_ptr, node_ptr->getID()));
@@ -61,7 +61,7 @@ bool convertMeshToGeo(const MeshLib::Mesh &mesh, GeoLib::GEOObjects &geo_objects
         sfcs->push_back(new GeoLib::Surface(points));
 
     const std::vector<MeshLib::Element*> &elements = mesh.getElements();
-    const std::size_t nElems (mesh.getNElements());
+    const std::size_t nElems (mesh.getNumberOfElements());
 
     auto materialIds = mesh.getProperties().getPropertyVector<int>(mat_name);
     auto const materialIdExist = bool(materialIds);
@@ -80,7 +80,7 @@ bool convertMeshToGeo(const MeshLib::Mesh &mesh, GeoLib::GEOObjects &geo_objects
         // all other element types are ignored (i.e. lines)
     }
 
-    std::for_each(sfcs->begin(), sfcs->end(), [](GeoLib::Surface* sfc){ if (sfc->getNTriangles()==0) delete sfc; sfc = nullptr;});
+    std::for_each(sfcs->begin(), sfcs->end(), [](GeoLib::Surface* sfc){ if (sfc->getNumberOfTriangles()==0) delete sfc; sfc = nullptr;});
     auto sfcs_end = std::remove(sfcs->begin(), sfcs->end(), nullptr);
     sfcs->erase(sfcs_end, sfcs->end());
 
@@ -94,7 +94,7 @@ MeshLib::Mesh* convertSurfaceToMesh(const GeoLib::Surface &sfc, const std::strin
     std::vector<MeshLib::Node*> nodes;
     std::vector<MeshLib::Element*> elements;
     std::size_t nodeId = 0;
-    for (std::size_t i=0; i<sfc.getNTriangles(); i++)
+    for (std::size_t i=0; i<sfc.getNumberOfTriangles(); i++)
     {
         auto* tri = sfc[i];
         MeshLib::Node** tri_nodes = new MeshLib::Node*[3];
diff --git a/NumLib/DOF/ComputeSparsityPattern.cpp b/NumLib/DOF/ComputeSparsityPattern.cpp
index 3b6ac2f55006efd3b2312d2d9fd6d5cf9131b403..46d2ad519d03acca1792ad15e3b469da6417bf16 100644
--- a/NumLib/DOF/ComputeSparsityPattern.cpp
+++ b/NumLib/DOF/ComputeSparsityPattern.cpp
@@ -40,8 +40,8 @@ GlobalSparsityPattern computeSparsityPatternNonPETSc(
     // It acts as a cache for dof table queries.
     std::vector<std::vector<GlobalIndexType>> global_idcs;
 
-    global_idcs.reserve(mesh.getNNodes());
-    for (std::size_t n = 0; n < mesh.getNNodes(); ++n)
+    global_idcs.reserve(mesh.getNumberOfNodes());
+    for (std::size_t n = 0; n < mesh.getNumberOfNodes(); ++n)
     {
         MeshLib::Location l(mesh.getID(), MeshLib::MeshItemType::Node, n);
         global_idcs.push_back(dof_table.getGlobalIndices(l));
@@ -50,7 +50,7 @@ GlobalSparsityPattern computeSparsityPatternNonPETSc(
     GlobalSparsityPattern sparsity_pattern(dof_table.dofSizeWithGhosts());
 
     // Map adjacent mesh nodes to "adjacent global indices".
-    for (std::size_t n = 0; n < mesh.getNNodes(); ++n)
+    for (std::size_t n = 0; n < mesh.getNumberOfNodes(); ++n)
     {
         auto const& node_ids = node_adjacency_table.getAdjacentNodes(n);
         for (auto an : node_ids)
diff --git a/NumLib/DOF/LocalToGlobalIndexMap.cpp b/NumLib/DOF/LocalToGlobalIndexMap.cpp
index 27432950335095b3ea46762e9debad64452f96ff..c6a06b3f515288c568688d32c262b7cb5dec38e8 100644
--- a/NumLib/DOF/LocalToGlobalIndexMap.cpp
+++ b/NumLib/DOF/LocalToGlobalIndexMap.cpp
@@ -26,7 +26,7 @@ LocalToGlobalIndexMap::findGlobalIndices(
     std::size_t elem_id = 0;
     for (ElementIterator e = first; e != last; ++e, ++elem_id)
     {
-        std::size_t const nnodes = (*e)->getNNodes();
+        std::size_t const nnodes = (*e)->getNumberOfNodes();
 
         LineIndex indices;
         indices.reserve(nnodes);
diff --git a/NumLib/DOF/MeshComponentMap.cpp b/NumLib/DOF/MeshComponentMap.cpp
index 7b1cf68dfeb491700f7ab76dde0d957c947fdb8c..2cb4d31eb867b158c06beed16a6f20ebc460da83 100644
--- a/NumLib/DOF/MeshComponentMap.cpp
+++ b/NumLib/DOF/MeshComponentMap.cpp
@@ -47,7 +47,7 @@ MeshComponentMap::MeshComponentMap(
             const MeshLib::NodePartitionedMesh& mesh =
                 static_cast<const MeshLib::NodePartitionedMesh&>(
                     mesh_subset.getMesh());
-            num_unknowns += mesh.getNGlobalNodes();
+            num_unknowns += mesh.getNumberOfGlobalNodes();
         }
     }
 
@@ -72,7 +72,7 @@ MeshComponentMap::MeshComponentMap(
                     mesh_subset.getMesh());
 
             // mesh items are ordered first by node, cell, ....
-            for (std::size_t j = 0; j < mesh_subset.getNNodes(); j++)
+            for (std::size_t j = 0; j < mesh_subset.getNumberOfNodes(); j++)
             {
                 GlobalIndexType global_id = 0;
                 if (order == ComponentOrder::BY_LOCATION)
@@ -107,12 +107,12 @@ MeshComponentMap::MeshComponentMap(
             // Note: If the cells are really used (e.g. for the mixed FEM),
             // the following global cell index must be reconsidered
             // according to the employed cell indexing method.
-            for (std::size_t j = 0; j < mesh_subset.getNElements(); j++)
+            for (std::size_t j = 0; j < mesh_subset.getNumberOfElements(); j++)
                 _dict.insert(
                     Line(Location(mesh_id, MeshLib::MeshItemType::Cell, j),
                          comp_id, cell_index++));
 
-            _num_global_dof += mesh.getNGlobalNodes();
+            _num_global_dof += mesh.getNumberOfGlobalNodes();
         }
         comp_id++;
     }
@@ -134,9 +134,9 @@ MeshComponentMap::MeshComponentMap(
             MeshLib::MeshSubset const& mesh_subset = c->getMeshSubset(mesh_subset_index);
             std::size_t const mesh_id = mesh_subset.getMeshID();
             // mesh items are ordered first by node, cell, ....
-            for (std::size_t j=0; j<mesh_subset.getNNodes(); j++)
+            for (std::size_t j=0; j<mesh_subset.getNumberOfNodes(); j++)
                 _dict.insert(Line(Location(mesh_id, MeshLib::MeshItemType::Node, mesh_subset.getNodeID(j)), comp_id, global_index++));
-            for (std::size_t j=0; j<mesh_subset.getNElements(); j++)
+            for (std::size_t j=0; j<mesh_subset.getNumberOfElements(); j++)
                 _dict.insert(Line(Location(mesh_id, MeshLib::MeshItemType::Cell, mesh_subset.getElementID(j)), comp_id, global_index++));
         }
         comp_id++;
@@ -161,12 +161,12 @@ MeshComponentMap MeshComponentMap::getSubset(
         std::size_t const mesh_id = mesh_subset->getMeshID();
         // Lookup the locations in the current mesh component map and
         // insert the full lines into the subset dictionary.
-        for (std::size_t j = 0; j < mesh_subset->getNNodes(); j++)
+        for (std::size_t j = 0; j < mesh_subset->getNumberOfNodes(); j++)
             subset_dict.insert(
                 getLine(Location(mesh_id, MeshLib::MeshItemType::Node,
                                  mesh_subset->getNodeID(j)),
                         component_id));
-        for (std::size_t j = 0; j < mesh_subset->getNElements(); j++)
+        for (std::size_t j = 0; j < mesh_subset->getNumberOfElements(); j++)
             subset_dict.insert(
                 getLine(Location(mesh_id, MeshLib::MeshItemType::Cell,
                                  mesh_subset->getElementID(j)),
diff --git a/NumLib/Fem/Integration/IntegrationGaussPrism.h b/NumLib/Fem/Integration/IntegrationGaussPrism.h
index 23dbcb4d2215b246eec9d5f54b392992089d2b4b..d634e46a19bfb6cb5fc60ba4eec11fe5da06a02e 100644
--- a/NumLib/Fem/Integration/IntegrationGaussPrism.h
+++ b/NumLib/Fem/Integration/IntegrationGaussPrism.h
@@ -39,14 +39,14 @@ public:
     void setIntegrationOrder(std::size_t /*order*/)
     {
         _order = 2; // fixed
-        _n_sampl_pt = getNPoints(_order);
+        _n_sampl_pt = getNumberOfPoints(_order);
     }
 
     /// return current integration order.
     std::size_t getIntegrationOrder() const {return _order;}
 
     /// return the number of sampling points
-    std::size_t getNPoints() const {return _n_sampl_pt;}
+    std::size_t getNumberOfPoints() const {return _n_sampl_pt;}
 
     /**
      * get coordinates of a integration point
@@ -94,7 +94,7 @@ public:
      * @return the number of points
      */
     static std::size_t
-    getNPoints(std::size_t order)
+    getNumberOfPoints(std::size_t order)
     {
         if (order==2) return 6;
         return 0;
diff --git a/NumLib/Fem/Integration/IntegrationGaussPyramid.h b/NumLib/Fem/Integration/IntegrationGaussPyramid.h
index 7005b0d68ad0c48ba5fa0bcaad1d18b3a7314d94..0cc01a1c2383b93ef770d0f351ff910726ae7f8e 100644
--- a/NumLib/Fem/Integration/IntegrationGaussPyramid.h
+++ b/NumLib/Fem/Integration/IntegrationGaussPyramid.h
@@ -38,14 +38,14 @@ public:
     void setIntegrationOrder(std::size_t order)
     {
         _order = order;
-        _n_sampl_pt = getNPoints(_order);
+        _n_sampl_pt = getNumberOfPoints(_order);
     }
 
     /// return current integration order.
     std::size_t getIntegrationOrder() const {return _order;}
 
     /// return the number of sampling points
-    std::size_t getNPoints() const {return _n_sampl_pt;}
+    std::size_t getNumberOfPoints() const {return _n_sampl_pt;}
 
     /**
      * get coordinates of a integration point
@@ -92,7 +92,7 @@ public:
      * @return the number of points
      */
     static std::size_t
-    getNPoints(std::size_t order)
+    getNumberOfPoints(std::size_t order)
     {
         switch (order)
         {
diff --git a/NumLib/Fem/Integration/IntegrationGaussRegular.h b/NumLib/Fem/Integration/IntegrationGaussRegular.h
index 8405c7209a14c9b9cefadd022eae8444533f5db7..6840d3edcf7ea287bfacffba6d13f108467b55b2 100644
--- a/NumLib/Fem/Integration/IntegrationGaussRegular.h
+++ b/NumLib/Fem/Integration/IntegrationGaussRegular.h
@@ -53,7 +53,7 @@ public:
     std::size_t getIntegrationOrder() const {return _order;}
 
     /// return the number of sampling points
-    std::size_t getNPoints() const {return _n_sampl_pt;}
+    std::size_t getNumberOfPoints() const {return _n_sampl_pt;}
 
     /// Get coordinates of the integration point.
     ///
diff --git a/NumLib/Fem/Integration/IntegrationGaussTet.h b/NumLib/Fem/Integration/IntegrationGaussTet.h
index cb959ba70ae6ad5d46b4fab66a567a0ef3badb49..9a2a0fe59df717e197af0e99b2fd45e5583bf54d 100644
--- a/NumLib/Fem/Integration/IntegrationGaussTet.h
+++ b/NumLib/Fem/Integration/IntegrationGaussTet.h
@@ -38,14 +38,14 @@ public:
     void setIntegrationOrder(std::size_t order)
     {
         _order = order;
-        _n_sampl_pt = getNPoints(order);
+        _n_sampl_pt = getNumberOfPoints(order);
     }
 
     /// return current integration order.
     std::size_t getIntegrationOrder() const {return _order;}
 
     /// return the number of sampling points
-    std::size_t getNPoints() const {return _n_sampl_pt;}
+    std::size_t getNumberOfPoints() const {return _n_sampl_pt;}
 
     /**
      * get coordinates of a integration point
@@ -92,7 +92,7 @@ public:
      * @return the number of points
      */
     static std::size_t
-    getNPoints(std::size_t order)
+    getNumberOfPoints(std::size_t order)
     {
         switch (order)
         {
diff --git a/NumLib/Fem/Integration/IntegrationGaussTri.h b/NumLib/Fem/Integration/IntegrationGaussTri.h
index 9f6b587227fa287b7331308563d2596c90675dca..0d3ec3cc71827c6c03303365e597fd64cc793c57 100644
--- a/NumLib/Fem/Integration/IntegrationGaussTri.h
+++ b/NumLib/Fem/Integration/IntegrationGaussTri.h
@@ -54,14 +54,14 @@ public:
     void setIntegrationOrder(std::size_t order)
     {
         _order = order;
-        _n_sampl_pt = getNPoints(order);
+        _n_sampl_pt = getNumberOfPoints(order);
     }
 
     /// return current integration order.
     std::size_t getIntegrationOrder() const {return _order;}
 
     /// return the number of sampling points
-    std::size_t getNPoints() const {return _n_sampl_pt;}
+    std::size_t getNumberOfPoints() const {return _n_sampl_pt;}
 
     /**
      * get coordinates of a integration point
@@ -108,7 +108,7 @@ public:
      * @return the number of points
      */
     static std::size_t
-    getNPoints(std::size_t order)
+    getNumberOfPoints(std::size_t order)
     {
         switch (order)
         {
diff --git a/NumLib/Fem/Integration/IntegrationPoint.h b/NumLib/Fem/Integration/IntegrationPoint.h
index 323dfc94b193d49dab5bd6d9e3c921799bca3aac..ee2c3b5af79f9a317e5f1d7408ee4a358e79e0cf 100644
--- a/NumLib/Fem/Integration/IntegrationPoint.h
+++ b/NumLib/Fem/Integration/IntegrationPoint.h
@@ -38,7 +38,7 @@ public:
     }
 
     /// Return the number of sampling points.
-    std::size_t getNPoints() const
+    std::size_t getNumberOfPoints() const
     {
         return 1;
     }
@@ -73,7 +73,7 @@ public:
     ///
     /// \param order    the number of integration points
     /// \return the number of points.
-    static std::size_t getNPoints(std::size_t /* order */)
+    static std::size_t getNumberOfPoints(std::size_t /* order */)
     {
         return 1;
     }
diff --git a/NumLib/TimeStepping/Algorithms/IterationNumberBasedAdaptiveTimeStepping.h b/NumLib/TimeStepping/Algorithms/IterationNumberBasedAdaptiveTimeStepping.h
index 9d394f5a98e678f138110f12dcb578aa15fc857f..e99ae3dfa98deb9ef0c5eb2b03a6a4ae13ab1211 100644
--- a/NumLib/TimeStepping/Algorithms/IterationNumberBasedAdaptiveTimeStepping.h
+++ b/NumLib/TimeStepping/Algorithms/IterationNumberBasedAdaptiveTimeStepping.h
@@ -107,7 +107,7 @@ public:
     void setNIterations(std::size_t n_itr) {this->_iter_times = n_itr;}
 
     /// return the number of repeated steps
-    std::size_t getNRepeatedSteps() const {return this->_n_rejected_steps;}
+    std::size_t getNumberOfRepeatedSteps() const {return this->_n_rejected_steps;}
 
 private:
     /// calculate the next time step size
diff --git a/ProcessLib/GroundwaterFlow/GroundwaterFlowFEM.h b/ProcessLib/GroundwaterFlow/GroundwaterFlowFEM.h
index 96fb30f1a55c646945a3a03ff6c15bc9d6ece4c0..7ce59f42a7bbe07aec0d361a7e0b834c63fbc60e 100644
--- a/ProcessLib/GroundwaterFlow/GroundwaterFlowFEM.h
+++ b/ProcessLib/GroundwaterFlow/GroundwaterFlowFEM.h
@@ -83,7 +83,7 @@ public:
         _localRhs.setZero();
 
         IntegrationMethod integration_method(_integration_order);
-        unsigned const n_integration_points = integration_method.getNPoints();
+        unsigned const n_integration_points = integration_method.getNumberOfPoints();
 
         for (std::size_t ip(0); ip < n_integration_points; ip++)
         {
diff --git a/ProcessLib/NeumannBcAssembler.h b/ProcessLib/NeumannBcAssembler.h
index 3d77a029e6bf7eb3ab9a4bdde6cd7da8173264af..9da05d9453cb0553ee3b87651ef6a405b20fb035 100644
--- a/ProcessLib/NeumannBcAssembler.h
+++ b/ProcessLib/NeumannBcAssembler.h
@@ -61,7 +61,7 @@ public:
 
         _integration_order = integration_order;
         IntegrationMethod_ integration_method(_integration_order);
-        std::size_t const n_integration_points = integration_method.getNPoints();
+        std::size_t const n_integration_points = integration_method.getNumberOfPoints();
 
         _shape_matrices.reserve(n_integration_points);
         for (std::size_t ip(0); ip < n_integration_points; ip++) {
@@ -85,7 +85,7 @@ public:
         _localRhs->setZero();
 
         IntegrationMethod_ integration_method(_integration_order);
-        std::size_t const n_integration_points = integration_method.getNPoints();
+        std::size_t const n_integration_points = integration_method.getNumberOfPoints();
 
         for (std::size_t ip(0); ip < n_integration_points; ip++) {
             auto const& sm = _shape_matrices[ip];
diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h
index 78a66cf118f7694bc492d71d7d82d131d5247bd5..fd24c86c5831f76d4f6f82d6a3b3c8a82d27e436 100644
--- a/ProcessLib/Process.h
+++ b/ProcessLib/Process.h
@@ -240,7 +240,7 @@ private:
                               int const component_id,
                               GlobalVector& x)
     {
-        std::size_t const n_nodes = _mesh.getNNodes();
+        std::size_t const n_nodes = _mesh.getNumberOfNodes();
         for (std::size_t node_id = 0; node_id < n_nodes; ++node_id)
         {
             MeshLib::Location const l(_mesh.getID(),
diff --git a/ProcessLib/ProcessOutput.h b/ProcessLib/ProcessOutput.h
index 03e7279899a1605d67aa32616aae1cff11451364..0bdce97928a40989271a1a51586fe68985beb6b6 100644
--- a/ProcessLib/ProcessOutput.h
+++ b/ProcessLib/ProcessOutput.h
@@ -112,7 +112,7 @@ void doProcessOutput(
 
     auto const& output_variables = process_output.output_variables;
 
-    std::size_t const n_nodes = mesh.getNNodes();
+    std::size_t const n_nodes = mesh.getNumberOfNodes();
     int global_component_offset = 0;
     int global_component_offset_next = 0;
 
@@ -157,8 +157,8 @@ void doProcessOutput(
         MeshLib::Mesh const& mesh, MeshLib::MeshItemType type) -> std::size_t
     {
         switch (type) {
-        case MeshLib::MeshItemType::Cell: return mesh.getNElements();
-        case MeshLib::MeshItemType::Node: return mesh.getNNodes();
+        case MeshLib::MeshItemType::Cell: return mesh.getNumberOfElements();
+        case MeshLib::MeshItemType::Node: return mesh.getNumberOfNodes();
         default: break; // avoid compiler warning
         }
         return 0;
@@ -198,14 +198,14 @@ void doProcessOutput(
 
             auto result = get_or_create_mesh_property(
                               output_name, MeshLib::MeshItemType::Node);
-            assert(result->size() == mesh.getNNodes());
+            assert(result->size() == mesh.getNumberOfNodes());
 
             std::unique_ptr<GlobalVector> result_cache;
             auto const& nodal_values =
                     var.fcts.eval_field(x, dof_table, result_cache);
 
             // Copy result
-            for (std::size_t i = 0; i < mesh.getNNodes(); ++i)
+            for (std::size_t i = 0; i < mesh.getNumberOfNodes(); ++i)
             {
                 assert(!std::isnan(nodal_values[i]));
                 (*result)[i] = nodal_values[i];
@@ -219,14 +219,14 @@ void doProcessOutput(
 
             auto result = get_or_create_mesh_property(
                               property_name_res, MeshLib::MeshItemType::Cell);
-            assert(result->size() == mesh.getNElements());
+            assert(result->size() == mesh.getNumberOfElements());
 
             std::unique_ptr<GlobalVector> result_cache;
             auto const& residuals =
                     var.fcts.eval_residuals(x, dof_table, result_cache);
 
             // Copy result
-            for (std::size_t i = 0; i < mesh.getNElements(); ++i)
+            for (std::size_t i = 0; i < mesh.getNumberOfElements(); ++i)
             {
                 assert(!std::isnan(residuals[i]));
                 (*result)[i] = residuals[i];
diff --git a/ProcessLib/ProcessVariable.cpp b/ProcessLib/ProcessVariable.cpp
index d3072e65be68f7fdf6c941dc9323f3c1c01a1ce5..cb58fe26318275e388882f06908332a596e3a6a9 100644
--- a/ProcessLib/ProcessVariable.cpp
+++ b/ProcessLib/ProcessVariable.cpp
@@ -133,14 +133,14 @@ MeshLib::PropertyVector<double>& ProcessVariable::getOrCreateMeshProperty()
         result =
             _mesh.getProperties().template getPropertyVector<double>(_name);
         assert(result);
-        assert(result->size() == _mesh.getNNodes() * _n_components);
+        assert(result->size() == _mesh.getNumberOfNodes() * _n_components);
     }
     else
     {
         result = _mesh.getProperties().template createNewPropertyVector<double>(
             _name, MeshLib::MeshItemType::Node);
         assert(result);
-        result->resize(_mesh.getNNodes() * _n_components);
+        result->resize(_mesh.getNumberOfNodes() * _n_components);
     }
     return *result;
 }
diff --git a/ProcessLib/TES/TESLocalAssembler-impl.h b/ProcessLib/TES/TESLocalAssembler-impl.h
index c5894a8c1e593196514d5067ee1e67d7b8b24231..4d4aa2ed9712869369ea2fdd6b1d656e6f2a24b4 100644
--- a/ProcessLib/TES/TESLocalAssembler-impl.h
+++ b/ProcessLib/TES/TESLocalAssembler-impl.h
@@ -142,7 +142,7 @@ void TESLocalAssembler<ShapeFunction_, IntegrationMethod_, GlobalMatrix,
     _local_b.setZero();
 
     IntegrationMethod_ integration_method(_integration_order);
-    unsigned const n_integration_points = integration_method.getNPoints();
+    unsigned const n_integration_points = integration_method.getNumberOfPoints();
 
     _d.preEachAssemble();
 
diff --git a/ProcessLib/TES/TESProcess.cpp b/ProcessLib/TES/TESProcess.cpp
index b1bf3d20c4d3bc8645835f4b701007797203b016..0969752b5cbf97d3e9fe8d098c23a783ce709804 100644
--- a/ProcessLib/TES/TESProcess.cpp
+++ b/ProcessLib/TES/TESProcess.cpp
@@ -354,7 +354,7 @@ TESProcess<GlobalSetup>::computeVapourPartialPressure(
          dof_table_single.dofSizeWithoutGhosts(),
          &dof_table_single.getGhostIndices(), nullptr});
 
-    GlobalIndexType nnodes = this->_mesh.getNNodes();
+    GlobalIndexType nnodes = this->_mesh.getNumberOfNodes();
 
     for (GlobalIndexType node_id = 0; node_id < nnodes; ++node_id)
     {
@@ -388,7 +388,7 @@ TESProcess<GlobalSetup>::computeRelativeHumidity(
          dof_table_single.dofSizeWithoutGhosts(),
          &dof_table_single.getGhostIndices(), nullptr});
 
-    GlobalIndexType nnodes = this->_mesh.getNNodes();
+    GlobalIndexType nnodes = this->_mesh.getNumberOfNodes();
 
     for (GlobalIndexType node_id = 0; node_id < nnodes; ++node_id)
     {
@@ -427,7 +427,7 @@ TESProcess<GlobalSetup>::computeEquilibriumLoading(
          dof_table_single.dofSizeWithoutGhosts(),
          &dof_table_single.getGhostIndices(), nullptr});
 
-    GlobalIndexType nnodes = this->_mesh.getNNodes();
+    GlobalIndexType nnodes = this->_mesh.getNumberOfNodes();
 
     for (GlobalIndexType node_id = 0; node_id < nnodes; ++node_id)
     {
diff --git a/ProcessLib/Utils/InitShapeMatrices.h b/ProcessLib/Utils/InitShapeMatrices.h
index c92e4384d251380bf642cb86f2581662aa3f0d01..874effec0107580b0e90c3d34f3af5374bc0a3d7 100644
--- a/ProcessLib/Utils/InitShapeMatrices.h
+++ b/ProcessLib/Utils/InitShapeMatrices.h
@@ -32,7 +32,7 @@ initShapeMatrices(MeshLib::Element const& e, unsigned integration_order)
     FemType fe(*static_cast<const typename ShapeFunction::MeshElement*>(&e));
 
     IntegrationMethod integration_method(integration_order);
-    std::size_t const n_integration_points = integration_method.getNPoints();
+    std::size_t const n_integration_points = integration_method.getNumberOfPoints();
 
     shape_matrices.reserve(n_integration_points);
     for (std::size_t ip = 0; ip < n_integration_points; ++ip) {
diff --git a/SimpleTests/MatrixTests/DenseGaussEliminationChecker.cpp b/SimpleTests/MatrixTests/DenseGaussEliminationChecker.cpp
index 936ae7d4df665ddd193036f5b397e5c62ea30c92..9739bf639988144405db8e9d638a94d9147726a6 100644
--- a/SimpleTests/MatrixTests/DenseGaussEliminationChecker.cpp
+++ b/SimpleTests/MatrixTests/DenseGaussEliminationChecker.cpp
@@ -49,8 +49,8 @@ int main(int argc, char *argv[])
     in >> n_rows;
     in >> n_cols;
     MathLib::DenseMatrix<double, std::size_t> mat(n_rows, n_cols);
-    for (std::size_t i(0); i<mat.getNRows(); ++i) {
-        for (std::size_t j(0); j<mat.getNCols(); ++j) {
+    for (std::size_t i(0); i<mat.getNumberOfRows(); ++i) {
+        for (std::size_t j(0); j<mat.getNumberOfColumns(); ++j) {
             in >> mat(i,j);
         }
     }
diff --git a/SimpleTests/MeshTests/MPI/NodePartitionedMeshTester.cpp b/SimpleTests/MeshTests/MPI/NodePartitionedMeshTester.cpp
index f84440768d1eb10c74f4c84d86a0329b17ee052d..0862aac7997b273e4611cf9fabd4cc50c9ab1f5e 100644
--- a/SimpleTests/MeshTests/MPI/NodePartitionedMeshTester.cpp
+++ b/SimpleTests/MeshTests/MPI/NodePartitionedMeshTester.cpp
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
     // Output nodes
     os.setf(std::ios::scientific, std::ios::floatfield);
     std::setprecision(10);
-    const std::size_t nn = mesh->getNNodes();
+    const std::size_t nn = mesh->getNumberOfNodes();
     for(std::size_t i=0; i<nn; i++)
     {
         const double *x = mesh->getNode(i)->getCoords();
@@ -87,13 +87,13 @@ int main(int argc, char *argv[])
     os.flush();
 
     // Output elements
-    const std::size_t ne = mesh->getNElements();
+    const std::size_t ne = mesh->getNumberOfElements();
     for(std::size_t i=0; i<ne; i++)
     {
         const Element *elem = mesh->getElement(i);
         Node* const* ele_nodes = elem->getNodes();
 
-        for(unsigned j=0; j<elem->getNNodes(); j++)
+        for(unsigned j=0; j<elem->getNumberOfNodes(); j++)
         {
             os << ele_nodes[j]->getID() << " ";
         }
diff --git a/SimpleTests/MeshTests/MeshRead.cpp b/SimpleTests/MeshTests/MeshRead.cpp
index 8f47cea427276e34ac0b35d90c005ae64290603c..39f380a822db84d5fed6a6761da24d43eb45f1f8 100644
--- a/SimpleTests/MeshTests/MeshRead.cpp
+++ b/SimpleTests/MeshTests/MeshRead.cpp
@@ -69,8 +69,8 @@ int main(int argc, char *argv[])
 /*
     unsigned elem_id = 25000;
     const MeshLib::Element* e = mesh->getElement(elem_id);
-    const std::size_t nElems = mesh->getNElements();
-    for (unsigned i=0; i< e->getNNeighbors(); i++)
+    const std::size_t nElems = mesh->getNumberOfElements();
+    for (unsigned i=0; i< e->getNumberOfNeighbors(); i++)
     {
         for (unsigned j=0; j< nElems; j++)
             if (mesh->getElement(j) == e->getNeighbor(i))
diff --git a/Tests/FileIO/TestGmlInterface.h b/Tests/FileIO/TestGmlInterface.h
index 4b384c864837143a7e2a4a85b05fae91ee9f7c34..c6e23ff7bd8baf8ae16eec19165e4e5e418d9480 100644
--- a/Tests/FileIO/TestGmlInterface.h
+++ b/Tests/FileIO/TestGmlInterface.h
@@ -188,7 +188,7 @@ public:
         {
             auto const& sfc_vec = *(sfcs.getVector());
             auto const& sfc = *(sfc_vec[sfc_id]);
-            EXPECT_EQ(tri_ids.size(), sfc.getNTriangles());
+            EXPECT_EQ(tri_ids.size(), sfc.getNumberOfTriangles());
             for (std::size_t k(0); k<tri_ids.size(); ++k)
                 checkTriangleIDs(*(sfc[k]), tri_ids[k]);
 
diff --git a/Tests/FileIO/TestGmsInterface.cpp b/Tests/FileIO/TestGmsInterface.cpp
index a98c2e7042640d1526a0432aa078195d2df37608..f2cd803f0ae27528741379da96c50429ac8960cd 100644
--- a/Tests/FileIO/TestGmsInterface.cpp
+++ b/Tests/FileIO/TestGmsInterface.cpp
@@ -22,8 +22,8 @@ TEST(FileIO, TestGmsInterface)
     std::string const file_name (BaseLib::BuildInfo::data_path + "/FileIO/3DMeshData.3dm");
     std::unique_ptr<MeshLib::Mesh> mesh (FileIO::GMSInterface::readGMS3DMMesh(file_name));
     ASSERT_TRUE(mesh != nullptr);
-    ASSERT_EQ(11795, mesh->getNNodes());
-    ASSERT_EQ(19885, mesh->getNElements());
+    ASSERT_EQ(11795, mesh->getNumberOfNodes());
+    ASSERT_EQ(19885, mesh->getNumberOfElements());
 
     std::array<unsigned, 7> types (MeshLib::MeshInformation::getNumberOfElementTypes(*mesh));
     ASSERT_EQ(1456,  types[3]);    // tets
diff --git a/Tests/FileIO/TestTetGenInterface.cpp b/Tests/FileIO/TestTetGenInterface.cpp
index 8e9f8f314a8e6cb43cbaca2130c9f81624ccec42..b784a984fbe7a560a428b576c108dc5b3deb80a3 100644
--- a/Tests/FileIO/TestTetGenInterface.cpp
+++ b/Tests/FileIO/TestTetGenInterface.cpp
@@ -39,8 +39,8 @@ TEST(FileIO, TetGenSmeshReader)
     ASSERT_EQ(744, pnts.size());
     std::vector<GeoLib::Surface*> const& sfcs (*geo_objects.getSurfaceVec("twolayermdl"));
     ASSERT_EQ(5, sfcs.size());
-    ASSERT_EQ(468, sfcs[2]->getNTriangles());
-    ASSERT_EQ(191, sfcs[3]->getNTriangles());
+    ASSERT_EQ(468, sfcs[2]->getNumberOfTriangles());
+    ASSERT_EQ(191, sfcs[3]->getNumberOfTriangles());
 }
 
 // existing mesh to TetGen geometry
@@ -76,7 +76,7 @@ TEST(FileIO, DISABLED_TetGenSmeshInterface)
     ASSERT_EQ(ref_sfc.size(), new_sfc.size());
 
     for (std::size_t i=0; i<ref_sfc.size(); ++i)
-        ASSERT_EQ(ref_sfc[i]->getNTriangles(), new_sfc[i]->getNTriangles());
+        ASSERT_EQ(ref_sfc[i]->getNumberOfTriangles(), new_sfc[i]->getNumberOfTriangles());
 
     std::remove(output_name.c_str());
 }
@@ -89,8 +89,8 @@ TEST(FileIO, TetGenMeshReaderWithMaterials)
     FileIO::TetGenInterface tgi;
     std::unique_ptr<MeshLib::Mesh> mesh (tgi.readTetGenMesh(node_name, ele_name));
     ASSERT_TRUE(mesh != nullptr);
-    ASSERT_EQ(1378, mesh->getNNodes());
-    ASSERT_EQ(5114, mesh->getNElements());
+    ASSERT_EQ(1378, mesh->getNumberOfNodes());
+    ASSERT_EQ(5114, mesh->getNumberOfElements());
 
     std::pair<int, int> bounds (MeshLib::MeshInformation::getValueBounds<int>(*mesh, "MaterialIDs"));
     ASSERT_EQ(-20, bounds.first);
@@ -105,8 +105,8 @@ TEST(FileIO, TetGenMeshReaderWithoutMaterials)
     FileIO::TetGenInterface tgi;
     std::unique_ptr<MeshLib::Mesh> mesh (tgi.readTetGenMesh(node_name, ele_name));
     ASSERT_TRUE(mesh != nullptr);
-    ASSERT_EQ(202, mesh->getNNodes());
-    ASSERT_EQ(650, mesh->getNElements());
+    ASSERT_EQ(202, mesh->getNumberOfNodes());
+    ASSERT_EQ(650, mesh->getNumberOfElements());
 
     std::pair<int, int> bounds (MeshLib::MeshInformation::getValueBounds<int>(*mesh, "MaterialIDs"));
     ASSERT_EQ(std::numeric_limits<int>::max(), bounds.first);
diff --git a/Tests/GeoLib/IO/TestGLIReader.cpp b/Tests/GeoLib/IO/TestGLIReader.cpp
index e25c6c2246e14ed60203bfbe65308a03a1a6a107..bd56fe9084507960d525c2e725f631f50ea17afb 100644
--- a/Tests/GeoLib/IO/TestGLIReader.cpp
+++ b/Tests/GeoLib/IO/TestGLIReader.cpp
@@ -64,7 +64,7 @@ TEST_F(OGSIOVer4InterfaceTest, SimpleTIN)
         sfcs(geometries.getSurfaceVec(geometry_name));
     ASSERT_TRUE(sfcs != nullptr);
     ASSERT_EQ(1u, geometries.getSurfaceVec(geometry_name)->size());
-    ASSERT_EQ(2u, (*geometries.getSurfaceVec(geometry_name))[0]->getNTriangles());
+    ASSERT_EQ(2u, (*geometries.getSurfaceVec(geometry_name))[0]->getNumberOfTriangles());
 
     std::remove(tin_fname.c_str());
 }
@@ -87,7 +87,7 @@ TEST_F(OGSIOVer4InterfaceTest, StillCorrectTINWihtAdditionalValueAtEndOfLine)
         sfcs(geometries.getSurfaceVec(geometry_name));
     ASSERT_TRUE(sfcs != nullptr);
     ASSERT_EQ(1u, geometries.getSurfaceVec(geometry_name)->size());
-    ASSERT_EQ(2u, (*geometries.getSurfaceVec(geometry_name))[0]->getNTriangles());
+    ASSERT_EQ(2u, (*geometries.getSurfaceVec(geometry_name))[0]->getNumberOfTriangles());
 
     std::remove(tin_fname.c_str());
 }
@@ -196,7 +196,7 @@ TEST_F(OGSIOVer4InterfaceTest, SimpleTIN_AdditionalEmptyLinesAtEnd)
         sfcs(geometries.getSurfaceVec(geometry_name));
     ASSERT_TRUE(sfcs != nullptr);
     ASSERT_EQ(1u, geometries.getSurfaceVec(geometry_name)->size());
-    ASSERT_EQ(2u, (*geometries.getSurfaceVec(geometry_name))[0]->getNTriangles());
+    ASSERT_EQ(2u, (*geometries.getSurfaceVec(geometry_name))[0]->getNumberOfTriangles());
 
     std::remove(tin_fname.c_str());
 }
diff --git a/Tests/GeoLib/TestSimplePolygonTree.cpp b/Tests/GeoLib/TestSimplePolygonTree.cpp
index 679720f4028c3b7b5a090001d6a9e7d445451b7b..73e2ac157a6f18bae2a8fc005d9467350d27d6be 100644
--- a/Tests/GeoLib/TestSimplePolygonTree.cpp
+++ b/Tests/GeoLib/TestSimplePolygonTree.cpp
@@ -140,7 +140,7 @@ TEST_F(CreatePolygonTreesTest, P0AndP1AndP2)
 
     createPolygonTrees(pt_list);
     ASSERT_EQ(1u, pt_list.size());
-    ASSERT_EQ(2u, (*(pt_list.begin()))->getNChildren());
+    ASSERT_EQ(2u, (*(pt_list.begin()))->getNumberOfChildren());
     std::for_each(pt_list.begin(), pt_list.end(), std::default_delete<GeoLib::SimplePolygonTree>());
 }
 
@@ -169,7 +169,7 @@ TEST_F(CreatePolygonTreesTest, P0AndP1AndP2AndP3)
 
     createPolygonTrees(pt_list);
     ASSERT_EQ(1u, pt_list.size());
-    ASSERT_EQ(2u, (*(pt_list.begin()))->getNChildren());
+    ASSERT_EQ(2u, (*(pt_list.begin()))->getNumberOfChildren());
     std::for_each(pt_list.begin(), pt_list.end(), std::default_delete<GeoLib::SimplePolygonTree>());
 }
 
diff --git a/Tests/GeoLib/TestSurfaceIsPointInSurface.cpp b/Tests/GeoLib/TestSurfaceIsPointInSurface.cpp
index 89e5dca05994c90a038545c2def50c2f88064947..81f32b6afc8aef94e3b782663efe762152f4acc2 100644
--- a/Tests/GeoLib/TestSurfaceIsPointInSurface.cpp
+++ b/Tests/GeoLib/TestSurfaceIsPointInSurface.cpp
@@ -146,7 +146,7 @@ TEST(GeoLib, SurfaceIsPointInSurface)
             EXPECT_FALSE(sfc->isPntInSfc(q));
         }
         // test edge middle points of the triangles
-        for (std::size_t k(0); k<sfc->getNTriangles(); ++k) {
+        for (std::size_t k(0); k<sfc->getNumberOfTriangles(); ++k) {
             MathLib::Point3d p, q, r;
             std::tie(p,q,r) = getEdgeMiddlePoints(*(*sfc)[k]);
             EXPECT_TRUE(sfc->isPntInSfc(p));
diff --git a/Tests/MathLib/TestDenseMatrix.cpp b/Tests/MathLib/TestDenseMatrix.cpp
index 6369e63e0ceddcfdb328407ede3e04dfcb66eb3f..55956a5ac0f36fce661241fc0697c09723c220f3 100644
--- a/Tests/MathLib/TestDenseMatrix.cpp
+++ b/Tests/MathLib/TestDenseMatrix.cpp
@@ -20,48 +20,48 @@ TEST(MathLib, DenseMatrixTransposeInPlace)
     // square matrix
     DenseMatrix<double> m1(3,3);
     unsigned cnt = 0;
-    for (unsigned i=0; i<m1.getNRows(); i++)
-        for (unsigned j=0; j<m1.getNCols(); j++)
+    for (unsigned i=0; i<m1.getNumberOfRows(); i++)
+        for (unsigned j=0; j<m1.getNumberOfColumns(); j++)
             m1(i,j) = cnt++;
     double expected_m1[] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
-    ASSERT_EQ(3u, m1.getNRows());
-    ASSERT_EQ(3u, m1.getNCols());
+    ASSERT_EQ(3u, m1.getNumberOfRows());
+    ASSERT_EQ(3u, m1.getNumberOfColumns());
     ASSERT_ARRAY_NEAR(expected_m1, m1.data(), m1.size(), eps);
     m1.transposeInPlace();
-    ASSERT_EQ(3u, m1.getNRows());
-    ASSERT_EQ(3u, m1.getNCols());
+    ASSERT_EQ(3u, m1.getNumberOfRows());
+    ASSERT_EQ(3u, m1.getNumberOfColumns());
     double expected_m1t[] = {0, 3, 6, 1, 4, 7, 2, 5, 8};
     ASSERT_ARRAY_NEAR(expected_m1t, m1.data(), m1.size(), eps);
 
     // non-square matrix 1
     DenseMatrix<double> m2(2,3);
     cnt = 0;
-    for (unsigned i=0; i<m2.getNRows(); i++)
-        for (unsigned j=0; j<m2.getNCols(); j++)
+    for (unsigned i=0; i<m2.getNumberOfRows(); i++)
+        for (unsigned j=0; j<m2.getNumberOfColumns(); j++)
             m2(i,j) = cnt++;
-    ASSERT_EQ(2u, m2.getNRows());
-    ASSERT_EQ(3u, m2.getNCols());
+    ASSERT_EQ(2u, m2.getNumberOfRows());
+    ASSERT_EQ(3u, m2.getNumberOfColumns());
     double expected_m2[] = {0, 1, 2, 3, 4, 5};
     ASSERT_ARRAY_NEAR(expected_m2, m2.data(), m2.size(), eps);
     m2.transposeInPlace();
-    ASSERT_EQ(3u, m2.getNRows());
-    ASSERT_EQ(2u, m2.getNCols());
+    ASSERT_EQ(3u, m2.getNumberOfRows());
+    ASSERT_EQ(2u, m2.getNumberOfColumns());
     double expected_m2t[] = {0, 3, 1, 4, 2, 5};
     ASSERT_ARRAY_NEAR(expected_m2t, m2.data(), m2.size(), eps);
 
     // non-square matrix 2
     DenseMatrix<double> m3(3,2);
     cnt = 0;
-    for (unsigned i=0; i<m3.getNRows(); i++)
-        for (unsigned j=0; j<m3.getNCols(); j++)
+    for (unsigned i=0; i<m3.getNumberOfRows(); i++)
+        for (unsigned j=0; j<m3.getNumberOfColumns(); j++)
             m3(i,j) = cnt++;
-    ASSERT_EQ(3u, m3.getNRows());
-    ASSERT_EQ(2u, m3.getNCols());
+    ASSERT_EQ(3u, m3.getNumberOfRows());
+    ASSERT_EQ(2u, m3.getNumberOfColumns());
     double expected_m3[] = {0, 1, 2, 3, 4, 5};
     ASSERT_ARRAY_NEAR(expected_m3, m3.data(), m3.size(), eps);
     m3.transposeInPlace();
-    ASSERT_EQ(2u, m3.getNRows());
-    ASSERT_EQ(3u, m3.getNCols());
+    ASSERT_EQ(2u, m3.getNumberOfRows());
+    ASSERT_EQ(3u, m3.getNumberOfColumns());
     double expected_m3t[] = {0, 2, 4, 1, 3, 5};
     ASSERT_ARRAY_NEAR(expected_m3t, m3.data(), m3.size(), eps);
 }
diff --git a/Tests/MathLib/TestGlobalMatrixInterface.cpp b/Tests/MathLib/TestGlobalMatrixInterface.cpp
index 5a1b1efd200d242ac904bc60388df23d863bf651..2ab60c43aa03f3a99dc5aab4fc7ddebd4d69044b 100644
--- a/Tests/MathLib/TestGlobalMatrixInterface.cpp
+++ b/Tests/MathLib/TestGlobalMatrixInterface.cpp
@@ -36,8 +36,8 @@ namespace
 template <class T_MATRIX>
 void checkGlobalMatrixInterface(T_MATRIX &m)
 {
-    ASSERT_EQ(10u, m.getNRows());
-    ASSERT_EQ(10u, m.getNCols());
+    ASSERT_EQ(10u, m.getNumberOfRows());
+    ASSERT_EQ(10u, m.getNumberOfColumns());
     ASSERT_EQ(0u,  m.getRangeBegin());
     ASSERT_EQ(10u, m.getRangeEnd());
 
@@ -64,17 +64,17 @@ void checkGlobalMatrixInterfaceMPI(T_MATRIX &m, T_VECTOR &v)
     MPI_Comm_rank(PETSC_COMM_WORLD, &mrank);
 
     ASSERT_EQ(3u, msize);
-    ASSERT_EQ(m.getRangeEnd()-m.getRangeBegin(), m.getNLocalRows());
+    ASSERT_EQ(m.getRangeEnd()-m.getRangeBegin(), m.getNumberOfLocalRows());
 
     int gathered_rows;
-    int local_rows = m.getNLocalRows();
+    int local_rows = m.getNumberOfLocalRows();
     MPI_Allreduce(&local_rows, &gathered_rows, 1, MPI_INT, MPI_SUM, PETSC_COMM_WORLD);
-    ASSERT_EQ(m.getNRows(), gathered_rows);
+    ASSERT_EQ(m.getNumberOfRows(), gathered_rows);
 
     int gathered_cols;
-    int local_cols = m.getNLocalColumns();
+    int local_cols = m.getNumberOfLocalColumns();
     MPI_Allreduce(&local_cols, &gathered_cols, 1, MPI_INT, MPI_SUM, PETSC_COMM_WORLD);
-    ASSERT_EQ(m.getNCols(), gathered_cols);
+    ASSERT_EQ(m.getNumberOfColumns(), gathered_cols);
 
     // Add entries
     MathLib::DenseMatrix<double> loc_m(2, 2);
@@ -121,17 +121,17 @@ void checkGlobalRectangularMatrixInterfaceMPI(T_MATRIX &m, T_VECTOR &v)
     int mrank;
     MPI_Comm_rank(PETSC_COMM_WORLD, &mrank);
 
-    ASSERT_EQ(m.getRangeEnd()-m.getRangeBegin(), m.getNLocalRows());
+    ASSERT_EQ(m.getRangeEnd()-m.getRangeBegin(), m.getNumberOfLocalRows());
 
     int gathered_rows;
-    int local_rows = m.getNLocalRows();
+    int local_rows = m.getNumberOfLocalRows();
     MPI_Allreduce(&local_rows, &gathered_rows, 1, MPI_INT, MPI_SUM, PETSC_COMM_WORLD);
-    ASSERT_EQ(m.getNRows(), gathered_rows);
+    ASSERT_EQ(m.getNumberOfRows(), gathered_rows);
 
     int gathered_cols;
-    int local_cols = m.getNLocalColumns();
+    int local_cols = m.getNumberOfLocalColumns();
     MPI_Allreduce(&local_cols, &gathered_cols, 1, MPI_INT, MPI_SUM, PETSC_COMM_WORLD);
-    ASSERT_EQ(m.getNCols(), gathered_cols);
+    ASSERT_EQ(m.getNumberOfColumns(), gathered_cols);
 
     // Add entries
     MathLib::DenseMatrix<double> loc_m(2, 3);
@@ -156,7 +156,7 @@ void checkGlobalRectangularMatrixInterfaceMPI(T_MATRIX &m, T_VECTOR &v)
 
     // Multiply by a vector
     v = 1.;
-    T_VECTOR y(m.getNRows());
+    T_VECTOR y(m.getNumberOfRows());
     m.multiply(v, y);
 
     ASSERT_NEAR(6.*sqrt(6.), y.getNorm(), 1.e-10);
diff --git a/Tests/MathLib/TestNonlinearPicard.cpp b/Tests/MathLib/TestNonlinearPicard.cpp
index c89385118dfb67fb2176ff6d905d9729ca73e971..34f3a9b188f7b58f5a40f25fd917812c5d04a05d 100644
--- a/Tests/MathLib/TestNonlinearPicard.cpp
+++ b/Tests/MathLib/TestNonlinearPicard.cpp
@@ -88,13 +88,13 @@ TEST(MathLib, NonlinearPicard_double)
     picard.setAbsTolerance(1e-5);
     picard.setRelTolerance(std::numeric_limits<double>::max());
     ASSERT_FALSE(picard.solve(f1, x0, x));
-    ASSERT_EQ(3u, picard.getNIterations());
+    ASSERT_EQ(3u, picard.getNumberOfIterations());
 
     // abs tol, converge
     picard.setMaxIterations(10);
     ASSERT_TRUE(picard.solve(f1, x0, x));
     ASSERT_NEAR(2.0, x, 1e-5);
-    ASSERT_EQ(5u, picard.getNIterations());
+    ASSERT_EQ(5u, picard.getNumberOfIterations());
 
     // rel tol, converge
     picard.setMaxIterations(100);
@@ -102,7 +102,7 @@ TEST(MathLib, NonlinearPicard_double)
     picard.setRelTolerance(1e-5);
     ASSERT_TRUE(picard.solve(f1, x0, x));
     ASSERT_NEAR(2.0, x, 1e-5);
-    ASSERT_EQ(5u, picard.getNIterations());
+    ASSERT_EQ(5u, picard.getNumberOfIterations());
 }
 
 TEST(MathLib, NonlinearPicard_vector_x0)
diff --git a/Tests/MeshLib/MeshSubsets.cpp b/Tests/MeshLib/MeshSubsets.cpp
index 22f8d1278652100b348ba53c313d36452f87824a..7fab7d33898d1cfe23bc351df30358f56ba359c9 100644
--- a/Tests/MeshLib/MeshSubsets.cpp
+++ b/Tests/MeshLib/MeshSubsets.cpp
@@ -54,7 +54,7 @@ TEST(MeshLibMeshSubsets, GetIntersectionByNodes)
         {all_nodes_mesh_subset.getIntersectionByNodes(some_nodes)};
 
     // Check sizes.
-    ASSERT_EQ(some_nodes.size(), some_nodes_mesh_subset->getNNodes());
+    ASSERT_EQ(some_nodes.size(), some_nodes_mesh_subset->getNumberOfNodes());
 
     // Check ids.
     std::size_t nnodes = some_nodes.size();
diff --git a/Tests/MeshLib/TestAddLayerToMesh.cpp b/Tests/MeshLib/TestAddLayerToMesh.cpp
index 77668c3a17d054bbb007fc9cd8c5966349c49409..47749ec987deaf43d676c874a369f25cd36daa74 100644
--- a/Tests/MeshLib/TestAddLayerToMesh.cpp
+++ b/Tests/MeshLib/TestAddLayerToMesh.cpp
@@ -38,7 +38,7 @@ namespace AddLayerValidation
 
     void testZCoords2D(MeshLib::Mesh const& input, MeshLib::Mesh const& output, double height)
     {
-        std::size_t const nNodes (input.getNNodes());
+        std::size_t const nNodes (input.getNumberOfNodes());
         for (std::size_t i=0; i<nNodes; ++i)
         {
             ASSERT_EQ((*input.getNode(i))[2], (*output.getNode(i))[2]);
@@ -48,7 +48,7 @@ namespace AddLayerValidation
 
     void testZCoords3D(MeshLib::Mesh const& input, MeshLib::Mesh const& output, double height)
     {
-        std::size_t const nNodes (input.getNNodes());
+        std::size_t const nNodes (input.getNumberOfNodes());
         for (std::size_t i=0; i<nNodes; ++i)
             ASSERT_EQ((*input.getNode(i))[2] + height, (*output.getNode(i))[2]);
     }
@@ -60,8 +60,8 @@ TEST(MeshLib, AddTopLayerToLineMesh)
     double const height (1);
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh, height, "mesh", true));
 
-    ASSERT_EQ(2*mesh->getNNodes(), result->getNNodes());
-    ASSERT_EQ(2*mesh->getNElements(), result->getNElements());
+    ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes());
+    ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements());
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
     ASSERT_EQ(5, n_elems[0]); // tests if 5 lines are present
@@ -77,8 +77,8 @@ TEST(MeshLib, AddBottomLayerToLineMesh)
     double const height (1);
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh, height, "mesh", false));
 
-    ASSERT_EQ(2*mesh->getNNodes(), result->getNNodes());
-    ASSERT_EQ(2*mesh->getNElements(), result->getNElements());
+    ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes());
+    ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements());
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
     ASSERT_EQ(5, n_elems[0]); // tests if 5 lines are present
@@ -96,33 +96,33 @@ TEST(MeshLib, AddTopLayerToTriMesh)
         mesh->getProperties().createNewPropertyVector<int>(mat_name, MeshLib::MeshItemType::Cell);
     if (mats)
     {
-        mats->resize(mesh->getNElements());
-        std::fill_n(mats->begin(), mesh->getNElements(), 0);
+        mats->resize(mesh->getNumberOfElements());
+        std::fill_n(mats->begin(), mesh->getNumberOfElements(), 0);
     }
     boost::optional<MeshLib::PropertyVector<double>&> test =
         mesh->getProperties().createNewPropertyVector<double>("test", MeshLib::MeshItemType::Cell);
     if (test)
     {
-        test->resize(mesh->getNElements());
-        std::fill_n(test->begin(), mesh->getNElements(), 0.1);
+        test->resize(mesh->getNumberOfElements());
+        std::fill_n(test->begin(), mesh->getNumberOfElements(), 0.1);
     }
     ASSERT_EQ(2, mesh->getProperties().getPropertyVectorNames().size());
     double const height (1);
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh, height, "mesh", true));
 
-    ASSERT_EQ(2*mesh->getNNodes(), result->getNNodes());
-    ASSERT_EQ(2*mesh->getNElements(), result->getNElements());
+    ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes());
+    ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements());
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
-    ASSERT_EQ(mesh->getNElements(), n_elems[1]); // tests if 50 tris are present
-    ASSERT_EQ(mesh->getNElements(), n_elems[6]); // tests if 50 prisms are present
+    ASSERT_EQ(mesh->getNumberOfElements(), n_elems[1]); // tests if 50 tris are present
+    ASSERT_EQ(mesh->getNumberOfElements(), n_elems[6]); // tests if 50 prisms are present
 
     ASSERT_EQ(1, result->getProperties().getPropertyVectorNames().size());
     boost::optional<MeshLib::PropertyVector<int>&> new_mats =
         result->getProperties().getPropertyVector<int>(mat_name);
-    ASSERT_EQ(result->getNElements(), new_mats->size());
-    ASSERT_EQ(mesh->getNElements(), std::count(new_mats->cbegin(), new_mats->cend(), 0));
-    ASSERT_EQ(mesh->getNElements(), std::count(new_mats->cbegin(), new_mats->cend(), 1));
+    ASSERT_EQ(result->getNumberOfElements(), new_mats->size());
+    ASSERT_EQ(mesh->getNumberOfElements(), std::count(new_mats->cbegin(), new_mats->cend(), 0));
+    ASSERT_EQ(mesh->getNumberOfElements(), std::count(new_mats->cbegin(), new_mats->cend(), 1));
     AddLayerValidation::testZCoords2D(*mesh, *result, height);
     AddLayerValidation::validate(*result, true);
 }
@@ -133,8 +133,8 @@ TEST(MeshLib, AddBottomLayerToTriMesh)
     double const height (1);
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh, height, "mesh", false));
 
-    ASSERT_EQ(2*mesh->getNNodes(), result->getNNodes());
-    ASSERT_EQ(2*mesh->getNElements(), result->getNElements());
+    ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes());
+    ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements());
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
     ASSERT_EQ(50, n_elems[1]); // tests if 50 tris are present
@@ -150,8 +150,8 @@ TEST(MeshLib, AddTopLayerToQuadMesh)
     double const height (1);
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh, height, "mesh", true));
 
-    ASSERT_EQ(2*mesh->getNNodes(), result->getNNodes());
-    ASSERT_EQ(2*mesh->getNElements(), result->getNElements());
+    ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes());
+    ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements());
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
     ASSERT_EQ(25, n_elems[2]); // tests if 25 quads are present
@@ -167,8 +167,8 @@ TEST(MeshLib, AddBottomLayerToQuadMesh)
     double const height (1);
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh, height, "mesh", false));
 
-    ASSERT_EQ(2*mesh->getNNodes(), result->getNNodes());
-    ASSERT_EQ(2*mesh->getNElements(), result->getNElements());
+    ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes());
+    ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements());
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
     ASSERT_EQ(25, n_elems[2]); // tests if 25 quads are present
@@ -184,8 +184,8 @@ TEST(MeshLib, AddTopLayerToHexMesh)
     double const height (1);
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh, height, "mesh", true));
 
-    ASSERT_EQ(mesh->getNNodes(), result->getNNodes()-36);
-    ASSERT_EQ(mesh->getNElements(), result->getNElements()-25);
+    ASSERT_EQ(mesh->getNumberOfNodes(), result->getNumberOfNodes()-36);
+    ASSERT_EQ(mesh->getNumberOfElements(), result->getNumberOfElements()-25);
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
     ASSERT_EQ(150, n_elems[4]); // tests if 150 hexes are present
@@ -205,8 +205,8 @@ TEST(MeshLib, AddBottomLayerToHexMesh)
     double const height (1);
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh, height, "mesh", false));
 
-    ASSERT_EQ(mesh->getNNodes(), result->getNNodes()-36);
-    ASSERT_EQ(mesh->getNElements(), result->getNElements()-25);
+    ASSERT_EQ(mesh->getNumberOfNodes(), result->getNumberOfNodes()-36);
+    ASSERT_EQ(mesh->getNumberOfElements(), result->getNumberOfElements()-25);
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
     ASSERT_EQ(150, n_elems[4]); // tests if 150 hexes are present
@@ -227,8 +227,8 @@ TEST(MeshLib, AddTopLayerToPrismMesh)
     double const height (1);
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh2, height, "mesh", true));
 
-    ASSERT_EQ(mesh2->getNNodes()/2.0 * 3, result->getNNodes());
-    ASSERT_EQ(mesh2->getNElements()/2.0 * 3, result->getNElements());
+    ASSERT_EQ(mesh2->getNumberOfNodes()/2.0 * 3, result->getNumberOfNodes());
+    ASSERT_EQ(mesh2->getNumberOfElements()/2.0 * 3, result->getNumberOfElements());
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
     ASSERT_EQ(50, n_elems[1]); // tests if 50 tris are present
@@ -253,23 +253,23 @@ TEST(MeshLib, AddBottomLayerToPrismMesh)
         mesh2->getProperties().createNewPropertyVector<int>(mat_name, MeshLib::MeshItemType::Cell);
     if (mats)
     {
-        mats->resize(mesh2->getNElements());
-        std::fill_n(mats->begin(), mesh2->getNElements(), 0);
+        mats->resize(mesh2->getNumberOfElements());
+        std::fill_n(mats->begin(), mesh2->getNumberOfElements(), 0);
     }
 
     std::unique_ptr<MeshLib::Mesh> const result (MeshLib::addLayerToMesh(*mesh2, height, "mesh", false));
-    ASSERT_EQ(mesh2->getNNodes()/2.0 * 3, result->getNNodes());
-    ASSERT_EQ(mesh2->getNElements()/2.0 * 3, result->getNElements());
+    ASSERT_EQ(mesh2->getNumberOfNodes()/2.0 * 3, result->getNumberOfNodes());
+    ASSERT_EQ(mesh2->getNumberOfElements()/2.0 * 3, result->getNumberOfElements());
 
     std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result));
-    ASSERT_EQ(mesh->getNElements(), n_elems[1]); // tests if 50 tris are present
-    ASSERT_EQ(2 * mesh->getNElements(), n_elems[6]); // tests if 50 prisms are present
+    ASSERT_EQ(mesh->getNumberOfElements(), n_elems[1]); // tests if 50 tris are present
+    ASSERT_EQ(2 * mesh->getNumberOfElements(), n_elems[6]); // tests if 50 prisms are present
     ASSERT_EQ(1, result->getProperties().getPropertyVectorNames().size());
     boost::optional<MeshLib::PropertyVector<int>&> new_mats =
         result->getProperties().getPropertyVector<int>(mat_name);
-    ASSERT_EQ(result->getNElements(), new_mats->size());
-    ASSERT_EQ(mesh2->getNElements(), std::count(new_mats->cbegin(), new_mats->cend(), 0));
-    ASSERT_EQ(mesh->getNElements(), std::count(new_mats->cbegin(), new_mats->cend(), 1));
+    ASSERT_EQ(result->getNumberOfElements(), new_mats->size());
+    ASSERT_EQ(mesh2->getNumberOfElements(), std::count(new_mats->cbegin(), new_mats->cend(), 0));
+    ASSERT_EQ(mesh->getNumberOfElements(), std::count(new_mats->cbegin(), new_mats->cend(), 1));
 
     MathLib::Vector3 const dir(0, 0, 1);
     std::unique_ptr<MeshLib::Mesh> test_input (
diff --git a/Tests/MeshLib/TestBoundaryElementSearch.cpp b/Tests/MeshLib/TestBoundaryElementSearch.cpp
index c2d852ec8d44da482d2a7998ab09dc7fce3a3014..e5cadbdb5cc5fc6295a806836ec057c1ad03bb85 100644
--- a/Tests/MeshLib/TestBoundaryElementSearch.cpp
+++ b/Tests/MeshLib/TestBoundaryElementSearch.cpp
@@ -89,22 +89,22 @@ TEST_F(MeshLibBoundaryElementSearchInSimpleQuadMesh, PolylineSearch)
     for (unsigned i=0; i<n_eles_per_dir; i++) {
         // edge found on a bottom line
         auto* edge0 = found_edges_ply0[i];
-        ASSERT_EQ(2u, edge0->getNBaseNodes());
+        ASSERT_EQ(2u, edge0->getNumberOfBaseNodes());
         ASSERT_EQ(i, edge0->getNodeIndex(0));
         ASSERT_EQ(i+1, edge0->getNodeIndex(1));
         // edge found on a right line
         auto* edge1 = found_edges_ply0[i+n_eles_per_dir];
-        ASSERT_EQ(2u, edge1->getNBaseNodes());
+        ASSERT_EQ(2u, edge1->getNumberOfBaseNodes());
         ASSERT_EQ(n_nodes_per_dir*i+n_nodes_per_dir-1, edge1->getNodeIndex(0));
         ASSERT_EQ(n_nodes_per_dir*(i+1)+n_nodes_per_dir-1, edge1->getNodeIndex(1));
         // edge found on a top line
         auto* edge2 = found_edges_ply0[i+n_eles_per_dir*2];
-        ASSERT_EQ(2u, edge2->getNBaseNodes());
+        ASSERT_EQ(2u, edge2->getNumberOfBaseNodes());
         ASSERT_EQ(n_nodes_per_dir*n_nodes_per_dir-1-i, edge2->getNodeIndex(0));
         ASSERT_EQ(n_nodes_per_dir*n_nodes_per_dir-1-(i+1), edge2->getNodeIndex(1));
         // edge found on a left line
         auto* edge3 = found_edges_ply0[i+n_eles_per_dir*3];
-        ASSERT_EQ(2u, edge3->getNBaseNodes());
+        ASSERT_EQ(2u, edge3->getNumberOfBaseNodes());
         ASSERT_EQ(n_nodes_per_dir*(n_nodes_per_dir-1)-n_nodes_per_dir*i, edge3->getNodeIndex(0));
         ASSERT_EQ(n_nodes_per_dir*(n_nodes_per_dir-1)-n_nodes_per_dir*(i+1), edge3->getNodeIndex(1));
     }
diff --git a/Tests/MeshLib/TestCoordinatesMappingLocal.cpp b/Tests/MeshLib/TestCoordinatesMappingLocal.cpp
index df645d0ae4b1296f1471063d6f097dbe46198aef..aec1558bbd48a5cbba2d4cc516a9e6964c30be51 100644
--- a/Tests/MeshLib/TestCoordinatesMappingLocal.cpp
+++ b/Tests/MeshLib/TestCoordinatesMappingLocal.cpp
@@ -124,15 +124,15 @@ void debugOutput(MeshLib::Element *ele, MeshLib::ElementCoordinatesMappingLocal
 {
     std::cout.precision(12);
     std::cout << "original" << std::endl;
-    for (unsigned i=0; i<ele->getNNodes(); i++)
+    for (unsigned i=0; i<ele->getNumberOfNodes(); i++)
         std::cout << *ele->getNode(i) << std::endl;
     std::cout << "local coords=" << std::endl;
-    for (unsigned i=0; i<ele->getNNodes(); i++)
+    for (unsigned i=0; i<ele->getNumberOfNodes(); i++)
         std::cout << *mapping.getMappedCoordinates(i) << std::endl;
     std::cout << "R=\n" << mapping.getRotationMatrixToGlobal() << std::endl;
     auto matR(mapping.getRotationMatrixToGlobal());
     std::cout << "global coords=" << std::endl;
-    for (unsigned i=0; i<ele->getNNodes(); i++) {
+    for (unsigned i=0; i<ele->getNumberOfNodes(); i++) {
         double* raw = const_cast<double*>(&(*mapping.getMappedCoordinates(i))[0]);
         Eigen::Map<Eigen::Vector3d> v(raw);
         std::cout << (matR*v).transpose() << std::endl;
@@ -142,7 +142,7 @@ void debugOutput(MeshLib::Element *ele, MeshLib::ElementCoordinatesMappingLocal
 
 // check if using the rotation matrix results in the original coordinates
 #define CHECK_COORDS(ele, mapping)\
-    for (unsigned ii=0; ii<ele->getNNodes(); ii++) {\
+    for (unsigned ii=0; ii<ele->getNumberOfNodes(); ii++) {\
         MathLib::Point3d global(matR*mapping.getMappedCoordinates(ii));\
         const double eps(std::numeric_limits<double>::epsilon());\
         ASSERT_ARRAY_NEAR(&(*ele->getNode(ii))[0], global.getCoords(), 3u, eps);\
@@ -164,7 +164,7 @@ TEST(MeshLib, CoordinatesMappingLocalLowerDimLineY)
     ASSERT_ARRAY_NEAR(exp_R, matR.data(), matR.size(), eps);
     CHECK_COORDS(ele,mapping);
 
-    for (std::size_t n = 0; n < ele->getNNodes(); ++n)
+    for (std::size_t n = 0; n < ele->getNumberOfNodes(); ++n)
         delete ele->getNode(n);
 }
 
@@ -181,7 +181,7 @@ TEST(MeshLib, CoordinatesMappingLocalLowerDimLineZ)
     ASSERT_ARRAY_NEAR(exp_R, matR.data(), matR.size(), eps);
     CHECK_COORDS(ele,mapping);
 
-    for (std::size_t n = 0; n < ele->getNNodes(); ++n)
+    for (std::size_t n = 0; n < ele->getNumberOfNodes(); ++n)
         delete ele->getNode(n);
 }
 
@@ -199,7 +199,7 @@ TEST(MeshLib, CoordinatesMappingLocalLowerDimLineXY)
     ASSERT_ARRAY_NEAR(exp_R, matR.data(), matR.size(), eps);
     CHECK_COORDS(ele,mapping);
 
-    for (std::size_t n = 0; n < ele->getNNodes(); ++n)
+    for (std::size_t n = 0; n < ele->getNumberOfNodes(); ++n)
         delete ele->getNode(n);
 }
 
@@ -217,7 +217,7 @@ TEST(MeshLib, CoordinatesMappingLocalLowerDimLineXYZ)
     ASSERT_ARRAY_NEAR(exp_R, matR.data(), matR.size(), eps);
     CHECK_COORDS(ele,mapping);
 
-    for (std::size_t n = 0; n < ele->getNNodes(); ++n)
+    for (std::size_t n = 0; n < ele->getNumberOfNodes(); ++n)
         delete ele->getNode(n);
 }
 
@@ -237,7 +237,7 @@ TEST(MeshLib, CoordinatesMappingLocalLowerDimQuadXZ)
     ASSERT_ARRAY_NEAR(exp_R, matR.data(), matR.size(), eps);
     CHECK_COORDS(ele,mapping);
 
-    for (std::size_t n = 0; n < ele->getNNodes(); ++n)
+    for (std::size_t n = 0; n < ele->getNumberOfNodes(); ++n)
         delete ele->getNode(n);
 }
 
@@ -257,7 +257,7 @@ TEST(MeshLib, CoordinatesMappingLocalLowerDimQuadYZ)
     ASSERT_ARRAY_NEAR(exp_R, matR.data(), matR.size(), eps);
     CHECK_COORDS(ele,mapping);
 
-    for (std::size_t n = 0; n < ele->getNNodes(); ++n)
+    for (std::size_t n = 0; n < ele->getNumberOfNodes(); ++n)
         delete ele->getNode(n);
 }
 
@@ -277,7 +277,7 @@ TEST(MeshLib, CoordinatesMappingLocalLowerDimQuadXYZ)
     ASSERT_ARRAY_NEAR(exp_R, matR.data(), matR.size(), eps);
     CHECK_COORDS(ele,mapping);
 
-    for (std::size_t n = 0; n < ele->getNNodes(); ++n)
+    for (std::size_t n = 0; n < ele->getNumberOfNodes(); ++n)
         delete ele->getNode(n);
 }
 
diff --git a/Tests/MeshLib/TestDuplicate.cpp b/Tests/MeshLib/TestDuplicate.cpp
index 348f5961319a0b84d6791a681f8ec56af5c76286..c3d20744fcdb88a5556658258c3d7b535c6c5f91 100644
--- a/Tests/MeshLib/TestDuplicate.cpp
+++ b/Tests/MeshLib/TestDuplicate.cpp
@@ -34,14 +34,14 @@ TEST(MeshLib, Duplicate)
 
     MeshLib::Mesh new_mesh ("new", new_nodes, new_elements);
 
-    ASSERT_EQ (mesh->getNElements(), new_mesh.getNElements());
-    ASSERT_EQ (mesh->getNNodes(), new_mesh.getNNodes());
+    ASSERT_EQ (mesh->getNumberOfElements(), new_mesh.getNumberOfElements());
+    ASSERT_EQ (mesh->getNumberOfNodes(), new_mesh.getNumberOfNodes());
 
     std::vector<std::size_t> del_idx(1,1);
     std::unique_ptr<MeshLib::Mesh> mesh2(MeshLib::removeNodes(*mesh, del_idx, "mesh2"));
 
-    ASSERT_EQ (mesh2->getNElements(), new_mesh.getNElements()-2);
-    ASSERT_EQ (mesh2->getNNodes(), new_mesh.getNNodes()-2);
+    ASSERT_EQ (mesh2->getNumberOfElements(), new_mesh.getNumberOfElements()-2);
+    ASSERT_EQ (mesh2->getNumberOfNodes(), new_mesh.getNumberOfNodes()-2);
 
     ASSERT_DOUBLE_EQ (4.0, MathLib::sqrDist(*mesh2->getNode(0), *new_mesh.getNode(0)));
     ASSERT_DOUBLE_EQ (0.0, MathLib::sqrDist(*mesh2->getNode(0), *new_mesh.getNode(2)));
diff --git a/Tests/MeshLib/TestElementConstants.cpp b/Tests/MeshLib/TestElementConstants.cpp
index c18c1696a2110c093371705fb83ddb6a43ff669d..bf541c7ee36e79beb16eeeb04a027e1d97540be0 100644
--- a/Tests/MeshLib/TestElementConstants.cpp
+++ b/Tests/MeshLib/TestElementConstants.cpp
@@ -28,8 +28,8 @@ TEST(MeshLib, ElementConstantsQuad4)
     Quad quad(nodes);
 
     ASSERT_EQ(2u, quad.getDimension());
-    ASSERT_EQ(4u, quad.getNNodes());
-    ASSERT_EQ(4u, quad.getNBaseNodes());
+    ASSERT_EQ(4u, quad.getNumberOfNodes());
+    ASSERT_EQ(4u, quad.getNumberOfBaseNodes());
 
     for (auto n : nodes)
         delete n;
@@ -55,8 +55,8 @@ TEST(MeshLib, ElementConstantsQuad8)
     Quad8 quad8(nodes);
 
     ASSERT_EQ(2u, quad8.getDimension());
-    ASSERT_EQ(8u, quad8.getNNodes());
-    ASSERT_EQ(4u, quad8.getNBaseNodes());
+    ASSERT_EQ(8u, quad8.getNumberOfNodes());
+    ASSERT_EQ(4u, quad8.getNumberOfBaseNodes());
 
     for (auto n : nodes)
         delete n;
@@ -83,8 +83,8 @@ TEST(MeshLib, ElementConstantsQuad9)
     Quad9 quad9(nodes);
 
     ASSERT_EQ(2u, quad9.getDimension());
-    ASSERT_EQ(9u, quad9.getNNodes());
-    ASSERT_EQ(4u, quad9.getNBaseNodes());
+    ASSERT_EQ(9u, quad9.getNumberOfNodes());
+    ASSERT_EQ(4u, quad9.getNumberOfBaseNodes());
 
     for (auto n : nodes)
         delete n;
@@ -108,8 +108,8 @@ TEST(MeshLib, ElementConstantsHex8)
     Hex ele(nodes);
 
     ASSERT_EQ(3u, ele.getDimension());
-    ASSERT_EQ(8u, ele.getNNodes());
-    ASSERT_EQ(8u, ele.getNBaseNodes());
+    ASSERT_EQ(8u, ele.getNumberOfNodes());
+    ASSERT_EQ(8u, ele.getNumberOfBaseNodes());
 
     for (auto n : nodes)
         delete n;
@@ -145,8 +145,8 @@ TEST(MeshLib, ElementConstantsHex20)
     Hex20 ele(nodes);
 
     ASSERT_EQ( 3u, ele.getDimension());
-    ASSERT_EQ(20u, ele.getNNodes());
-    ASSERT_EQ( 8u, ele.getNBaseNodes());
+    ASSERT_EQ(20u, ele.getNumberOfNodes());
+    ASSERT_EQ( 8u, ele.getNumberOfBaseNodes());
 
     for (auto n : nodes)
         delete n;
@@ -166,8 +166,8 @@ TEST(MeshLib, ElementConstantsTet4)
     Tet ele(nodes);
 
     ASSERT_EQ(3u, ele.getDimension());
-    ASSERT_EQ(4u, ele.getNNodes());
-    ASSERT_EQ(4u, ele.getNBaseNodes());
+    ASSERT_EQ(4u, ele.getNumberOfNodes());
+    ASSERT_EQ(4u, ele.getNumberOfBaseNodes());
 
     for (auto n : nodes)
         delete n;
@@ -194,8 +194,8 @@ TEST(MeshLib, ElementConstantsTet10)
     Tet10 ele(nodes);
 
     ASSERT_EQ( 3u, ele.getDimension());
-    ASSERT_EQ(10u, ele.getNNodes());
-    ASSERT_EQ( 4u, ele.getNBaseNodes());
+    ASSERT_EQ(10u, ele.getNumberOfNodes());
+    ASSERT_EQ( 4u, ele.getNumberOfBaseNodes());
 
     for (auto n : nodes)
         delete n;
diff --git a/Tests/MeshLib/TestElementStatus.cpp b/Tests/MeshLib/TestElementStatus.cpp
index d5acec27f63342dc50cbeda41a25ef0b8dbec946..10ca04b328c0da2b4204ce46a987b62d1e68dfdd 100644
--- a/Tests/MeshLib/TestElementStatus.cpp
+++ b/Tests/MeshLib/TestElementStatus.cpp
@@ -34,7 +34,7 @@ TEST(MeshLib, ElementStatus)
                                                            MeshLib::MeshItemType::Cell)
     );
     ASSERT_TRUE(bool(material_id_properties));
-    (*material_id_properties).resize(mesh->getNElements());
+    (*material_id_properties).resize(mesh->getNumberOfElements());
 
     const std::vector<MeshLib::Element*> elements (mesh->getElements());
 
@@ -47,29 +47,29 @@ TEST(MeshLib, ElementStatus)
     {
         // all elements and nodes active
         MeshLib::ElementStatus status(mesh.get());
-        ASSERT_EQ (elements.size(), status.getNActiveElements());
-        ASSERT_EQ (mesh->getNNodes(), status.getNActiveNodes());
+        ASSERT_EQ (elements.size(), status.getNumberOfActiveElements());
+        ASSERT_EQ (mesh->getNumberOfNodes(), status.getNumberOfActiveNodes());
     }
 
     {
         // set material 1 to false
         std::vector<int> inactiveMat{1};
         MeshLib::ElementStatus status(mesh.get(), inactiveMat);
-        ASSERT_EQ (elements.size()-elements_per_side, status.getNActiveElements());
+        ASSERT_EQ (elements.size()-elements_per_side, status.getNumberOfActiveElements());
     }
 
     {
         // set material 0 and 1 to false
         std::vector<int> inactiveMat{0, 1};
         MeshLib::ElementStatus status(mesh.get(), inactiveMat);
-        ASSERT_EQ (elements.size()-(2*elements_per_side), status.getNActiveElements());
+        ASSERT_EQ (elements.size()-(2*elements_per_side), status.getNumberOfActiveElements());
 
         // active elements
         auto &active_elements (status.getActiveElements());
-        ASSERT_EQ (active_elements.size(), status.getNActiveElements());
+        ASSERT_EQ (active_elements.size(), status.getNumberOfActiveElements());
 
         // active nodes
         auto& active_nodes (status.getActiveNodes());
-        ASSERT_EQ (active_nodes.size(), status.getNActiveNodes());
+        ASSERT_EQ (active_nodes.size(), status.getNumberOfActiveNodes());
     }
 }
diff --git a/Tests/MeshLib/TestFlipElements.cpp b/Tests/MeshLib/TestFlipElements.cpp
index 5da3f028fab43620290ab02ba83768d74634b635..5d846e371c97b43b15c10066b5032902f3f878f0 100644
--- a/Tests/MeshLib/TestFlipElements.cpp
+++ b/Tests/MeshLib/TestFlipElements.cpp
@@ -22,9 +22,9 @@ TEST(MeshLib, FlipLineMesh)
     std::unique_ptr<MeshLib::Mesh> mesh (MeshLib::MeshGenerator::generateLineMesh(1.0, 5));
     std::unique_ptr<MeshLib::Mesh> result (MeshLib::createFlippedMesh(*mesh));
 
-    ASSERT_EQ(mesh->getNNodes(), result->getNNodes());
-    ASSERT_EQ(mesh->getNElements(), result->getNElements());
-    for (std::size_t i=0; i<result->getNElements(); ++i)
+    ASSERT_EQ(mesh->getNumberOfNodes(), result->getNumberOfNodes());
+    ASSERT_EQ(mesh->getNumberOfElements(), result->getNumberOfElements());
+    for (std::size_t i=0; i<result->getNumberOfElements(); ++i)
     {
         ASSERT_EQ(mesh->getElement(i)->getNode(0)->getID(),
                   result->getElement(i)->getNode(1)->getID());
@@ -38,9 +38,9 @@ TEST(MeshLib, FlipTriMesh)
     std::unique_ptr<MeshLib::Mesh> mesh (MeshLib::MeshGenerator::generateRegularTriMesh(5, 5));
     std::unique_ptr<MeshLib::Mesh> result (MeshLib::createFlippedMesh(*mesh));
 
-    ASSERT_EQ(mesh->getNNodes(), result->getNNodes());
-    ASSERT_EQ(mesh->getNElements(), result->getNElements());
-    for (std::size_t i=0; i<result->getNElements(); ++i)
+    ASSERT_EQ(mesh->getNumberOfNodes(), result->getNumberOfNodes());
+    ASSERT_EQ(mesh->getNumberOfElements(), result->getNumberOfElements());
+    for (std::size_t i=0; i<result->getNumberOfElements(); ++i)
     {
         ASSERT_EQ(mesh->getElement(i)->getNode(0)->getID(),
                   result->getElement(i)->getNode(1)->getID());
@@ -57,9 +57,9 @@ TEST(MeshLib, FlipQuadMesh)
     std::unique_ptr<MeshLib::Mesh> mesh(MeshLib::MeshGenerator::generateRegularQuadMesh(5, 5));
     std::unique_ptr<MeshLib::Mesh> result (MeshLib::createFlippedMesh(*mesh));
 
-    ASSERT_EQ(mesh->getNNodes(), result->getNNodes());
-    ASSERT_EQ(mesh->getNElements(), result->getNElements());
-    for (std::size_t i=0; i<result->getNElements(); ++i)
+    ASSERT_EQ(mesh->getNumberOfNodes(), result->getNumberOfNodes());
+    ASSERT_EQ(mesh->getNumberOfElements(), result->getNumberOfElements());
+    for (std::size_t i=0; i<result->getNumberOfElements(); ++i)
     {
         ASSERT_EQ(mesh->getElement(i)->getNode(0)->getID(),
                   result->getElement(i)->getNode(1)->getID());
@@ -80,7 +80,7 @@ TEST(MeshLib, FlipHexMesh)
 
     ASSERT_EQ(nullptr, result);
     std::vector<MeshLib::Node*> nodes;
-    for (std::size_t i=0; i<mesh->getNNodes(); ++i)
+    for (std::size_t i=0; i<mesh->getNumberOfNodes(); ++i)
         nodes.push_back(new MeshLib::Node(*mesh->getNode(i)));
     std::unique_ptr<MeshLib::Element> elem (MeshLib::createFlippedElement(*mesh->getElement(0), nodes));
     ASSERT_EQ(nullptr, elem);
@@ -94,9 +94,9 @@ TEST(MeshLib, DoubleFlipQuadMesh)
     std::unique_ptr<MeshLib::Mesh> result (MeshLib::createFlippedMesh(*mesh));
     std::unique_ptr<MeshLib::Mesh> result2 (MeshLib::createFlippedMesh(*result));
 
-    ASSERT_EQ(mesh->getNNodes(), result2->getNNodes());
-    ASSERT_EQ(mesh->getNElements(), result2->getNElements());
-    for (std::size_t i=0; i<result2->getNElements(); ++i)
+    ASSERT_EQ(mesh->getNumberOfNodes(), result2->getNumberOfNodes());
+    ASSERT_EQ(mesh->getNumberOfElements(), result2->getNumberOfElements());
+    for (std::size_t i=0; i<result2->getNumberOfElements(); ++i)
         for (std::size_t j=0; j<4; ++j)
             ASSERT_EQ(mesh->getElement(i)->getNode(j)->getID(),
                       result2->getElement(i)->getNode(j)->getID());
diff --git a/Tests/MeshLib/TestLineMesh.cpp b/Tests/MeshLib/TestLineMesh.cpp
index ffc6cdb9cedf291708dc93871e43c2525ed5e4af..2f52ba41ab8d411ef316d0a16664aa8241ed6e3f 100644
--- a/Tests/MeshLib/TestLineMesh.cpp
+++ b/Tests/MeshLib/TestLineMesh.cpp
@@ -37,15 +37,15 @@ TEST_F(MeshLibLineMesh, Construction)
     ASSERT_TRUE(mesh != nullptr);
 
     // There are mesh_size elements in the mesh.
-    ASSERT_EQ(mesh_size, mesh->getNElements());
+    ASSERT_EQ(mesh_size, mesh->getNumberOfElements());
 
     // There are mesh_size+1 nodes in the mesh.
-    ASSERT_EQ(mesh_size+1, mesh->getNNodes());
+    ASSERT_EQ(mesh_size+1, mesh->getNumberOfNodes());
 
     // All elements have maximum two neighbors.
     std::vector<MeshLib::Element*> const& elements = mesh->getElements();
     for (auto e : elements)
-        ASSERT_EQ(2u, e->getNNeighbors());
+        ASSERT_EQ(2u, e->getNumberOfNeighbors());
 }
 
 TEST_F(MeshLibLineMesh, ElementNeigbors)
@@ -83,7 +83,7 @@ TEST_F(MeshLibLineMesh, ElementToNodeConnectivity)
     for (std::size_t i = 0; i < elements.size(); ++i)
     {
         // An element consists of two nodes n and n+1
-        ASSERT_EQ(2u, elements[i]->getNBaseNodes());
+        ASSERT_EQ(2u, elements[i]->getNumberOfBaseNodes());
         ASSERT_EQ(i, elements[i]->getNode(0)->getID());
         ASSERT_EQ(i+1, elements[i]->getNode(1)->getID());
     }
@@ -96,15 +96,15 @@ TEST_F(MeshLibLineMesh, NodeToElementConnectivity)
 
     // Each node n of the line mesh is connected to two elements n-1 and n,
     // except the first and last nodes.
-    ASSERT_EQ(1u, nodes.front()->getNElements());
+    ASSERT_EQ(1u, nodes.front()->getNumberOfElements());
     ASSERT_EQ(elements[0], nodes.front()->getElement(0));
 
-    ASSERT_EQ(1u, nodes.back()->getNElements());
+    ASSERT_EQ(1u, nodes.back()->getNumberOfElements());
     ASSERT_EQ(elements.back(), nodes.back()->getElement(0));
 
     for (std::size_t i = 1; i < nodes.size() - 1; ++i)
     {
-        ASSERT_EQ(2u, nodes[i]->getNElements());
+        ASSERT_EQ(2u, nodes[i]->getNumberOfElements());
         ASSERT_EQ(elements[i-1], nodes[i]->getElement(0));
         ASSERT_EQ(elements[i], nodes[i]->getElement(1));
     }
diff --git a/Tests/MeshLib/TestMeshGenerator.cpp b/Tests/MeshLib/TestMeshGenerator.cpp
index ab3edf8263fb71fd39616d3c5a3681f921baf2d7..4a8d1f8ac737b7a530f99577cacfa4969aa26de3 100644
--- a/Tests/MeshLib/TestMeshGenerator.cpp
+++ b/Tests/MeshLib/TestMeshGenerator.cpp
@@ -27,14 +27,14 @@ TEST(MeshLib, MeshGeneratorRegularHex)
     const double dL = L / static_cast<double>(n_subdivisions);
     std::unique_ptr<Mesh> msh(MeshGenerator::generateRegularHexMesh(L, n_subdivisions));
 
-    ASSERT_EQ(std::pow(n_subdivisions, 3), msh->getNElements());
-    ASSERT_EQ(std::pow(n_subdivisions+1, 3), msh->getNNodes());
+    ASSERT_EQ(std::pow(n_subdivisions, 3), msh->getNumberOfElements());
+    ASSERT_EQ(std::pow(n_subdivisions+1, 3), msh->getNumberOfNodes());
 
     // check nodes
     const Node& node0 = *msh->getNode(0);
     const Node& node1 = *msh->getNode(1);
-    const Node& node_n = *msh->getNode(msh->getNNodes()-2);
-    const Node& node_n1 = *msh->getNode(msh->getNNodes()-1);
+    const Node& node_n = *msh->getNode(msh->getNumberOfNodes()-2);
+    const Node& node_n1 = *msh->getNode(msh->getNumberOfNodes()-1);
     ASSERT_DOUBLE_EQ(.0, node0[0]);
     ASSERT_DOUBLE_EQ(.0, node0[1]);
     ASSERT_DOUBLE_EQ(.0, node0[2]);
@@ -50,7 +50,7 @@ TEST(MeshLib, MeshGeneratorRegularHex)
 
     // check elements
     const Element& ele0 = *msh->getElement(0);
-    const Element& ele_n = *msh->getElement(msh->getNElements()-1);
+    const Element& ele_n = *msh->getElement(msh->getNumberOfElements()-1);
     const std::size_t offset_y0 = (n_subdivisions+1);
     const std::size_t offset_z0 = (n_subdivisions+1)*(n_subdivisions+1);
     ASSERT_EQ(0u, ele0.getNodeIndex(0));
@@ -75,17 +75,17 @@ TEST(MeshLib, MeshGeneratorRegularHex)
     ASSERT_EQ(offset_zn1+offset_yn1+n_subdivisions-1, ele_n.getNodeIndex(7));
 
     std::unique_ptr<Mesh> msh2 (MeshGenerator::generateRegularHexMesh(n_subdivisions, n_subdivisions, n_subdivisions, L/n_subdivisions));
-    ASSERT_EQ(msh->getNNodes(), msh2->getNNodes());
-    ASSERT_DOUBLE_EQ(0, MathLib::sqrDist(*(msh->getNode(msh->getNNodes()-1)), *(msh2->getNode(msh->getNNodes()-1))));
+    ASSERT_EQ(msh->getNumberOfNodes(), msh2->getNumberOfNodes());
+    ASSERT_DOUBLE_EQ(0, MathLib::sqrDist(*(msh->getNode(msh->getNumberOfNodes()-1)), *(msh2->getNode(msh->getNumberOfNodes()-1))));
 
     unsigned n_x (10);
     unsigned n_y (5);
     unsigned n_z (2);
     double delta (1.2);
     std::unique_ptr<Mesh> hex_mesh (MeshGenerator::generateRegularHexMesh(n_x, n_y, n_z, delta));
-    ASSERT_EQ(n_x * n_y * n_z, hex_mesh->getNElements());
-    ASSERT_EQ((n_x+1) * (n_y+1) * (n_z+1), hex_mesh->getNNodes());
-    const MeshLib::Node* node (hex_mesh->getNode(hex_mesh->getNNodes()-1));
+    ASSERT_EQ(n_x * n_y * n_z, hex_mesh->getNumberOfElements());
+    ASSERT_EQ((n_x+1) * (n_y+1) * (n_z+1), hex_mesh->getNumberOfNodes());
+    const MeshLib::Node* node (hex_mesh->getNode(hex_mesh->getNumberOfNodes()-1));
     ASSERT_DOUBLE_EQ(n_x*delta, (*node)[0]);
     ASSERT_DOUBLE_EQ(n_y*delta, (*node)[1]);
     ASSERT_DOUBLE_EQ(n_z*delta, (*node)[2]);
@@ -97,9 +97,9 @@ TEST(MeshLib, MeshGeneratorRegularQuad)
     unsigned n_y (5);
     double delta (1.2);
     std::unique_ptr<Mesh> quad_mesh (MeshGenerator::generateRegularQuadMesh(n_x, n_y,delta));
-    ASSERT_EQ(n_x * n_y, quad_mesh->getNElements());
-    ASSERT_EQ((n_x+1) * (n_y+1), quad_mesh->getNNodes());
-    const MeshLib::Node* node (quad_mesh->getNode(quad_mesh->getNNodes()-1));
+    ASSERT_EQ(n_x * n_y, quad_mesh->getNumberOfElements());
+    ASSERT_EQ((n_x+1) * (n_y+1), quad_mesh->getNumberOfNodes());
+    const MeshLib::Node* node (quad_mesh->getNode(quad_mesh->getNumberOfNodes()-1));
     ASSERT_DOUBLE_EQ(n_x*delta, (*node)[0]);
     ASSERT_DOUBLE_EQ(n_y*delta, (*node)[1]);
     ASSERT_DOUBLE_EQ(0, (*node)[2]);
@@ -107,8 +107,8 @@ TEST(MeshLib, MeshGeneratorRegularQuad)
     const double L = 10.0;
     const std::size_t n_subdivisions = 9;
     std::unique_ptr<Mesh> quad_mesh2(MeshGenerator::generateRegularQuadMesh(L, n_subdivisions));
-    ASSERT_EQ(n_subdivisions * n_subdivisions, quad_mesh2->getNElements());
-    node = quad_mesh2->getNode(quad_mesh2->getNNodes()-1);
+    ASSERT_EQ(n_subdivisions * n_subdivisions, quad_mesh2->getNumberOfElements());
+    node = quad_mesh2->getNode(quad_mesh2->getNumberOfNodes()-1);
     ASSERT_DOUBLE_EQ(L, (*node)[0]);
     ASSERT_DOUBLE_EQ(L, (*node)[1]);
 }
@@ -122,8 +122,8 @@ TEST(MeshLib, MeshGeneratorRegularPrism)
     unsigned n_y (5);
     unsigned n_z (4);
     std::unique_ptr<Mesh> mesh (MeshGenerator::generateRegularPrismMesh(l_x, l_y, l_z, n_x, n_y, n_z));
-    ASSERT_EQ(2 * n_x * n_y * n_z, mesh->getNElements());
-    ASSERT_EQ((n_x+1) * (n_y+1) * (n_z+1), mesh->getNNodes());
+    ASSERT_EQ(2 * n_x * n_y * n_z, mesh->getNumberOfElements());
+    ASSERT_EQ((n_x+1) * (n_y+1) * (n_z+1), mesh->getNumberOfNodes());
 
     std::size_t count (0);
     for (std::size_t k=0; k<(n_z+1); ++k)
diff --git a/Tests/MeshLib/TestMeshNodeSearch.cpp b/Tests/MeshLib/TestMeshNodeSearch.cpp
index 306add28a4c335a911325eba32e2a8c7df4f7051..28b4d2f598cb73283c07e686b8f1b08a60640c77 100644
--- a/Tests/MeshLib/TestMeshNodeSearch.cpp
+++ b/Tests/MeshLib/TestMeshNodeSearch.cpp
@@ -241,7 +241,7 @@ TEST_F(MeshLibMeshNodeSearchInSimpleQuadMesh, SurfaceSearch)
 
     std::vector<std::size_t> const& found_ids_sfc0(mesh_node_searcher.getMeshNodeIDsAlongSurface(*sfc0));
 
-    ASSERT_EQ(_quad_mesh->getNNodes(), found_ids_sfc0.size());
+    ASSERT_EQ(_quad_mesh->getNumberOfNodes(), found_ids_sfc0.size());
     for (std::size_t k(0); k<found_ids_sfc0.size(); k++)
         ASSERT_EQ(k, found_ids_sfc0[k]);
 
@@ -256,7 +256,7 @@ TEST_F(MeshLibMeshNodeSearchInSimpleQuadMesh, SurfaceSearch)
 
     std::vector<std::size_t> const& found_ids_sfc1(mesh_node_searcher.getMeshNodeIDsAlongSurface(*sfc1));
 
-    ASSERT_EQ(_quad_mesh->getNNodes()/2, found_ids_sfc1.size());
+    ASSERT_EQ(_quad_mesh->getNumberOfNodes()/2, found_ids_sfc1.size());
     for (std::size_t k(0); k<found_ids_sfc1.size(); k++)
         ASSERT_EQ(k, found_ids_sfc1[k]);
 
diff --git a/Tests/MeshLib/TestMeshRevision.cpp b/Tests/MeshLib/TestMeshRevision.cpp
index 9e0aa5b92183e25fd09a5735b432ccac8da0a51c..254bad9753046af7ce061831b8d7c0d68f82f137 100644
--- a/Tests/MeshLib/TestMeshRevision.cpp
+++ b/Tests/MeshLib/TestMeshRevision.cpp
@@ -43,13 +43,13 @@ TEST(MeshEditing, Tri)
 
     ASSERT_EQ(MeshLib::MeshElemType::LINE, result->getElement(0)->getGeomType());
     ASSERT_EQ(1, result->getElement(0)->getContent());
-    ASSERT_EQ(2u, result->getNNodes());
+    ASSERT_EQ(2u, result->getNumberOfNodes());
     delete result;
 
     result = rev.simplifyMesh("new_mesh", 0.0999);
     ASSERT_EQ(MeshLib::MeshElemType::TRIANGLE, result->getElement(0)->getGeomType());
     ASSERT_EQ(0.05, result->getElement(0)->getContent());
-    ASSERT_EQ(3u, result->getNNodes());
+    ASSERT_EQ(3u, result->getNumberOfNodes());
     delete result;
 }
 
@@ -69,7 +69,7 @@ TEST(MeshEditing, NonPlanarQuad)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(2u, result->getNElements());
+    ASSERT_EQ(2u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TRIANGLE, result->getElement(1)->getGeomType());
 
     delete result;
@@ -94,7 +94,7 @@ TEST(MeshEditing, Quad2Line)
 
     ASSERT_EQ(MeshLib::MeshElemType::LINE, result->getElement(0)->getGeomType());
     ASSERT_NEAR(1.414213562373095, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
-    ASSERT_EQ(2u, result->getNNodes());
+    ASSERT_EQ(2u, result->getNumberOfNodes());
 
     delete result;
 }
@@ -118,7 +118,7 @@ TEST(MeshEditing, Quad2Tri)
 
     ASSERT_EQ(MeshLib::MeshElemType::TRIANGLE, result->getElement(0)->getGeomType());
     ASSERT_NEAR(0.5049752469181039, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
-    ASSERT_EQ(3u, result->getNNodes());
+    ASSERT_EQ(3u, result->getNumberOfNodes());
 
     delete result;
 }
@@ -144,7 +144,7 @@ TEST(MeshEditing, NonPlanarHex)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(6u, result->getNElements());
+    ASSERT_EQ(6u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TETRAHEDRON, result->getElement(4)->getGeomType());
     ASSERT_NEAR(0.25, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
     ASSERT_NEAR(0.1666666666666667, result->getElement(5)->getContent(), std::numeric_limits<double>::epsilon());
@@ -173,7 +173,7 @@ TEST(MeshEditing, Hex2PyramidPrism)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(2u, result->getNElements());
+    ASSERT_EQ(2u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::PYRAMID, result->getElement(0)->getGeomType());
     ASSERT_EQ(MeshLib::MeshElemType::PRISM, result->getElement(1)->getGeomType());
     ASSERT_NEAR(0.3333333333333333, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
@@ -203,7 +203,7 @@ TEST(MeshEditing, Hex2FourTets)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(4u, result->getNElements());
+    ASSERT_EQ(4u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TETRAHEDRON, result->getElement(1)->getGeomType());
     ASSERT_NEAR(0.1666666666666667, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
     ASSERT_NEAR(0.1666666666666667, result->getElement(1)->getContent(), std::numeric_limits<double>::epsilon());
@@ -234,7 +234,7 @@ TEST(MeshEditing, Hex2TwoTets)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(2u, result->getNElements());
+    ASSERT_EQ(2u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TETRAHEDRON, result->getElement(1)->getGeomType());
     ASSERT_NEAR(0.1666666666666667, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
     ASSERT_NEAR(0.1666666666666667, result->getElement(1)->getContent(), std::numeric_limits<double>::epsilon());
@@ -260,7 +260,7 @@ TEST(MeshEditing, NonPlanarPyramid)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(2u, result->getNElements());
+    ASSERT_EQ(2u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TETRAHEDRON, result->getElement(1)->getGeomType());
     ASSERT_NEAR(0.25, result->getElement(0)->getContent(),  std::numeric_limits<double>::epsilon());
     ASSERT_NEAR(0.1666666666666667, result->getElement(1)->getContent(), std::numeric_limits<double>::epsilon());
@@ -286,7 +286,7 @@ TEST(MeshEditing, Pyramid2Tet)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(1u, result->getNElements());
+    ASSERT_EQ(1u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TETRAHEDRON, result->getElement(0)->getGeomType());
     ASSERT_NEAR(0.16666666666666666, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
 
@@ -311,7 +311,7 @@ TEST(MeshEditing, Pyramid2Quad)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(1u, result->getNElements());
+    ASSERT_EQ(1u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::QUAD, result->getElement(0)->getGeomType());
     ASSERT_NEAR(1, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
 
@@ -336,8 +336,8 @@ TEST(MeshEditing, Pyramid2Tri)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(3u, result->getNNodes());
-    ASSERT_EQ(1u, result->getNElements());
+    ASSERT_EQ(3u, result->getNumberOfNodes());
+    ASSERT_EQ(1u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TRIANGLE, result->getElement(0)->getGeomType());
     ASSERT_NEAR(0.5, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
 
@@ -363,7 +363,7 @@ TEST(MeshEditing, NonPlanarPrism)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(3u, result->getNElements());
+    ASSERT_EQ(3u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TETRAHEDRON, result->getElement(2)->getGeomType());
     ASSERT_NEAR(0.1666666666666667, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
 
@@ -389,8 +389,8 @@ TEST(MeshEditing, Prism2TwoTets)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(5u, result->getNNodes());
-    ASSERT_EQ(2u, result->getNElements());
+    ASSERT_EQ(5u, result->getNumberOfNodes());
+    ASSERT_EQ(2u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TETRAHEDRON, result->getElement(1)->getGeomType());
     ASSERT_NEAR(0.1666666666666667, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
     ASSERT_NEAR(0.15, result->getElement(1)->getContent(), std::numeric_limits<double>::epsilon());
@@ -417,7 +417,7 @@ TEST(MeshEditing, Prism2Quad)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(1u, result->getNElements());
+    ASSERT_EQ(1u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::QUAD, result->getElement(0)->getGeomType());
     ASSERT_NEAR(1.345362404707371, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
 
@@ -443,7 +443,7 @@ TEST(MeshEditing, Prism2Tet)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(1u, result->getNElements());
+    ASSERT_EQ(1u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TETRAHEDRON, result->getElement(0)->getGeomType());
     ASSERT_NEAR(0.1666666666666667, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
 
@@ -469,7 +469,7 @@ TEST(MeshEditing, Prism2Tri)
     MeshLib::MeshRevision rev(mesh);
     MeshLib::Mesh* result = rev.simplifyMesh("new_mesh", 0.2);
 
-    ASSERT_EQ(1u, result->getNElements());
+    ASSERT_EQ(1u, result->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TRIANGLE, result->getElement(0)->getGeomType());
     ASSERT_NEAR(0.5, result->getElement(0)->getContent(), std::numeric_limits<double>::epsilon());
 
diff --git a/Tests/MeshLib/TestNodeAdjacencyTable.cpp b/Tests/MeshLib/TestNodeAdjacencyTable.cpp
index a98f9a934a051836f913d10d6e694a9647d79c92..55e511979c467d071fd494a99dcff3f62d256d49 100644
--- a/Tests/MeshLib/TestNodeAdjacencyTable.cpp
+++ b/Tests/MeshLib/TestNodeAdjacencyTable.cpp
@@ -27,16 +27,16 @@ TEST(MeshLib, CreateNodeAdjacencyTable1D)
     NodeAdjacencyTable table(mesh->getNodes());
 
     // There must be as many entries as there are nodes in the mesh.
-    ASSERT_EQ(mesh->getNNodes(), table.size());
+    ASSERT_EQ(mesh->getNumberOfNodes(), table.size());
 
     // Minimum connectivity for line mesh is 2 for boundary nodes,
     // and the maximum is 3 for interior nodes.
-    std::size_t const nnodes = mesh->getNNodes();
+    std::size_t const nnodes = mesh->getNumberOfNodes();
     for (std::size_t i = 0; i < nnodes; ++i)
     {
         std::size_t const n_connections = table.getNodeDegree(i);
 
-        std::size_t const n_elements = mesh->getNode(i)->getNElements();
+        std::size_t const n_elements = mesh->getNode(i)->getNumberOfElements();
         switch (n_elements)
         {
         case 1: // a corner node has 2 adjacent nodes.
@@ -63,14 +63,14 @@ TEST(MeshLib, CreateNodeAdjacencyTable2D)
     NodeAdjacencyTable table(mesh->getNodes());
 
     // There must be as many entries as there are nodes in the mesh.
-    ASSERT_EQ(mesh->getNNodes(), table.size());
+    ASSERT_EQ(mesh->getNumberOfNodes(), table.size());
 
-    std::size_t const nnodes = mesh->getNNodes();
+    std::size_t const nnodes = mesh->getNumberOfNodes();
     for (std::size_t i = 0; i < nnodes; ++i)
     {
         std::size_t const n_connections = table.getNodeDegree(i);
 
-        std::size_t const n_elements = mesh->getNode(i)->getNElements();
+        std::size_t const n_elements = mesh->getNode(i)->getNumberOfElements();
         switch (n_elements)
         {
         case 1: // a corner node has 4 adjacent nodes.
@@ -101,14 +101,14 @@ TEST(MeshLib, CreateNodeAdjacencyTable3D)
     NodeAdjacencyTable table(mesh->getNodes());
 
     // There must be as many entries as there are nodes in the mesh.
-    ASSERT_EQ(mesh->getNNodes(), table.size());
+    ASSERT_EQ(mesh->getNumberOfNodes(), table.size());
 
-    std::size_t const nnodes = mesh->getNNodes();
+    std::size_t const nnodes = mesh->getNumberOfNodes();
     for (std::size_t i = 0; i < nnodes; ++i)
     {
         std::size_t const n_connections = table.getNodeDegree(i);
 
-        std::size_t const n_elements = mesh->getNode(i)->getNElements();
+        std::size_t const n_elements = mesh->getNode(i)->getNumberOfElements();
         switch (n_elements)
         {
         case 1: // a corner node has 8 adjacent nodes.
diff --git a/Tests/MeshLib/TestProjectMeshOnPlane.cpp b/Tests/MeshLib/TestProjectMeshOnPlane.cpp
index 873310180081e72ec412c363659f402ed425ee4d..7976c5de07e86ce7d503503b9f006379dc3db109 100644
--- a/Tests/MeshLib/TestProjectMeshOnPlane.cpp
+++ b/Tests/MeshLib/TestProjectMeshOnPlane.cpp
@@ -46,7 +46,7 @@ protected:
 TEST_F(ProjectionTest, ProjectToXY)
 {
     MathLib::Vector3 normal (0,0,1);
-    std::size_t const n_nodes (_mesh->getNNodes());
+    std::size_t const n_nodes (_mesh->getNumberOfNodes());
     for (std::size_t p=0; p<10; p++)
     {
         MathLib::Point3d origin (std::array<double,3>{{0,0,static_cast<double>(p)}});
@@ -61,7 +61,7 @@ TEST_F(ProjectionTest, ProjectToXY)
 TEST_F(ProjectionTest, ProjectToXZ)
 {
     MathLib::Vector3 normal (0,1,0);
-    std::size_t const n_nodes (_mesh->getNNodes());
+    std::size_t const n_nodes (_mesh->getNumberOfNodes());
     for (std::size_t p=0; p<10; p++)
     {
         MathLib::Point3d origin (std::array<double,3>{{0,static_cast<double>(p),0}});
@@ -76,7 +76,7 @@ TEST_F(ProjectionTest, ProjectToXZ)
 TEST_F(ProjectionTest, ProjectToYZ)
 {
     MathLib::Vector3 normal (1,0,0);
-    std::size_t const n_nodes (_mesh->getNNodes());
+    std::size_t const n_nodes (_mesh->getNumberOfNodes());
     for (std::size_t p=0; p<10; p++)
     {
         MathLib::Point3d origin (std::array<double,3>{{static_cast<double>(p),0,0}});
@@ -92,7 +92,7 @@ TEST_F(ProjectionTest, NormalDirection)
 {
     MathLib::Vector3 normal_p (0,0,1);
     MathLib::Vector3 normal_n (0,0,-1);
-    std::size_t const n_nodes (_mesh->getNNodes());
+    std::size_t const n_nodes (_mesh->getNumberOfNodes());
     MathLib::Point3d origin (std::array<double,3>{{0,0,0}});
     MeshLib::Mesh* result_p = MeshLib::projectMeshOntoPlane(*_mesh, origin, normal_p);
     MeshLib::Mesh* result_n = MeshLib::projectMeshOntoPlane(*_mesh, origin, normal_n);
@@ -107,7 +107,7 @@ TEST_F(ProjectionTest, NormalLength)
 {
     MathLib::Point3d origin (std::array<double,3>{{0,0,0}});
     MathLib::Vector3 normal (0,0,1);
-    std::size_t const n_nodes (_mesh->getNNodes());
+    std::size_t const n_nodes (_mesh->getNumberOfNodes());
     MeshLib::Mesh* result = MeshLib::projectMeshOntoPlane(*_mesh, origin, normal);
     for (std::size_t p=2; p<10; p++)
     {
diff --git a/Tests/MeshLib/TestQuadMesh.cpp b/Tests/MeshLib/TestQuadMesh.cpp
index 07dc24c7ab593c04196184bd738738420ff865d6..bbd645c38535f64ea47797fe3a5eb2e9a0806069 100644
--- a/Tests/MeshLib/TestQuadMesh.cpp
+++ b/Tests/MeshLib/TestQuadMesh.cpp
@@ -157,15 +157,15 @@ TEST_F(MeshLibQuadMesh, Construction)
     ASSERT_TRUE(mesh != nullptr);
 
     // There are n_elements^2 elements in the mesh.
-    ASSERT_EQ(n_elements * n_elements, mesh->getNElements());
+    ASSERT_EQ(n_elements * n_elements, mesh->getNumberOfElements());
 
     // There are n_nodes^2 nodes in the mesh.
-    ASSERT_EQ(n_nodes*n_nodes, mesh->getNNodes());
+    ASSERT_EQ(n_nodes*n_nodes, mesh->getNumberOfNodes());
 
     // All elements have maximum four neighbors.
     testAllElements([](MeshLib::Element const* const e, ...)
         {
-            ASSERT_EQ(4u, e->getNNeighbors());
+            ASSERT_EQ(4u, e->getNumberOfNeighbors());
         });
 }
 
@@ -252,7 +252,7 @@ TEST_F(MeshLibQuadMesh, ElementToNodeConnectivity)
         std::size_t const i,
         std::size_t const j)
         {
-            EXPECT_EQ(4u, e->getNBaseNodes());
+            EXPECT_EQ(4u, e->getNumberOfBaseNodes());
             EXPECT_EQ(getNode(i,   j),   e->getNode(0));
             EXPECT_EQ(getNode(i,   j+1), e->getNode(1));
             EXPECT_EQ(getNode(i+1, j+1), e->getNode(2));
@@ -269,7 +269,7 @@ TEST_F(MeshLibQuadMesh, NodeToElementConnectivity)
             std::size_t i,
             std::size_t j)
         {
-            EXPECT_EQ(1u, node->getNElements());
+            EXPECT_EQ(1u, node->getNumberOfElements());
 
             if (i == nodes_stride)
                 i--;
@@ -284,7 +284,7 @@ TEST_F(MeshLibQuadMesh, NodeToElementConnectivity)
         std::size_t i,
         std::size_t j)
         {
-            EXPECT_EQ(2u, node->getNElements());
+            EXPECT_EQ(2u, node->getNumberOfElements());
 
             if (i == 0)
             {
@@ -314,7 +314,7 @@ TEST_F(MeshLibQuadMesh, NodeToElementConnectivity)
         std::size_t const i,
         std::size_t const j)
         {
-            EXPECT_EQ(4u, node->getNElements());
+            EXPECT_EQ(4u, node->getNumberOfElements());
 
             EXPECT_EQ(getElement(i-1, j-1), node->getElement(0));
             EXPECT_EQ(getElement(i-1, j  ), node->getElement(1));
diff --git a/Tests/MeshLib/TestRemove.cpp b/Tests/MeshLib/TestRemove.cpp
index 8b15b1a98ac5e2c580140014c97d65ad14f40983..885e773f959709cea76a6caf9fb5cb501a22021e 100644
--- a/Tests/MeshLib/TestRemove.cpp
+++ b/Tests/MeshLib/TestRemove.cpp
@@ -36,10 +36,10 @@ TEST(MeshLib, RemoveNodes)
     auto new_mesh = std::unique_ptr<MeshLib::Mesh>{
         MeshLib::removeNodes(*mesh, removed_node_ids, "")};
 
-    ASSERT_EQ(5u, new_mesh->getNNodes());
-    ASSERT_EQ(5u, new_mesh->getNBaseNodes());
-    ASSERT_EQ(4u, new_mesh->getNElements());
-    for (std::size_t i=0; i<new_mesh->getNNodes(); i++)
+    ASSERT_EQ(5u, new_mesh->getNumberOfNodes());
+    ASSERT_EQ(5u, new_mesh->getNumberOfBaseNodes());
+    ASSERT_EQ(4u, new_mesh->getNumberOfElements());
+    for (std::size_t i=0; i<new_mesh->getNumberOfNodes(); i++)
         ASSERT_TRUE(*mesh->getNode(5+i) == *new_mesh->getNode(i));
 }
 
@@ -55,9 +55,9 @@ TEST(MeshLib, RemoveElements)
     auto new_mesh = std::unique_ptr<MeshLib::Mesh>{
         MeshLib::removeElements(*mesh, removed_ele_ids, "")};
 
-    ASSERT_EQ(5u, new_mesh->getNNodes());
-    ASSERT_EQ(5u, new_mesh->getNBaseNodes());
-    ASSERT_EQ(4u, new_mesh->getNElements());
-    for (std::size_t i=0; i<new_mesh->getNNodes(); i++)
+    ASSERT_EQ(5u, new_mesh->getNumberOfNodes());
+    ASSERT_EQ(5u, new_mesh->getNumberOfBaseNodes());
+    ASSERT_EQ(4u, new_mesh->getNumberOfElements());
+    for (std::size_t i=0; i<new_mesh->getNumberOfNodes(); i++)
         ASSERT_TRUE(*mesh->getNode(5+i) == *new_mesh->getNode(i));
 }
diff --git a/Tests/MeshLib/TestTriLineMesh.cpp b/Tests/MeshLib/TestTriLineMesh.cpp
index afb1d30b05de4812b59781b3c9e74156372432d2..8c0d1c6f7f02a9ccb6de6fae22b4e03a5447594e 100644
--- a/Tests/MeshLib/TestTriLineMesh.cpp
+++ b/Tests/MeshLib/TestTriLineMesh.cpp
@@ -77,28 +77,28 @@ class MeshLibTriLineMesh : public ::testing::Test
 TEST_F(MeshLibTriLineMesh, Construction)
 {
     ASSERT_TRUE(mesh != nullptr);
-    ASSERT_EQ(3u, mesh->getNElements());
+    ASSERT_EQ(3u, mesh->getNumberOfElements());
     ASSERT_EQ(MeshLib::MeshElemType::TRIANGLE, elements[0]->getGeomType());
     ASSERT_EQ(MeshLib::MeshElemType::TRIANGLE, elements[1]->getGeomType());
     ASSERT_EQ(MeshLib::MeshElemType::LINE, elements[2]->getGeomType());
-    ASSERT_EQ(4u, mesh->getNNodes());
+    ASSERT_EQ(4u, mesh->getNumberOfNodes());
 }
 
 TEST_F(MeshLibTriLineMesh, NodeToElementConnectivity)
 {
     // Nodes 0 and 3 are connected only to triangles.
-    EXPECT_EQ(1u, nodes[0]->getNElements());
-    EXPECT_EQ(1u, nodes[3]->getNElements());
+    EXPECT_EQ(1u, nodes[0]->getNumberOfElements());
+    EXPECT_EQ(1u, nodes[3]->getNumberOfElements());
     EXPECT_EQ(elements[0], nodes[0]->getElement(0));
     EXPECT_EQ(elements[1], nodes[3]->getElement(0));
 
     // Nodes 1 and 2 are connected to all elements.
-    EXPECT_EQ(3u, nodes[1]->getNElements());
+    EXPECT_EQ(3u, nodes[1]->getNumberOfElements());
     EXPECT_TRUE(isConnectedToNode(1, 0));
     EXPECT_TRUE(isConnectedToNode(1, 1));
     EXPECT_TRUE(isConnectedToNode(1, 2));
 
-    EXPECT_EQ(3u, nodes[2]->getNElements());
+    EXPECT_EQ(3u, nodes[2]->getNumberOfElements());
     EXPECT_TRUE(isConnectedToNode(2, 0));
     EXPECT_TRUE(isConnectedToNode(2, 1));
     EXPECT_TRUE(isConnectedToNode(2, 2));
diff --git a/Tests/MeshLib/TestVtkMappedMeshSource.cpp b/Tests/MeshLib/TestVtkMappedMeshSource.cpp
index ea8e520db7f8378158ceb53323873e6568392e6c..9aeca253bd55b41ef8c901394d692a2f34cbac2a 100644
--- a/Tests/MeshLib/TestVtkMappedMeshSource.cpp
+++ b/Tests/MeshLib/TestVtkMappedMeshSource.cpp
@@ -49,7 +49,7 @@ class InSituMesh : public ::testing::Test
             mesh->getProperties().createNewPropertyVector<double>(point_prop_name,
                 MeshLib::MeshItemType::Node)
         );
-        (*point_double_properties).resize(mesh->getNNodes());
+        (*point_double_properties).resize(mesh->getNumberOfNodes());
         std::iota((*point_double_properties).begin(), (*point_double_properties).end(), 1);
 
         std::string const cell_prop_name("CellDoubleProperty");
@@ -57,7 +57,7 @@ class InSituMesh : public ::testing::Test
             mesh->getProperties().createNewPropertyVector<double>(cell_prop_name,
                 MeshLib::MeshItemType::Cell)
         );
-        (*cell_double_properties).resize(mesh->getNElements());
+        (*cell_double_properties).resize(mesh->getNumberOfElements());
         std::iota((*cell_double_properties).begin(), (*cell_double_properties).end(), 1);
 
         std::string const point_int_prop_name("PointIntProperty");
@@ -65,7 +65,7 @@ class InSituMesh : public ::testing::Test
             mesh->getProperties().createNewPropertyVector<int>(point_int_prop_name,
                 MeshLib::MeshItemType::Node)
         );
-        (*point_int_properties).resize(mesh->getNNodes());
+        (*point_int_properties).resize(mesh->getNumberOfNodes());
         std::iota((*point_int_properties).begin(), (*point_int_properties).end(), 1);
 
         std::string const cell_int_prop_name("CellIntProperty");
@@ -73,7 +73,7 @@ class InSituMesh : public ::testing::Test
             mesh->getProperties().createNewPropertyVector<int>(cell_int_prop_name,
                 MeshLib::MeshItemType::Cell)
         );
-        (*cell_int_properties).resize(mesh->getNElements());
+        (*cell_int_properties).resize(mesh->getNumberOfElements());
         std::iota((*cell_int_properties).begin(), (*cell_int_properties).end(), 1);
 
         std::string const point_unsigned_prop_name("PointUnsignedProperty");
@@ -81,7 +81,7 @@ class InSituMesh : public ::testing::Test
             mesh->getProperties().createNewPropertyVector<unsigned>(point_unsigned_prop_name,
                 MeshLib::MeshItemType::Node)
         );
-        (*point_unsigned_properties).resize(mesh->getNNodes());
+        (*point_unsigned_properties).resize(mesh->getNumberOfNodes());
         std::iota((*point_unsigned_properties).begin(), (*point_unsigned_properties).end(), 1);
 
         std::string const cell_unsigned_prop_name("CellUnsignedProperty");
@@ -89,7 +89,7 @@ class InSituMesh : public ::testing::Test
             mesh->getProperties().createNewPropertyVector<unsigned>(cell_unsigned_prop_name,
                 MeshLib::MeshItemType::Cell)
         );
-        (*cell_unsigned_properties).resize(mesh->getNElements());
+        (*cell_unsigned_properties).resize(mesh->getNumberOfElements());
         std::iota((*cell_unsigned_properties).begin(), (*cell_unsigned_properties).end(), 1);
 
         std::string const material_ids_name("MaterialIDs");
@@ -97,7 +97,7 @@ class InSituMesh : public ::testing::Test
             mesh->getProperties().createNewPropertyVector<int>(material_ids_name,
                 MeshLib::MeshItemType::Cell)
         );
-        (*material_id_properties).resize(mesh->getNElements());
+        (*material_id_properties).resize(mesh->getNumberOfElements());
         std::iota((*material_id_properties).begin(), (*material_id_properties).end(), 1);
     }
 
@@ -117,7 +117,7 @@ class InSituMesh : public ::testing::Test
 TEST_F(InSituMesh, Construction)
 {
     ASSERT_TRUE(mesh != nullptr);
-    ASSERT_EQ((subdivisions+1)*(subdivisions+1)*(subdivisions+1), mesh->getNNodes());
+    ASSERT_EQ((subdivisions+1)*(subdivisions+1)*(subdivisions+1), mesh->getNumberOfNodes());
 }
 
 // Maps the mesh into a vtkUnstructuredGrid-equivalent
@@ -164,47 +164,47 @@ TEST_F(InSituMesh, DISABLED_MappedMeshSourceRoundtrip)
 
     // Point data arrays
     vtkDataArray* pointDoubleArray = output->GetPointData()->GetScalars("PointDoubleProperty");
-    ASSERT_EQ(pointDoubleArray->GetSize(), mesh->getNNodes());
+    ASSERT_EQ(pointDoubleArray->GetSize(), mesh->getNumberOfNodes());
     ASSERT_EQ(pointDoubleArray->GetComponent(0, 0), 1.0);
     double* range = pointDoubleArray->GetRange(0);
     ASSERT_EQ(range[0], 1.0);
-    ASSERT_EQ(range[1], 1.0 + mesh->getNNodes() - 1.0);
+    ASSERT_EQ(range[1], 1.0 + mesh->getNumberOfNodes() - 1.0);
 
     vtkDataArray* pointIntArray = output->GetPointData()->GetScalars("PointIntProperty");
-    ASSERT_EQ(pointIntArray->GetSize(), mesh->getNNodes());
+    ASSERT_EQ(pointIntArray->GetSize(), mesh->getNumberOfNodes());
     ASSERT_EQ(pointIntArray->GetComponent(0, 0), 1.0);
     range = pointIntArray->GetRange(0);
     ASSERT_EQ(range[0], 1.0);
-    ASSERT_EQ(range[1], 1 + mesh->getNNodes() - 1);
+    ASSERT_EQ(range[1], 1 + mesh->getNumberOfNodes() - 1);
 
     vtkDataArray* pointUnsignedArray = output->GetPointData()->GetScalars("PointUnsignedProperty");
-    ASSERT_EQ(pointUnsignedArray->GetSize(), mesh->getNNodes());
+    ASSERT_EQ(pointUnsignedArray->GetSize(), mesh->getNumberOfNodes());
     ASSERT_EQ(pointUnsignedArray->GetComponent(0, 0), 1.0);
     range = pointUnsignedArray->GetRange(0);
     ASSERT_EQ(range[0], 1.0);
-    ASSERT_EQ(range[1], 1 + mesh->getNNodes() - 1);
+    ASSERT_EQ(range[1], 1 + mesh->getNumberOfNodes() - 1);
 
     // Cell data arrays
     vtkDataArray* cellDoubleArray = output->GetCellData()->GetScalars("CellDoubleProperty");
-    ASSERT_EQ(cellDoubleArray->GetSize(), mesh->getNElements());
+    ASSERT_EQ(cellDoubleArray->GetSize(), mesh->getNumberOfElements());
     ASSERT_EQ(cellDoubleArray->GetComponent(0, 0), 1.0);
     range = cellDoubleArray->GetRange(0);
     ASSERT_EQ(range[0], 1.0);
-    ASSERT_EQ(range[1], 1.0 + mesh->getNElements() - 1.0);
+    ASSERT_EQ(range[1], 1.0 + mesh->getNumberOfElements() - 1.0);
 
     vtkDataArray* cellIntArray = output->GetCellData()->GetScalars("CellIntProperty");
-    ASSERT_EQ(cellIntArray->GetSize(), mesh->getNElements());
+    ASSERT_EQ(cellIntArray->GetSize(), mesh->getNumberOfElements());
     ASSERT_EQ(cellIntArray->GetComponent(0, 0), 1.0);
     range = cellIntArray->GetRange(0);
     ASSERT_EQ(range[0], 1.0);
-    ASSERT_EQ(range[1], 1 + mesh->getNElements() - 1);
+    ASSERT_EQ(range[1], 1 + mesh->getNumberOfElements() - 1);
 
     vtkDataArray* cellUnsignedArray = output->GetCellData()->GetScalars("CellUnsignedProperty");
-    ASSERT_EQ(cellUnsignedArray->GetSize(), mesh->getNElements());
+    ASSERT_EQ(cellUnsignedArray->GetSize(), mesh->getNumberOfElements());
     ASSERT_EQ(cellUnsignedArray->GetComponent(0, 0), 1.0);
     range = cellUnsignedArray->GetRange(0);
     ASSERT_EQ(range[0], 1.0);
-    ASSERT_EQ(range[1], 1 + mesh->getNElements() - 1);
+    ASSERT_EQ(range[1], 1 + mesh->getNumberOfElements() - 1);
 
     // -- Write VTK mesh to file (in all combinations of binary, appended and compressed)
     // atm vtkXMLWriter::Appended does not work, see http://www.paraview.org/Bug/view.php?id=13382
@@ -242,8 +242,8 @@ TEST_F(InSituMesh, DISABLED_MappedMeshSourceRoundtrip)
 
             // Both OGS meshes should be identical
             auto newMesh = std::unique_ptr<MeshLib::Mesh>{MeshLib::VtkMeshConverter::convertUnstructuredGrid(vtkMesh)};
-            ASSERT_EQ(mesh->getNNodes(), newMesh->getNNodes());
-            ASSERT_EQ(mesh->getNElements(), newMesh->getNElements());
+            ASSERT_EQ(mesh->getNumberOfNodes(), newMesh->getNumberOfNodes());
+            ASSERT_EQ(mesh->getNumberOfElements(), newMesh->getNumberOfElements());
 
             // Both properties should be identical
             auto meshProperties = mesh->getProperties();
diff --git a/Tests/MeshLib/TestVtkMappedPropertyVector.cpp b/Tests/MeshLib/TestVtkMappedPropertyVector.cpp
index 4760ac9365c144bac270e565af3940fbc329bdef..b05e1041c83267ade461dda5de70769513a6c26e 100644
--- a/Tests/MeshLib/TestVtkMappedPropertyVector.cpp
+++ b/Tests/MeshLib/TestVtkMappedPropertyVector.cpp
@@ -49,7 +49,7 @@ TEST(MeshLibMappedPropertyVector, Double)
     ASSERT_EQ(dataArray->GetValueReference(0), 1.0);
     double* range = dataArray->GetRange(0);
     ASSERT_EQ(range[0], 1.0);
-    ASSERT_EQ(range[1], 1.0 + mesh->getNElements() - 1.0);
+    ASSERT_EQ(range[1], 1.0 + mesh->getNumberOfElements() - 1.0);
 
     delete mesh;
 }
@@ -81,7 +81,7 @@ TEST(MeshLibMappedPropertyVector, Int)
     ASSERT_EQ(dataArray->GetValueReference(0), -5);
     double* range = dataArray->GetRange(0);
     ASSERT_EQ(-5.0, range[0]);
-    ASSERT_EQ(-5.0 + static_cast<double>(mesh->getNElements()) - 1.0, range[1]);
+    ASSERT_EQ(-5.0 + static_cast<double>(mesh->getNumberOfElements()) - 1.0, range[1]);
 
     delete mesh;
 }
@@ -113,7 +113,7 @@ TEST(MeshLibMappedPropertyVector, Unsigned)
     ASSERT_EQ(dataArray->GetValueReference(0), 0);
     double* range = dataArray->GetRange(0);
     ASSERT_EQ(range[0], 0);
-    ASSERT_EQ(range[1], 0 + mesh->getNElements() - 1);
+    ASSERT_EQ(range[1], 0 + mesh->getNumberOfElements() - 1);
 
     delete mesh;
 }
diff --git a/Tests/MeshLib/TestVtkMeshConverter.cpp b/Tests/MeshLib/TestVtkMeshConverter.cpp
index 0629b473c10336c9405677fb27e8c05a2f605b8c..9a7e40c55634b632856c9416015d105eb4421bb4 100644
--- a/Tests/MeshLib/TestVtkMeshConverter.cpp
+++ b/Tests/MeshLib/TestVtkMeshConverter.cpp
@@ -95,8 +95,8 @@ TEST_F(TestVtkMeshConverter, Conversion)
 {
     auto mesh = std::unique_ptr<MeshLib::Mesh>(
         MeshLib::VtkMeshConverter::convertUnstructuredGrid(vtu));
-    ASSERT_EQ(mesh->getNNodes(), vtu->GetNumberOfPoints());
-    ASSERT_EQ(mesh->getNElements(), vtu->GetNumberOfCells());
+    ASSERT_EQ(mesh->getNumberOfNodes(), vtu->GetNumberOfPoints());
+    ASSERT_EQ(mesh->getNumberOfElements(), vtu->GetNumberOfCells());
     ASSERT_EQ(mesh->getElement(0)->getCellType(), MeshLib::CellType::HEX8);
 
     auto meshProperties = mesh->getProperties();
diff --git a/Tests/NumLib/LocalToGlobalIndexMap.cpp b/Tests/NumLib/LocalToGlobalIndexMap.cpp
index 2105ab2404888dcf2436e25eab7f45b4fb5a702c..3131441b692f2ffbb0675fe9b15e933379ccd197 100644
--- a/Tests/NumLib/LocalToGlobalIndexMap.cpp
+++ b/Tests/NumLib/LocalToGlobalIndexMap.cpp
@@ -62,7 +62,7 @@ TEST_F(NumLibLocalToGlobalIndexMapTest, DISABLED_NumberOfRowsByComponent)
 
     // There must be as many rows as nodes in the input times the number of
     // components.
-    ASSERT_EQ(mesh->getNNodes() * components_size, dof_map->dofSizeWithGhosts());
+    ASSERT_EQ(mesh->getNumberOfNodes() * components_size, dof_map->dofSizeWithGhosts());
 }
 
 #ifndef USE_PETSC
@@ -80,7 +80,7 @@ TEST_F(NumLibLocalToGlobalIndexMapTest, DISABLED_NumberOfRowsByLocation)
 
     // There must be as many rows as nodes in the input times the number of
     // components.
-    ASSERT_EQ(mesh->getNNodes() * components_size, dof_map->dofSizeWithGhosts());
+    ASSERT_EQ(mesh->getNumberOfNodes() * components_size, dof_map->dofSizeWithGhosts());
 }
 
 #ifndef USE_PETSC
diff --git a/Tests/NumLib/LocalToGlobalIndexMapMultiComponent.cpp b/Tests/NumLib/LocalToGlobalIndexMapMultiComponent.cpp
index 7be34c60b3b4430e63166f4ff1c1b62141bd8ca4..09a4b10946b4a4a289d81818ff8ecf70e789dfe4 100644
--- a/Tests/NumLib/LocalToGlobalIndexMapMultiComponent.cpp
+++ b/Tests/NumLib/LocalToGlobalIndexMapMultiComponent.cpp
@@ -152,7 +152,7 @@ void NumLibLocalToGlobalIndexMapMultiDOFTest::test(
     initComponents(num_components, selected_component, ComponentOrder);
 
     ASSERT_EQ(dof_map->getNumComponents(), num_components);
-    ASSERT_EQ(dof_map->size(), mesh->getNElements());
+    ASSERT_EQ(dof_map->size(), mesh->getNumberOfElements());
 
     ASSERT_EQ(dof_map_boundary->getNumComponents(), 1);
     ASSERT_EQ(dof_map_boundary->size(), boundary_elements.size());
@@ -160,7 +160,7 @@ void NumLibLocalToGlobalIndexMapMultiDOFTest::test(
     // check mesh elements
     for (unsigned e=0; e<dof_map->size(); ++e)
     {
-        auto const element_nodes_size = mesh->getElement(e)->getNNodes();
+        auto const element_nodes_size = mesh->getElement(e)->getNumberOfNodes();
         auto const ptr_element_nodes = mesh->getElement(e)->getNodes();
 
         for (unsigned c=0; c<dof_map->getNumComponents(); ++c)
diff --git a/Tests/NumLib/TestCoordinatesMapping.cpp b/Tests/NumLib/TestCoordinatesMapping.cpp
index 0f99182d3ffda718e0e60132ef61a89a1447b4eb..861e48de3cea88a59759d31a481bb5ee2fc0f174 100644
--- a/Tests/NumLib/TestCoordinatesMapping.cpp
+++ b/Tests/NumLib/TestCoordinatesMapping.cpp
@@ -75,7 +75,7 @@ public:
         vec_eles.push_back(clockwiseEle);
         vec_eles.push_back(zeroVolumeEle);
         for (auto e : vec_eles)
-            for (unsigned i=0; i<e->getNNodes(); i++)
+            for (unsigned i=0; i<e->getNumberOfNodes(); i++)
                 vec_nodes.push_back(e->getNode(i));
     }
 
@@ -305,7 +305,7 @@ TEST(NumLib, FemNaturalCoordinatesMappingLineY)
     double exp_dNdx[2*e_nnodes] = {0, 0, -0.5, 0.5};
     ASSERT_ARRAY_NEAR(exp_dNdx, shape.dNdx.data(), shape.dNdx.size(), eps);
 
-    for (auto n = 0u; n < line->getNNodes(); ++n)
+    for (auto n = 0u; n < line->getNumberOfNodes(); ++n)
         delete line->getNode(n);
     delete line;
 }
diff --git a/Tests/NumLib/TestDistribution.cpp b/Tests/NumLib/TestDistribution.cpp
index 85ec29bfb6d5cf951e109a6d9d4ae91a28928755..e848d00dcf060de030d24de0990583a18125bf62 100644
--- a/Tests/NumLib/TestDistribution.cpp
+++ b/Tests/NumLib/TestDistribution.cpp
@@ -203,8 +203,8 @@ TEST_F(NumLibDistributionQuad, InterpolationSurface)
 {
     const std::vector<std::size_t> vec_point_ids = {{0, 1, 2, 3}};
     const std::vector<double> vec_point_values = {{0., 100., 100., 0.}};
-    std::vector<double> expected(_msh->getNNodes());
-    for (std::size_t i=0; i<_msh->getNNodes(); i++) {
+    std::vector<double> expected(_msh->getNumberOfNodes());
+    for (std::size_t i=0; i<_msh->getNumberOfNodes(); i++) {
         expected[i] = static_cast<double>((i%(_number_of_subdivisions_per_direction+1)) * 10);
     }
 
diff --git a/Tests/NumLib/TestExtrapolation.cpp b/Tests/NumLib/TestExtrapolation.cpp
index 62262b063c27989e86809ce8c70b1ef56bd78ed0..769508122b7cadbb33b121b373899f9736fa13ad 100644
--- a/Tests/NumLib/TestExtrapolation.cpp
+++ b/Tests/NumLib/TestExtrapolation.cpp
@@ -242,7 +242,7 @@ private:
             LocalAssembler, LocalAssemblerData,
             GlobalMatrix, GlobalVector, GlobalDim>;
 
-        _local_assemblers.resize(mesh.getNElements());
+        _local_assemblers.resize(mesh.getNumberOfElements());
 
         LocalDataInitializer initializer(*_dof_table);
 
@@ -330,8 +330,8 @@ TEST(NumLib, DISABLED_Extrapolation)
                     MeshLib::MeshGenerator::generateRegularHexMesh(
                         mesh_length, mesh_elements_in_each_direction));
 
-        auto const nnodes    = mesh->getNNodes();
-        auto const nelements = mesh->getNElements();
+        auto const nnodes    = mesh->getNumberOfNodes();
+        auto const nelements = mesh->getNumberOfElements();
         DBUG("number of nodes: %lu, number of elements: %lu", nnodes, nelements);
 
         TestProcess<GlobalSetup> pcs(*mesh, integration_order);
diff --git a/Tests/NumLib/TestFe.cpp b/Tests/NumLib/TestFe.cpp
index 8b04746d7b6db0a39e7165c6319088e07d79dfdb..6400b86920c351c44545672f0c76f8701843a689 100644
--- a/Tests/NumLib/TestFe.cpp
+++ b/Tests/NumLib/TestFe.cpp
@@ -131,7 +131,7 @@ class NumLibFemIsoTest : public ::testing::Test, public T::TestFeType
         // for destructor
         vec_eles.push_back(mesh_element);
         for (auto e : vec_eles)
-            for (unsigned i=0; i<e->getNNodes(); i++)
+            for (unsigned i=0; i<e->getNumberOfNodes(); i++)
                 vec_nodes.push_back(e->getNode(i));
     }
 
@@ -194,7 +194,7 @@ TYPED_TEST(NumLibFemIsoTest, CheckMassMatrix)
     NodalMatrix M(this->e_nnodes, this->e_nnodes);
     M.setZero();
     ShapeMatricesType shape(this->dim, this->global_dim, this->e_nnodes);
-    for (std::size_t i=0; i < this->integration_method.getNPoints(); i++) {
+    for (std::size_t i=0; i < this->integration_method.getNumberOfPoints(); i++) {
         shape.setZero();
         auto wp = this->integration_method.getWeightedPoint(i);
         fe.template computeShapeFunctions<ShapeMatrixType::N_J>(wp.getCoords(), shape);
@@ -218,7 +218,7 @@ TYPED_TEST(NumLibFemIsoTest, CheckLaplaceMatrix)
     NodalMatrix K(this->e_nnodes, this->e_nnodes);
     K.setZero();
     ShapeMatricesType shape(this->dim, this->global_dim, this->e_nnodes);
-    for (std::size_t i=0; i < this->integration_method.getNPoints(); i++) {
+    for (std::size_t i=0; i < this->integration_method.getNumberOfPoints(); i++) {
         shape.setZero();
         auto wp = this->integration_method.getWeightedPoint(i);
         fe.template computeShapeFunctions<ShapeMatrixType::DNDX>(wp.getCoords(), shape);
@@ -244,7 +244,7 @@ TYPED_TEST(NumLibFemIsoTest, CheckMassLaplaceMatrices)
     NodalMatrix K(this->e_nnodes, this->e_nnodes);
     K.setZero();
     ShapeMatricesType shape(this->dim, this->global_dim, this->e_nnodes);
-    for (std::size_t i=0; i < this->integration_method.getNPoints(); i++) {
+    for (std::size_t i=0; i < this->integration_method.getNumberOfPoints(); i++) {
         shape.setZero();
         auto wp = this->integration_method.getWeightedPoint(i);
         fe.computeShapeFunctions(wp.getCoords(), shape);
@@ -271,8 +271,8 @@ TYPED_TEST(NumLibFemIsoTest, CheckGaussIntegrationLevel)
     NodalMatrix M(this->e_nnodes, this->e_nnodes);
     M.setZero();
     ShapeMatricesType shape(this->dim, this->global_dim, this->e_nnodes);
-    ASSERT_EQ(TestFixture::n_sample_pt_order2, this->integration_method.getNPoints());
-    for (std::size_t i=0; i < this->integration_method.getNPoints(); i++) {
+    ASSERT_EQ(TestFixture::n_sample_pt_order2, this->integration_method.getNumberOfPoints());
+    for (std::size_t i=0; i < this->integration_method.getNumberOfPoints(); i++) {
         shape.setZero();
         auto wp = this->integration_method.getWeightedPoint(i);
         fe.computeShapeFunctions(wp.getCoords(), shape);
@@ -284,8 +284,8 @@ TYPED_TEST(NumLibFemIsoTest, CheckGaussIntegrationLevel)
     // Change gauss quadrature level to 3
     this->integration_method.setIntegrationOrder(3);
     M *= .0;
-    ASSERT_EQ(TestFixture::n_sample_pt_order3, this->integration_method.getNPoints());
-    for (std::size_t i=0; i < this->integration_method.getNPoints(); i++) {
+    ASSERT_EQ(TestFixture::n_sample_pt_order3, this->integration_method.getNumberOfPoints());
+    for (std::size_t i=0; i < this->integration_method.getNumberOfPoints(); i++) {
         shape.setZero();
         auto wp = this->integration_method.getWeightedPoint(i);
         fe.computeShapeFunctions(wp.getCoords(), shape);
diff --git a/Tests/NumLib/TestFemIntegration.cpp b/Tests/NumLib/TestFemIntegration.cpp
index e2cfdacbe422ba6490bbd978f013410735d9a93d..e0721e0a0ee3ab33510888e9552268d077fbad9e 100644
--- a/Tests/NumLib/TestFemIntegration.cpp
+++ b/Tests/NumLib/TestFemIntegration.cpp
@@ -118,16 +118,16 @@ TEST(NumLib, FemIntegrationGaussRegular)
     // check other member functions
     IntegrationGaussRegular<1> q1;
     ASSERT_EQ(2u, q1.getIntegrationOrder());
-    ASSERT_EQ(2u, q1.getNPoints());
+    ASSERT_EQ(2u, q1.getNumberOfPoints());
     q1.setIntegrationOrder(3u);
     ASSERT_EQ(3u, q1.getIntegrationOrder());
-    ASSERT_EQ(3u, q1.getNPoints());
+    ASSERT_EQ(3u, q1.getNumberOfPoints());
     IntegrationGaussRegular<2> q2;
     ASSERT_EQ(2u, q2.getIntegrationOrder());
-    ASSERT_EQ(4u, q2.getNPoints());
+    ASSERT_EQ(4u, q2.getNumberOfPoints());
     IntegrationGaussRegular<3> q3;
     ASSERT_EQ(2u, q3.getIntegrationOrder());
-    ASSERT_EQ(8u, q3.getNPoints());
+    ASSERT_EQ(8u, q3.getNumberOfPoints());
 }
 
 
diff --git a/Tests/NumLib/TestMeshComponentMap.cpp b/Tests/NumLib/TestMeshComponentMap.cpp
index d4ae505f1111e4fe595878d93ee1b6b195847e8e..d5d560711d2db804c0c0898e100271d75dcf3b83 100644
--- a/Tests/NumLib/TestMeshComponentMap.cpp
+++ b/Tests/NumLib/TestMeshComponentMap.cpp
@@ -79,7 +79,7 @@ TEST_F(NumLibMeshComponentMapTest, DISABLED_CheckOrderByComponent)
     cmap = new MeshComponentMap(components,
         NumLib::ComponentOrder::BY_COMPONENT);
 
-    ASSERT_EQ(2 * mesh->getNNodes(), cmap->dofSizeWithGhosts());
+    ASSERT_EQ(2 * mesh->getNumberOfNodes(), cmap->dofSizeWithGhosts());
     for (std::size_t i = 0; i < mesh_size; i++)
     {
         // Test global indices for the different components of the node.
@@ -107,7 +107,7 @@ TEST_F(NumLibMeshComponentMapTest, DISABLED_CheckOrderByLocation)
     cmap = new MeshComponentMap(components,
         NumLib::ComponentOrder::BY_LOCATION);
 
-    ASSERT_EQ(2 * mesh->getNNodes(), cmap->dofSizeWithGhosts());
+    ASSERT_EQ(2 * mesh->getNumberOfNodes(), cmap->dofSizeWithGhosts());
     for (std::size_t i = 0; i < mesh_size; i++)
     {
         // Test global indices for the different components of the node.
diff --git a/Tests/NumLib/TestSerialLinearSolver.cpp b/Tests/NumLib/TestSerialLinearSolver.cpp
index 88e1cbd2e4f2279325a3fe6e56bb5db867583b45..76e7487865ffd710da3edeb656f08b7cd0cd1fbc 100644
--- a/Tests/NumLib/TestSerialLinearSolver.cpp
+++ b/Tests/NumLib/TestSerialLinearSolver.cpp
@@ -79,7 +79,7 @@ TEST(NumLibSerialLinearSolver, Steady2DdiffusionQuadElem)
     using LocalAssembler = Example::LocalAssemblerData<GlobalMatrix, GlobalVector>;
     // Initializer of the local assembler data.
     std::vector<LocalAssembler*> local_assembler_data;
-    local_assembler_data.resize(ex1.msh->getNElements());
+    local_assembler_data.resize(ex1.msh->getNumberOfElements());
 
     auto local_asm_builder =
         [&](std::size_t const id,
diff --git a/Tests/NumLib/TestTimeSteppingIterationNumber.cpp b/Tests/NumLib/TestTimeSteppingIterationNumber.cpp
index f018f14333f1c0a127d1c30ac7df02250903d15b..e38ebc3ab7c37a0806edb2476fa32bcc2a6ef16e 100644
--- a/Tests/NumLib/TestTimeSteppingIterationNumber.cpp
+++ b/Tests/NumLib/TestTimeSteppingIterationNumber.cpp
@@ -121,6 +121,6 @@ TEST(NumLib, TimeSteppingIterationNumberBased2)
     //std::cout << vec_t;
 
     ASSERT_EQ(expected_vec_t.size(), vec_t.size());
-    ASSERT_EQ(1u, alg.getNRepeatedSteps());
+    ASSERT_EQ(1u, alg.getNumberOfRepeatedSteps());
     ASSERT_ARRAY_NEAR(expected_vec_t, vec_t, expected_vec_t.size(), std::numeric_limits<double>::epsilon());
 }
diff --git a/Tests/NumLib/TestVectorMatrixBuilder.cpp b/Tests/NumLib/TestVectorMatrixBuilder.cpp
index dbc1d7811df8ca65e90d58c774836204e245c39f..caf09df16220a8f5f8d27c4fe2a685d7e883a3aa 100644
--- a/Tests/NumLib/TestVectorMatrixBuilder.cpp
+++ b/Tests/NumLib/TestVectorMatrixBuilder.cpp
@@ -87,8 +87,8 @@ TYPED_TEST_P(NumLibVectorMatrixBuilder, DISABLED_createMatrix)
     M* m = Builder::createMatrix(this->cmap->dofSizeWithGhosts());
 
     ASSERT_TRUE(m != nullptr);
-    ASSERT_EQ(this->cmap->dofSizeWithGhosts(), m->getNRows());
-    ASSERT_EQ(this->cmap->dofSizeWithGhosts(), m->getNCols());
+    ASSERT_EQ(this->cmap->dofSizeWithGhosts(), m->getNumberOfRows());
+    ASSERT_EQ(this->cmap->dofSizeWithGhosts(), m->getNumberOfColumns());
 
     delete m;
 }