From a95f563e1859183ef69bfeeadaeb115eaa987895 Mon Sep 17 00:00:00 2001 From: Carlos Roig Date: Mon, 2 Mar 2026 16:16:08 +0100 Subject: [PATCH 1/5] Removing PointsArrayVector explicit cast in geometry --- .../apply_weak_sliding_process.h | 2 +- .../edge_cable_element_process.h | 4 ++-- .../empirical_spring_element_process.h | 2 +- .../custom_utilities/hole_cutting_utility.cpp | 8 +++---- ..._new_contact_conditions_mesher_process.hpp | 2 +- .../base_contact_search_process.cpp | 2 +- .../custom_utilities/face_heat_utilities.h | 4 ++-- .../spalart_allmaras_turbulence_model.h | 2 +- .../stokes_initialization_process.h | 2 +- ...ilinos_spalart_allmaras_turbulence_model.h | 4 ++-- .../trilinos_stokes_initialization_process.h | 2 +- .../custom_processes/mmg/mmg_process.cpp | 2 +- .../nodal_values_interpolation_process.cpp | 2 +- .../custom_utilities/cutting_iso_app.h | 12 +++++----- ...atic_tetrahedra_mesh_converter_utility.cpp | 4 ++-- .../local_refine_prism_mesh.hpp | 6 ++--- .../local_refine_tetrahedra_mesh.hpp | 4 ++-- .../local_refine_triangle_mesh.hpp | 8 +++---- .../local_refine_triangle_mesh_generic.hpp | 4 ++-- .../custom_utilities/mmg/mmg_utilities.cpp | 16 +++++++------- .../custom_utilities/tetgen_volume_mesher.h | 2 +- .../uniform_refinement_utility.cpp | 22 +++++++++---------- .../external_includes/msuite_pfem_refine.h | 2 +- .../external_includes/tetgen_cdt.h | 2 +- .../external_includes/tetgen_pfem_contact.h | 2 +- .../external_includes/tetgen_pfem_refine.h | 2 +- .../tetgen_pfem_refine_face.h | 2 +- .../tetgen_pfem_refine_vms.h | 2 +- .../external_includes/trigen_cdt.h | 2 +- .../external_includes/trigen_droplet_refine.h | 2 +- .../external_includes/trigen_glass_forming.h | 2 +- .../trigen_mesh_suite_refine.h | 2 +- .../external_includes/trigen_pfem_refine.h | 2 +- .../trigen_pfem_refine_segment.h | 2 +- .../trigen_pfem_refine_vms.h | 2 +- .../add_fixed_velocity_condition.h | 10 ++++----- .../update_thermal_model_part_process.hpp | 2 +- .../custom_utilities/trilinos_cutting_app.h | 6 ++--- .../trilinos_cutting_iso_app.h | 6 ++--- .../custom_utilities/trilinos_refine_mesh.h | 6 ++--- kratos/geometries/geometry.h | 5 ----- kratos/modeler/mesh_suite_modeler.h | 2 +- ...ulate_signed_distance_to_3d_skin_process.h | 6 ++--- ...t_transfer_between_model_parts_process.cpp | 8 +++---- kratos/utilities/cutting_utility.h | 6 ++--- kratos/utilities/quadrature_points_utility.h | 2 +- 46 files changed, 98 insertions(+), 103 deletions(-) diff --git a/applications/CableNetApplication/custom_processes/apply_weak_sliding_process.h b/applications/CableNetApplication/custom_processes/apply_weak_sliding_process.h index d395fc331035..37e6528dfc79 100644 --- a/applications/CableNetApplication/custom_processes/apply_weak_sliding_process.h +++ b/applications/CableNetApplication/custom_processes/apply_weak_sliding_process.h @@ -132,7 +132,7 @@ class ApplyWeakSlidingProcess const Element& rElem = KratosComponents::Get("WeakSlidingElement3D3N"); Properties::Pointer p_elem_prop = slave_model_part.pGetProperties(mParameters["property_id"].GetInt()); - Element::Pointer pElem = rElem.Create(mCurrentElementId++, triangle_t, p_elem_prop); + Element::Pointer pElem = rElem.Create(mCurrentElementId++, triangle_t.Points(), p_elem_prop); mrModelPart.AddElement(pElem); } diff --git a/applications/CableNetApplication/custom_processes/edge_cable_element_process.h b/applications/CableNetApplication/custom_processes/edge_cable_element_process.h index ae87423cb5f0..df6aa89433e6 100644 --- a/applications/CableNetApplication/custom_processes/edge_cable_element_process.h +++ b/applications/CableNetApplication/custom_processes/edge_cable_element_process.h @@ -128,13 +128,13 @@ class EdgeCableElementProcess if (mParameters["element_type"].GetString() == "cable") { const Element& rElem = KratosComponents::Get("SlidingCableElement3D3N"); - Element::Pointer pElem = rElem.Create(new_element_id, line_t, p_elem_prop); + Element::Pointer pElem = rElem.Create(new_element_id, line_t.Points(), p_elem_prop); mrModelPart.AddElement(pElem); } else if (mParameters["element_type"].GetString() == "ring") { const Element& rElem = KratosComponents::Get("RingElement3D4N"); - Element::Pointer pElem = rElem.Create(new_element_id, line_t, p_elem_prop); + Element::Pointer pElem = rElem.Create(new_element_id, line_t.Points(), p_elem_prop); mrModelPart.AddElement(pElem); } else KRATOS_ERROR << "element type :" << mParameters["element_type"].GetString() << " not available for sliding process" << std::endl; diff --git a/applications/CableNetApplication/custom_processes/empirical_spring_element_process.h b/applications/CableNetApplication/custom_processes/empirical_spring_element_process.h index 70e462195107..e36c992afcc5 100644 --- a/applications/CableNetApplication/custom_processes/empirical_spring_element_process.h +++ b/applications/CableNetApplication/custom_processes/empirical_spring_element_process.h @@ -124,7 +124,7 @@ class EmpiricalSpringElementProcess const Element& rElem = KratosComponents::Get("EmpiricalSpringElement3D2N"); - Element::Pointer pElem = rElem.Create(new_element_id, line_t, p_elem_prop); + Element::Pointer pElem = rElem.Create(new_element_id, line_t.Points(), p_elem_prop); mrModelPart.AddElement(pElem); diff --git a/applications/ChimeraApplication/custom_utilities/hole_cutting_utility.cpp b/applications/ChimeraApplication/custom_utilities/hole_cutting_utility.cpp index e674660ed78c..643f3b32e770 100644 --- a/applications/ChimeraApplication/custom_utilities/hole_cutting_utility.cpp +++ b/applications/ChimeraApplication/custom_utilities/hole_cutting_utility.cpp @@ -270,7 +270,7 @@ void ChimeraHoleCuttingUtility::ExtractBoundaryMesh(ModelPart& rVolumeModelPart, // Skin edges are added as conditions Line2D2 line1(pnode1, pnode2); Condition::Pointer p_condition1 = - r_ref_line_condition.Create(id_condition++, line1, properties); + r_ref_line_condition.Create(id_condition++, line1.Points(), properties); rExtractedBoundaryModelPart.Conditions().push_back(p_condition1); } // If skin face is a triangle store triangle in with its original @@ -296,7 +296,7 @@ void ChimeraHoleCuttingUtility::ExtractBoundaryMesh(ModelPart& rVolumeModelPart, // Skin faces are added as conditions Triangle3D3 triangle1(pnode1, pnode2, pnode3); Condition::Pointer p_condition1 = r_ref_triangle_condition.Create( - id_condition++, triangle1, properties); + id_condition++, triangle1.Points(), properties); rExtractedBoundaryModelPart.Conditions().push_back(p_condition1); } // If skin face is a quadrilateral then divide in two triangles and @@ -326,13 +326,13 @@ void ChimeraHoleCuttingUtility::ExtractBoundaryMesh(ModelPart& rVolumeModelPart, // Add triangle one as condition Triangle3D3 triangle1(pnode1, pnode2, pnode3); Condition::Pointer p_condition1 = r_ref_triangle_condition.Create( - id_condition++, triangle1, properties); + id_condition++, triangle1.Points(), properties); rExtractedBoundaryModelPart.Conditions().push_back(p_condition1); // Add triangle two as condition Triangle3D3 triangle2(pnode1, pnode3, pnode4); Condition::Pointer p_condition2 = r_ref_triangle_condition.Create( - id_condition++, triangle2, properties); + id_condition++, triangle2.Points(), properties); rExtractedBoundaryModelPart.Conditions().push_back(p_condition2); } } diff --git a/applications/ContactMechanicsApplication/custom_processes/generate_new_contact_conditions_mesher_process.hpp b/applications/ContactMechanicsApplication/custom_processes/generate_new_contact_conditions_mesher_process.hpp index 5b5632b80016..9768ce44cb80 100644 --- a/applications/ContactMechanicsApplication/custom_processes/generate_new_contact_conditions_mesher_process.hpp +++ b/applications/ContactMechanicsApplication/custom_processes/generate_new_contact_conditions_mesher_process.hpp @@ -183,7 +183,7 @@ namespace Kratos id += 1; - Condition::Pointer pContactCondition = rReferenceCondition.Create(id, Vertices, pProperties); + Condition::Pointer pContactCondition = rReferenceCondition.Create(id, Vertices.Points(), pProperties); //search the model part condition associated to this contact element MASTER CONDITION diff --git a/applications/ContactStructuralMechanicsApplication/custom_processes/base_contact_search_process.cpp b/applications/ContactStructuralMechanicsApplication/custom_processes/base_contact_search_process.cpp index 8c17fc9ecb62..7cfa5c7d8c34 100644 --- a/applications/ContactStructuralMechanicsApplication/custom_processes/base_contact_search_process.cpp +++ b/applications/ContactStructuralMechanicsApplication/custom_processes/base_contact_search_process.cpp @@ -381,7 +381,7 @@ void BaseContactSearchProcess::CheckContactMod r_cond.Set(TO_ERASE, true); // Creating new condition - Condition::Pointer p_new_cond = r_cond.Clone(total_number_conditions + r_cond.Id(), r_cond.GetGeometry()); + Condition::Pointer p_new_cond = r_cond.Clone(total_number_conditions + r_cond.Id(), r_cond.GetGeometry().Points()); auxiliary_conditions_vector.push_back(p_new_cond); p_new_cond->SetData(r_cond.GetData()); // TODO: Remove when fixed on the core diff --git a/applications/ConvectionDiffusionApplication/custom_utilities/face_heat_utilities.h b/applications/ConvectionDiffusionApplication/custom_utilities/face_heat_utilities.h index ba57ae73a496..d0c822ef737d 100644 --- a/applications/ConvectionDiffusionApplication/custom_utilities/face_heat_utilities.h +++ b/applications/ConvectionDiffusionApplication/custom_utilities/face_heat_utilities.h @@ -74,7 +74,7 @@ class FaceHeatUtilities { Geometry< Node >& geom = iii->GetGeometry(); Properties::Pointer properties = iii->pGetProperties(); - Element::Pointer p_element = rReferenceElement.Create(id, geom ,properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points() ,properties); DestinationModelPart.Elements().push_back(p_element); id = id + 1; } @@ -92,7 +92,7 @@ class FaceHeatUtilities if(nfree_surf > 1) { Properties::Pointer properties = iii->pGetProperties(); - Condition::Pointer p_condition = rReferenceBoundaryCondition.Create(id, geom,properties); + Condition::Pointer p_condition = rReferenceBoundaryCondition.Create(id, geom.Points(), properties); DestinationModelPart.Conditions().push_back(p_condition); id = id + 1; } diff --git a/applications/FluidDynamicsApplication/custom_processes/spalart_allmaras_turbulence_model.h b/applications/FluidDynamicsApplication/custom_processes/spalart_allmaras_turbulence_model.h index c599185b2dd7..88c5b08f4c09 100644 --- a/applications/FluidDynamicsApplication/custom_processes/spalart_allmaras_turbulence_model.h +++ b/applications/FluidDynamicsApplication/custom_processes/spalart_allmaras_turbulence_model.h @@ -154,7 +154,7 @@ class SpalartAllmarasTurbulenceModel : public Process for (ModelPart::ElementsContainerType::iterator iii = mr_model_part.ElementsBegin(); iii != mr_model_part.ElementsEnd(); iii++) { Properties::Pointer properties = iii->pGetProperties(); - Element::Pointer p_element = rReferenceElement.Create(iii->Id(), iii->GetGeometry(), properties); + Element::Pointer p_element = rReferenceElement.Create(iii->Id(), iii->GetGeometry().Points(), properties); mrSpalartModelPart.Elements().push_back(p_element); } diff --git a/applications/FluidDynamicsApplication/custom_processes/stokes_initialization_process.h b/applications/FluidDynamicsApplication/custom_processes/stokes_initialization_process.h index 6e78eacc6d00..80353be69ffc 100644 --- a/applications/FluidDynamicsApplication/custom_processes/stokes_initialization_process.h +++ b/applications/FluidDynamicsApplication/custom_processes/stokes_initialization_process.h @@ -101,7 +101,7 @@ class StokesInitializationProcess : public Process // Generate Stokes elements for (ModelPart::ElementsContainerType::const_iterator itElem = mrReferenceModelPart.ElementsBegin(); itElem != mrReferenceModelPart.ElementsEnd(); itElem++) { - Element::Pointer pElem = rReferenceElement.Create(itElem->Id(), itElem->GetGeometry(), itElem->pGetProperties() ); + Element::Pointer pElem = rReferenceElement.Create(itElem->Id(), itElem->GetGeometry().Points(), itElem->pGetProperties() ); r_stokes_part.Elements().push_back(pElem); } diff --git a/applications/FluidDynamicsApplication/trilinos_extension/custom_processes/trilinos_spalart_allmaras_turbulence_model.h b/applications/FluidDynamicsApplication/trilinos_extension/custom_processes/trilinos_spalart_allmaras_turbulence_model.h index 94e4b1e4bfaf..e3513a7baf8b 100644 --- a/applications/FluidDynamicsApplication/trilinos_extension/custom_processes/trilinos_spalart_allmaras_turbulence_model.h +++ b/applications/FluidDynamicsApplication/trilinos_extension/custom_processes/trilinos_spalart_allmaras_turbulence_model.h @@ -153,7 +153,7 @@ class TrilinosSpalartAllmarasTurbulenceModel : public SpalartAllmarasTurbulenceM for (ModelPart::ElementsContainerType::iterator iii = BaseSpAlType::mr_model_part.ElementsBegin(); iii != BaseSpAlType::mr_model_part.ElementsEnd(); iii++) { Properties::Pointer properties = iii->pGetProperties(); - Element::Pointer p_element = rReferenceElement.Create(iii->Id(), iii->GetGeometry(), properties); + Element::Pointer p_element = rReferenceElement.Create(iii->Id(), iii->GetGeometry().Points(), properties); BaseSpAlType::mrSpalartModelPart.Elements().push_back(p_element); } @@ -167,7 +167,7 @@ class TrilinosSpalartAllmarasTurbulenceModel : public SpalartAllmarasTurbulenceM for (ModelPart::ConditionsContainerType::iterator iii = BaseSpAlType::mr_model_part.ConditionsBegin(); iii != BaseSpAlType::mr_model_part.ConditionsEnd(); iii++) { Properties::Pointer properties = iii->pGetProperties(); - Condition::Pointer p_condition = rReferenceCondition.Create(iii->Id(), iii->GetGeometry(), properties); + Condition::Pointer p_condition = rReferenceCondition.Create(iii->Id(), iii->GetGeometry().Points(), properties); BaseSpAlType::mrSpalartModelPart.Conditions().push_back(p_condition); } diff --git a/applications/FluidDynamicsApplication/trilinos_extension/custom_processes/trilinos_stokes_initialization_process.h b/applications/FluidDynamicsApplication/trilinos_extension/custom_processes/trilinos_stokes_initialization_process.h index 86b3ab6b4921..c90acf25a0cd 100644 --- a/applications/FluidDynamicsApplication/trilinos_extension/custom_processes/trilinos_stokes_initialization_process.h +++ b/applications/FluidDynamicsApplication/trilinos_extension/custom_processes/trilinos_stokes_initialization_process.h @@ -120,7 +120,7 @@ class TrilinosStokesInitializationProcess : public StokesInitializationProcess< // Generate Stokes elements for (ModelPart::ElementsContainerType::iterator itElem = rReferenceModelPart.ElementsBegin(); itElem != rReferenceModelPart.ElementsEnd(); itElem++) { - Element::Pointer pElem = rReferenceElement.Create(itElem->Id(), itElem->GetGeometry(), itElem->pGetProperties() ); + Element::Pointer pElem = rReferenceElement.Create(itElem->Id(), itElem->GetGeometry().Points(), itElem->pGetProperties() ); rStokesModelPart.Elements().push_back(pElem); rStokesModelPart.GetCommunicator().LocalMesh().Elements().push_back(pElem); } diff --git a/applications/MeshingApplication/custom_processes/mmg/mmg_process.cpp b/applications/MeshingApplication/custom_processes/mmg/mmg_process.cpp index 52ddae034c1b..f1cce2012b6d 100755 --- a/applications/MeshingApplication/custom_processes/mmg/mmg_process.cpp +++ b/applications/MeshingApplication/custom_processes/mmg/mmg_process.cpp @@ -1054,7 +1054,7 @@ void MmgProcess::ExtrudeTrianglestoPrisms(ModelPart& rOldModelPart) const GeometryType& r_geometry = r_elem.GetGeometry(); if (r_geometry.GetGeometryType() == GeometryData::KratosGeometryType::Kratos_Prism3D6) { - p_reference_element = r_elem.Create(0, r_elem.GetGeometry(), r_elem.pGetProperties()); + p_reference_element = r_elem.Create(0, r_elem.GetGeometry().Points(), r_elem.pGetProperties()); break; } } diff --git a/applications/MeshingApplication/custom_processes/nodal_values_interpolation_process.cpp b/applications/MeshingApplication/custom_processes/nodal_values_interpolation_process.cpp index 029e194b8676..f586d4962f88 100755 --- a/applications/MeshingApplication/custom_processes/nodal_values_interpolation_process.cpp +++ b/applications/MeshingApplication/custom_processes/nodal_values_interpolation_process.cpp @@ -219,7 +219,7 @@ void NodalValuesInterpolationProcess::GenerateBoundaryFromElements( auto& r_elements_array = rModelPart.Elements(); for(IndexType i=0; i< r_elements_array.size(); ++i) { auto it_elem = r_elements_array.begin() + i; - r_new_model_part.CreateNewCondition("SurfaceCondition3D3N", new_id + 1, it_elem->GetGeometry(), it_elem->pGetProperties()); + r_new_model_part.CreateNewCondition("SurfaceCondition3D3N", new_id + 1, it_elem->GetGeometry().Points(), it_elem->pGetProperties()); ++new_id; } } diff --git a/applications/MeshingApplication/custom_utilities/cutting_iso_app.h b/applications/MeshingApplication/custom_utilities/cutting_iso_app.h index 106490a2d7ac..913e6a398220 100644 --- a/applications/MeshingApplication/custom_utilities/cutting_iso_app.h +++ b/applications/MeshingApplication/custom_utilities/cutting_iso_app.h @@ -203,7 +203,7 @@ class Cutting_Isosurface_Application new_model_part.Nodes()(tetrahedra_nodes[3]) ); - Element::Pointer p_element = rReferenceElement.Create(number_of_tetrahedras+1, geometry, properties); + Element::Pointer p_element = rReferenceElement.Create(number_of_tetrahedras+1, geometry.Points(), properties); new_model_part.Elements().push_back(p_element); ++number_of_tetrahedras; } @@ -315,7 +315,7 @@ class Cutting_Isosurface_Application new_model_part.Nodes()(triangle_nodes[1]), new_model_part.Nodes()(triangle_nodes[2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1, geometry, properties); //está bien? acá la verdad ni idea. sobre todo number_of_triangles (la posición). o debe ser un puntero de elemento en vez de un entero? + Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1, geometry.Points(), properties); //está bien? acá la verdad ni idea. sobre todo number_of_triangles (la posición). o debe ser un puntero de elemento en vez de un entero? new_model_part.Conditions().push_back(p_condition); ++number_of_triangles; } @@ -1017,7 +1017,7 @@ class Cutting_Isosurface_Application new_model_part.Nodes()(TriangleNodesArray[2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom, properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes + Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom.Points(), properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes new_model_part.Conditions().push_back(p_condition); ++number_of_triangles; @@ -1182,7 +1182,7 @@ class Cutting_Isosurface_Application new_model_part.Nodes()(nodes_for_2triang[index*3+2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom.Points(), properties); new_model_part.Conditions().push_back(p_condition); ++number_of_triangles; @@ -1360,7 +1360,7 @@ class Cutting_Isosurface_Application new_model_part.Nodes()(TriangleNodesArray[2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom, properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes + Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom.Points(), properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes new_model_part.Conditions().push_back(p_condition); ++number_of_triangles; @@ -1495,7 +1495,7 @@ class Cutting_Isosurface_Application new_model_part.Nodes()(nodes_for_2triang[index*3+2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom.Points(), properties); new_model_part.Conditions().push_back(p_condition); ++number_of_triangles; diff --git a/applications/MeshingApplication/custom_utilities/linear_to_quadratic_tetrahedra_mesh_converter_utility.cpp b/applications/MeshingApplication/custom_utilities/linear_to_quadratic_tetrahedra_mesh_converter_utility.cpp index f48f5c45b2f7..91d46d7308ba 100644 --- a/applications/MeshingApplication/custom_utilities/linear_to_quadratic_tetrahedra_mesh_converter_utility.cpp +++ b/applications/MeshingApplication/custom_utilities/linear_to_quadratic_tetrahedra_mesh_converter_utility.cpp @@ -114,7 +114,7 @@ namespace Kratos { // Generate the new Tetrahedra3D10 element Tetrahedra3D10 geom = GenerateTetrahedra(rThisModelPart, node_ids); Element::Pointer p_element; - p_element = r_elem.Create(it->Id(), geom, it->pGetProperties()); + p_element = r_elem.Create(it->Id(), geom.Points(), it->pGetProperties()); p_element->Initialize(r_current_process_info); p_element->InitializeSolutionStep(r_current_process_info); p_element->FinalizeSolutionStep(r_current_process_info); @@ -215,7 +215,7 @@ namespace Kratos { //Generate the new condition Triangle3D6 geom = GenerateTriangle3D6 (rThisModelPart, node_ids); Condition::Pointer p_cond; - p_cond = r_cond.Create(it->Id(), geom, it->pGetProperties()); + p_cond = r_cond.Create(it->Id(), geom.Points(), it->pGetProperties()); p_cond ->Initialize(r_current_process_info); p_cond ->InitializeSolutionStep(r_current_process_info); p_cond ->FinalizeSolutionStep(r_current_process_info); diff --git a/applications/MeshingApplication/custom_utilities/local_refine_prism_mesh.hpp b/applications/MeshingApplication/custom_utilities/local_refine_prism_mesh.hpp index 600620ead2e4..40ab79f9c117 100644 --- a/applications/MeshingApplication/custom_utilities/local_refine_prism_mesh.hpp +++ b/applications/MeshingApplication/custom_utilities/local_refine_prism_mesh.hpp @@ -238,7 +238,7 @@ class LocalRefinePrismMesh : public LocalRefineGeometryMesh ); Element::Pointer p_element; - p_element = it->Create(current_id, geom, it->pGetProperties()); + p_element = it->Create(current_id, geom.Points(), it->pGetProperties()); p_element->Initialize(rCurrentProcessInfo); p_element->InitializeSolutionStep(rCurrentProcessInfo); p_element->FinalizeSolutionStep(rCurrentProcessInfo); @@ -340,8 +340,8 @@ class LocalRefinePrismMesh : public LocalRefineGeometryMesh this_model_part.Nodes()(geom[1].Id()) ); - Condition::Pointer pcond1 = it->Create(current_id++, newgeom1, it->pGetProperties()); - Condition::Pointer pcond2 = it->Create(current_id++, newgeom2, it->pGetProperties()); + Condition::Pointer pcond1 = it->Create(current_id++, newgeom1.Points(), it->pGetProperties()); + Condition::Pointer pcond2 = it->Create(current_id++, newgeom2.Points(), it->pGetProperties()); pcond1->GetData() = it->GetData(); pcond2->GetData() = it->GetData(); diff --git a/applications/MeshingApplication/custom_utilities/local_refine_tetrahedra_mesh.hpp b/applications/MeshingApplication/custom_utilities/local_refine_tetrahedra_mesh.hpp index 0c4d944fa768..c343e91a9960 100644 --- a/applications/MeshingApplication/custom_utilities/local_refine_tetrahedra_mesh.hpp +++ b/applications/MeshingApplication/custom_utilities/local_refine_tetrahedra_mesh.hpp @@ -254,7 +254,7 @@ class LocalRefineTetrahedraMesh : public LocalRefineGeometryMesh // Generate new element by cloning the base one Element::Pointer p_element; - p_element = it->Create(current_id, geom, it->pGetProperties()); + p_element = it->Create(current_id, geom.Points(), it->pGetProperties()); p_element->Initialize(rCurrentProcessInfo); p_element->InitializeSolutionStep(rCurrentProcessInfo); p_element->FinalizeSolutionStep(rCurrentProcessInfo); @@ -437,7 +437,7 @@ class LocalRefineTetrahedraMesh : public LocalRefineGeometryMesh // Generate new condition by cloning the base one Condition::Pointer pcond; - pcond = it->Create(current_id, newgeom, it->pGetProperties()); + pcond = it->Create(current_id, newgeom.Points(), it->pGetProperties()); pcond ->Initialize(rCurrentProcessInfo); pcond ->InitializeSolutionStep(rCurrentProcessInfo); pcond ->FinalizeSolutionStep(rCurrentProcessInfo); diff --git a/applications/MeshingApplication/custom_utilities/local_refine_triangle_mesh.hpp b/applications/MeshingApplication/custom_utilities/local_refine_triangle_mesh.hpp index 2c35fd12f2a2..c280a822d223 100644 --- a/applications/MeshingApplication/custom_utilities/local_refine_triangle_mesh.hpp +++ b/applications/MeshingApplication/custom_utilities/local_refine_triangle_mesh.hpp @@ -173,8 +173,8 @@ class LocalRefineTriangleMesh : public LocalRefineTriangleMeshGenericCreate(current_id++, newgeom1, it->pGetProperties()); - Condition::Pointer pcond2 = it->Create(current_id++, newgeom2, it->pGetProperties()); + Condition::Pointer pcond1 = it->Create(current_id++, newgeom1.Points(), it->pGetProperties()); + Condition::Pointer pcond2 = it->Create(current_id++, newgeom2.Points(), it->pGetProperties()); pcond1->GetData() = it->GetData(); pcond2->GetData() = it->GetData(); @@ -194,8 +194,8 @@ class LocalRefineTriangleMesh : public LocalRefineTriangleMeshGenericCreate(current_id++, newgeom1, it->pGetProperties()); - Condition::Pointer pcond2 = it->Create(current_id++, newgeom2, it->pGetProperties()); + Condition::Pointer pcond1 = it->Create(current_id++, newgeom1.Points(), it->pGetProperties()); + Condition::Pointer pcond2 = it->Create(current_id++, newgeom2.Points(), it->pGetProperties()); pcond1->GetData() = it->GetData(); pcond2->GetData() = it->GetData(); diff --git a/applications/MeshingApplication/custom_utilities/local_refine_triangle_mesh_generic.hpp b/applications/MeshingApplication/custom_utilities/local_refine_triangle_mesh_generic.hpp index d0a4cbcdac3b..c5ea9331278c 100644 --- a/applications/MeshingApplication/custom_utilities/local_refine_triangle_mesh_generic.hpp +++ b/applications/MeshingApplication/custom_utilities/local_refine_triangle_mesh_generic.hpp @@ -138,7 +138,7 @@ class LocalRefineTriangleMeshGeneric ); typename TGeometricalObjectType::Pointer p_object; - p_object = it->Create(current_id, rGeom, it->pGetProperties()); + p_object = it->Create(current_id, rGeom.Points(), it->pGetProperties()); p_object->Initialize(rCurrentProcessInfo); p_object->InitializeSolutionStep(rCurrentProcessInfo); p_object->FinalizeSolutionStep(rCurrentProcessInfo); @@ -163,7 +163,7 @@ class LocalRefineTriangleMeshGeneric ); typename TGeometricalObjectType::Pointer p_object; - p_object = it->Create(current_id, rGeom, it->pGetProperties()); + p_object = it->Create(current_id, rGeom.Points(), it->pGetProperties()); p_object->Initialize(rCurrentProcessInfo); p_object->InitializeSolutionStep(rCurrentProcessInfo); p_object->FinalizeSolutionStep(rCurrentProcessInfo); diff --git a/applications/MeshingApplication/custom_utilities/mmg/mmg_utilities.cpp b/applications/MeshingApplication/custom_utilities/mmg/mmg_utilities.cpp index d146293f9009..9fb5d143d1c8 100644 --- a/applications/MeshingApplication/custom_utilities/mmg/mmg_utilities.cpp +++ b/applications/MeshingApplication/custom_utilities/mmg/mmg_utilities.cpp @@ -4113,27 +4113,27 @@ void MmgUtilities::GenerateReferenceMaps( if (r_conditions_array.size() > 0) { const std::string type_name = (Dimension == 2) ? "LineCondition2D2N" : (TMMGLibrary == MMGLibrary::MMG3D) ? "SurfaceCondition3D3N" : "LineCondition3D2N"; Condition const& r_clone_condition = KratosComponents::Get(type_name); - rRefCondition[0] = r_clone_condition.Create(0, it_cond_begin->GetGeometry(), it_cond_begin->pGetProperties()); + rRefCondition[0] = r_clone_condition.Create(0, it_cond_begin->GetGeometry().Points(), it_cond_begin->pGetProperties()); } if (r_elements_array.size() > 0) { - rRefElement[0] = it_elem_begin->Create(0, it_elem_begin->GetGeometry(), it_elem_begin->pGetProperties()); + rRefElement[0] = it_elem_begin->Create(0, it_elem_begin->GetGeometry().Points(), it_elem_begin->pGetProperties()); } // Now we add the reference elements and conditions for (auto& ref_cond : rColorMapCondition) { Condition::Pointer p_cond = rModelPart.pGetCondition(ref_cond.second); if (p_cond->GetGeometry().size() > 0) { - rRefCondition[ref_cond.first] = p_cond->Create(0, p_cond->GetGeometry(), p_cond->pGetProperties()); + rRefCondition[ref_cond.first] = p_cond->Create(0, p_cond->GetGeometry().Points(), p_cond->pGetProperties()); } else { - rRefCondition[ref_cond.first] = p_cond->Create(0, rRefCondition[0]->GetGeometry(), p_cond->pGetProperties()); + rRefCondition[ref_cond.first] = p_cond->Create(0, rRefCondition[0]->GetGeometry().Points(), p_cond->pGetProperties()); } } for (auto& ref_elem : rColorMapElement) { Element::Pointer p_elem = rModelPart.pGetElement(ref_elem.second); if (p_elem->GetGeometry().size() > 0) { - rRefElement[ref_elem.first] = p_elem->Create(0, p_elem->GetGeometry(), p_elem->pGetProperties()); + rRefElement[ref_elem.first] = p_elem->Create(0, p_elem->GetGeometry().Points(), p_elem->pGetProperties()); } else { - rRefElement[ref_elem.first] = p_elem->Create(0, rRefElement[0]->GetGeometry(), p_elem->pGetProperties()); + rRefElement[ref_elem.first] = p_elem->Create(0, rRefElement[0]->GetGeometry().Points(), p_elem->pGetProperties()); } } @@ -4144,8 +4144,8 @@ void MmgUtilities::GenerateReferenceMaps( rRefCondition[10] = r_clone_condition.Create(0, r_clone_condition.pGetGeometry(), it_cond_begin->pGetProperties()); // Inside outside elements - rRefElement[2] = it_elem_begin->Create(0, it_elem_begin->GetGeometry(), it_elem_begin->pGetProperties()); - rRefElement[3] = it_elem_begin->Create(0, it_elem_begin->GetGeometry(), it_elem_begin->pGetProperties()); + rRefElement[2] = it_elem_begin->Create(0, it_elem_begin->GetGeometry().Points(), it_elem_begin->pGetProperties()); + rRefElement[3] = it_elem_begin->Create(0, it_elem_begin->GetGeometry().Points(), it_elem_begin->pGetProperties()); } KRATOS_CATCH(""); diff --git a/applications/MeshingApplication/custom_utilities/tetgen_volume_mesher.h b/applications/MeshingApplication/custom_utilities/tetgen_volume_mesher.h index 93fed10e0601..22dc46c0f9f3 100644 --- a/applications/MeshingApplication/custom_utilities/tetgen_volume_mesher.h +++ b/applications/MeshingApplication/custom_utilities/tetgen_volume_mesher.h @@ -233,7 +233,7 @@ class TetgenVolumeMesher *( (nodes_begin + out.tetrahedronlist[base+3]-1).base() ) ); - Element::Pointer p_element = rReferenceElement.Create(i+1, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(i+1, geom.Points(), properties); (mrModelPart.Elements()).push_back(p_element); } diff --git a/applications/MeshingApplication/custom_utilities/uniform_refinement_utility.cpp b/applications/MeshingApplication/custom_utilities/uniform_refinement_utility.cpp index cb901e30244c..312f3a8a5787 100644 --- a/applications/MeshingApplication/custom_utilities/uniform_refinement_utility.cpp +++ b/applications/MeshingApplication/custom_utilities/uniform_refinement_utility.cpp @@ -258,7 +258,7 @@ void UniformRefinementUtility::ExecuteDivision( // Loop the edges to get or create the middle nodes for (auto edge : geom.GenerateEdges()) - middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge}, step_divisions_level, rTagNodes, collection_tag); + middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge.Points()}, step_divisions_level, rTagNodes, collection_tag); // Split the triangle PointerVector sub_element_nodes(3); // a triangle is defined by 3 nodes @@ -276,8 +276,8 @@ void UniformRefinementUtility::ExecuteDivision( // Loop the edges to get or create the middle nodes for (auto edge : geom.GenerateEdges()) - middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge}, step_divisions_level, rTagNodes, collection_tag); - middle_nodes[i_node++] = GetNodeInFace(FaceType{geom}, step_divisions_level, rTagNodes, collection_tag); + middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge.Points()}, step_divisions_level, rTagNodes, collection_tag); + middle_nodes[i_node++] = GetNodeInFace(FaceType{geom.Points()}, step_divisions_level, rTagNodes, collection_tag); // Split the quadrilateral PointerVector sub_element_nodes(4); // a quadrilateral is defined by 4 nodes @@ -295,7 +295,7 @@ void UniformRefinementUtility::ExecuteDivision( // Loop the edges to get or create the middle nodes for (auto edge : geom.GenerateEdges()) - middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge}, step_divisions_level, rTagNodes, collection_tag); + middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge.Points()}, step_divisions_level, rTagNodes, collection_tag); // Split the tetrahedra PointerVector sub_element_nodes(4); // a tetrahedra is defined by 4 nodes @@ -313,10 +313,10 @@ void UniformRefinementUtility::ExecuteDivision( // Loop the edges to get or create the middle nodes for (auto edge : geom.GenerateEdges()) - middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge}, step_divisions_level, rTagNodes, collection_tag); + middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge.Points()}, step_divisions_level, rTagNodes, collection_tag); for (auto face : geom.GenerateFaces()) - middle_nodes[i_node++] = GetNodeInFace(FaceType{face}, step_divisions_level, rTagNodes, collection_tag); - middle_nodes[i_node++] = GetNodeInBody(BodyType{geom}, step_divisions_level, rTagNodes,collection_tag); + middle_nodes[i_node++] = GetNodeInFace(FaceType{face.Points()}, step_divisions_level, rTagNodes, collection_tag); + middle_nodes[i_node++] = GetNodeInBody(BodyType{geom.Points()}, step_divisions_level, rTagNodes,collection_tag); // Split the hexahedra PointerVector sub_element_nodes(8); // an hexahedra is defined by 8 nodes @@ -353,7 +353,7 @@ void UniformRefinementUtility::ExecuteDivision( if (geom.GetGeometryType() == GeometryData::KratosGeometryType::Kratos_Line2D2) { - NodeType::Pointer middle_node = GetNodeInEdge(EdgeType{geom}, step_divisions_level, rTagNodes, collection_tag); + NodeType::Pointer middle_node = GetNodeInEdge(EdgeType{geom.Points()}, step_divisions_level, rTagNodes, collection_tag); // Create the sub conditions PointerVector sub_condition_nodes(2); @@ -370,7 +370,7 @@ void UniformRefinementUtility::ExecuteDivision( std::vector middle_nodes(3); // Loop the edges to get or create the middle nodes for (auto edge : geom.GenerateEdges()) - middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge}, step_divisions_level, rTagNodes, collection_tag); + middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge.Points()}, step_divisions_level, rTagNodes, collection_tag); PointerVector sub_condition_nodes(3); // a triangle is defined by 3 nodes for (int position = 0; position < 4; position++) // there are 4 sub triangles @@ -386,8 +386,8 @@ void UniformRefinementUtility::ExecuteDivision( std::vector middle_nodes(5); // Loop the edges to get or create the middle nodes for (auto edge : geom.GenerateEdges()) - middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge}, step_divisions_level, rTagNodes, collection_tag); - middle_nodes[i_node++] = GetNodeInFace(FaceType{geom}, step_divisions_level, rTagNodes, collection_tag); + middle_nodes[i_node++] = GetNodeInEdge(EdgeType{edge.Points()}, step_divisions_level, rTagNodes, collection_tag); + middle_nodes[i_node++] = GetNodeInFace(FaceType{geom.Points()}, step_divisions_level, rTagNodes, collection_tag); PointerVector sub_condition_nodes(4); // a quadrilateral is defined by 4 nodes for (int position = 0; position < 4; position++) // there are 4 sub quadrilaterals diff --git a/applications/MeshingApplication/external_includes/msuite_pfem_refine.h b/applications/MeshingApplication/external_includes/msuite_pfem_refine.h index 0155bfc5e282..f061991b7cfa 100644 --- a/applications/MeshingApplication/external_includes/msuite_pfem_refine.h +++ b/applications/MeshingApplication/external_includes/msuite_pfem_refine.h @@ -349,7 +349,7 @@ class MSuitePFEMModeler *((nodes_begin + ei[1]).base()), *((nodes_begin + ei[0]).base()) ); - Condition::Pointer p_cond = rReferenceBoundaryCondition.Create(id, geom, properties); + Condition::Pointer p_cond = rReferenceBoundaryCondition.Create(id, geom.Points(), properties); (ThisModelPart.Conditions()).push_back(p_cond); } diff --git a/applications/MeshingApplication/external_includes/tetgen_cdt.h b/applications/MeshingApplication/external_includes/tetgen_cdt.h index 4a52094bf571..3fdd2a961da5 100644 --- a/applications/MeshingApplication/external_includes/tetgen_cdt.h +++ b/applications/MeshingApplication/external_includes/tetgen_cdt.h @@ -495,7 +495,7 @@ namespace Kratos Tetrahedra3D4 geom( pn1,pn2,pn3,pn4 ); - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); (rModelPart.Elements()).push_back(p_element); } diff --git a/applications/MeshingApplication/external_includes/tetgen_pfem_contact.h b/applications/MeshingApplication/external_includes/tetgen_pfem_contact.h index 68522d78ee58..b8e07e94ee75 100644 --- a/applications/MeshingApplication/external_includes/tetgen_pfem_contact.h +++ b/applications/MeshingApplication/external_includes/tetgen_pfem_contact.h @@ -228,7 +228,7 @@ class TetGenPfemContact ); //KRATOS_WATCH(geom); //KRATOS_WATCH("AFTER GEOM"); - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); p_element->GetValue(IS_FLUID) = 10; //before IS_CONTACT_MASTER p_element->GetValue(IS_WATER_ELEMENT) = -10.0; //KRATOS_WATCH("inside 12"); diff --git a/applications/MeshingApplication/external_includes/tetgen_pfem_refine.h b/applications/MeshingApplication/external_includes/tetgen_pfem_refine.h index 6b1f2f3e3573..49e469350de8 100644 --- a/applications/MeshingApplication/external_includes/tetgen_pfem_refine.h +++ b/applications/MeshingApplication/external_includes/tetgen_pfem_refine.h @@ -754,7 +754,7 @@ ModelPart::NodesContainerType& ModelNodes = ThisModelPart.Nodes(); KRATOS_THROW_ERROR(std::logic_error,"trying to use an inexisting node",""); #endif - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); (ThisModelPart.Elements()).push_back(p_element); } diff --git a/applications/MeshingApplication/external_includes/tetgen_pfem_refine_face.h b/applications/MeshingApplication/external_includes/tetgen_pfem_refine_face.h index 20edc8adffc2..3c84e87d022f 100755 --- a/applications/MeshingApplication/external_includes/tetgen_pfem_refine_face.h +++ b/applications/MeshingApplication/external_includes/tetgen_pfem_refine_face.h @@ -828,7 +828,7 @@ class TetGenPfemRefineFace KRATOS_THROW_ERROR(std::logic_error,"trying to use an inexisting node",""); #endif - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); (ThisModelPart.Elements()).push_back(p_element); if(outnew.tetrahedronattributelist[iii] == -20) diff --git a/applications/MeshingApplication/external_includes/tetgen_pfem_refine_vms.h b/applications/MeshingApplication/external_includes/tetgen_pfem_refine_vms.h index 33d9c077250d..0b4260c1fbc9 100644 --- a/applications/MeshingApplication/external_includes/tetgen_pfem_refine_vms.h +++ b/applications/MeshingApplication/external_includes/tetgen_pfem_refine_vms.h @@ -782,7 +782,7 @@ ModelPart::NodesContainerType& ModelNodes = ThisModelPart.Nodes(); KRATOS_THROW_ERROR(std::logic_error,"trying to use an inexisting node",""); #endif - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); (ThisModelPart.Elements()).push_back(p_element); } diff --git a/applications/MeshingApplication/external_includes/trigen_cdt.h b/applications/MeshingApplication/external_includes/trigen_cdt.h index fe4c0649e330..dd9b8141b98e 100644 --- a/applications/MeshingApplication/external_includes/trigen_cdt.h +++ b/applications/MeshingApplication/external_includes/trigen_cdt.h @@ -197,7 +197,7 @@ class TriGenCDT temp.push_back( *((ModelNodes).find( out.trianglelist[base+1]).base() ) ); temp.push_back( *((ModelNodes).find( out.trianglelist[base+2]).base() ) ); - Element::Pointer p_element = rReferenceElement.Create(id, temp, properties); + Element::Pointer p_element = rReferenceElement.Create(id, temp.Points(), properties); ThisModelPart.Elements().push_back(p_element); } diff --git a/applications/MeshingApplication/external_includes/trigen_droplet_refine.h b/applications/MeshingApplication/external_includes/trigen_droplet_refine.h index d142ca338465..648545c8455c 100644 --- a/applications/MeshingApplication/external_includes/trigen_droplet_refine.h +++ b/applications/MeshingApplication/external_includes/trigen_droplet_refine.h @@ -641,7 +641,7 @@ class TriGenDropletModeler #endif - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); (ThisModelPart.Elements()).push_back(p_element); } diff --git a/applications/MeshingApplication/external_includes/trigen_glass_forming.h b/applications/MeshingApplication/external_includes/trigen_glass_forming.h index 65d0dca5f66c..3489e7a72b92 100644 --- a/applications/MeshingApplication/external_includes/trigen_glass_forming.h +++ b/applications/MeshingApplication/external_includes/trigen_glass_forming.h @@ -577,7 +577,7 @@ class TriGenGLASSModeler #endif - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); (ThisModelPart.Elements()).push_back(p_element); } diff --git a/applications/MeshingApplication/external_includes/trigen_mesh_suite_refine.h b/applications/MeshingApplication/external_includes/trigen_mesh_suite_refine.h index 2fa6ff0c3527..363a4bccca5e 100644 --- a/applications/MeshingApplication/external_includes/trigen_mesh_suite_refine.h +++ b/applications/MeshingApplication/external_includes/trigen_mesh_suite_refine.h @@ -221,7 +221,7 @@ class TriGenModeler temp.push_back( *((ModelNodes).find( out.trianglelist[base+2]).base() ) ); //generating a new element - Element::Pointer p_element = rReferenceElement.Create(id, temp, properties); + Element::Pointer p_element = rReferenceElement.Create(id, temp.Points(), properties); ThisModelPart.Elements().push_back(p_element); } KRATOS_WATCH("trigenmodeler qua") diff --git a/applications/MeshingApplication/external_includes/trigen_pfem_refine.h b/applications/MeshingApplication/external_includes/trigen_pfem_refine.h index fa0949dc1a84..f929a3ba2c8d 100644 --- a/applications/MeshingApplication/external_includes/trigen_pfem_refine.h +++ b/applications/MeshingApplication/external_includes/trigen_pfem_refine.h @@ -513,7 +513,7 @@ class TriGenPFEMModeler #endif - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); (ThisModelPart.Elements()).push_back(p_element); } diff --git a/applications/MeshingApplication/external_includes/trigen_pfem_refine_segment.h b/applications/MeshingApplication/external_includes/trigen_pfem_refine_segment.h index a67380b6f299..46511b97cf76 100644 --- a/applications/MeshingApplication/external_includes/trigen_pfem_refine_segment.h +++ b/applications/MeshingApplication/external_includes/trigen_pfem_refine_segment.h @@ -941,7 +941,7 @@ class TriGenPFEMRefineSegment #endif - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); (ThisModelPart.Elements()).push_back(p_element); } diff --git a/applications/MeshingApplication/external_includes/trigen_pfem_refine_vms.h b/applications/MeshingApplication/external_includes/trigen_pfem_refine_vms.h index 51e9706acf06..2fa33fcef762 100644 --- a/applications/MeshingApplication/external_includes/trigen_pfem_refine_vms.h +++ b/applications/MeshingApplication/external_includes/trigen_pfem_refine_vms.h @@ -512,7 +512,7 @@ class TriGenPFEMModelerVMS : public TriGenPFEMModeler #endif - Element::Pointer p_element = rReferenceElement.Create(id, geom, properties); + Element::Pointer p_element = rReferenceElement.Create(id, geom.Points(), properties); (ThisModelPart.Elements()).push_back(p_element); } diff --git a/applications/PFEM2Application/custom_utilities/add_fixed_velocity_condition.h b/applications/PFEM2Application/custom_utilities/add_fixed_velocity_condition.h index 2d3e05992876..d7e4fd280817 100644 --- a/applications/PFEM2Application/custom_utilities/add_fixed_velocity_condition.h +++ b/applications/PFEM2Application/custom_utilities/add_fixed_velocity_condition.h @@ -68,7 +68,7 @@ namespace Kratos Condition const& rReferenceCondition = KratosComponents::Get("FixedVelocity2D"); //condition type Point2D geometry(Node::Pointer( *inode.base() ));//mr_model_part.Nodes().(inode->Id()));//Node::Pointer( *inode.base() )); Properties::Pointer properties = mr_model_part.GetMesh().pGetProperties(0); //this will allow us later to turn this layer on/off in GID - Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry.Points(), properties); mr_model_part.Conditions().push_back(p_condition); ++condition_number; } @@ -131,7 +131,7 @@ namespace Kratos Condition const& rReferenceCondition = KratosComponents::Get("FixedVelocity3D"); //condition type Point3D geometry(Node::Pointer( *inode.base() ));//mr_model_part.Nodes().(inode->Id()));//Node::Pointer( *inode.base() )); Properties::Pointer properties = mr_model_part.GetMesh().pGetProperties(0); //this will allow us later to turn this layer on/off in GID - Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry.Points(), properties); mr_model_part.Conditions().push_back(p_condition); ++condition_number; } @@ -195,7 +195,7 @@ namespace Kratos Condition const& rReferenceCondition = KratosComponents::Get("FixedPressure2D"); //condition type Point2D geometry(Node::Pointer( *inode.base() ));//mr_model_part.Nodes().(inode->Id()));//Node::Pointer( *inode.base() )); Properties::Pointer properties = mr_model_part.GetMesh().pGetProperties(0); //this will allow us later to turn this layer on/off in GID - Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry.Points(), properties); mr_model_part.Conditions().push_back(p_condition); ++condition_number; } @@ -258,7 +258,7 @@ namespace Kratos Condition const& rReferenceCondition = KratosComponents::Get("FixedPressure3D"); //condition type Point3D geometry(Node::Pointer( *inode.base() ));//mr_model_part.Nodes().(inode->Id()));//Node::Pointer( *inode.base() )); Properties::Pointer properties = mr_model_part.GetMesh().pGetProperties(0); //this will allow us later to turn this layer on/off in GID - Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry.Points(), properties); mr_model_part.Conditions().push_back(p_condition); ++condition_number; } @@ -319,7 +319,7 @@ namespace Kratos Condition const& rReferenceCondition = KratosComponents::Get("WaterFixedVelocity2D"); //condition type Point2D geometry(Node::Pointer( *inode.base() ));//mr_model_part.Nodes().(inode->Id()));//Node::Pointer( *inode.base() )); Properties::Pointer properties = mr_model_part.GetMesh().pGetProperties(0); //this will allow us later to turn this layer on/off in GID - Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(condition_number, geometry.Points(), properties); mr_model_part.Conditions().push_back(p_condition); ++condition_number; } diff --git a/applications/PfemFluidDynamicsApplication/custom_processes/update_thermal_model_part_process.hpp b/applications/PfemFluidDynamicsApplication/custom_processes/update_thermal_model_part_process.hpp index 6577495d726a..129171f275da 100644 --- a/applications/PfemFluidDynamicsApplication/custom_processes/update_thermal_model_part_process.hpp +++ b/applications/PfemFluidDynamicsApplication/custom_processes/update_thermal_model_part_process.hpp @@ -129,7 +129,7 @@ class UpdateThermalModelPartProcess : public Process { Properties::Pointer properties = it_elem->pGetProperties(); Element::Pointer p_element = - mReferenceElement.Create(it_elem->Id(), it_elem->GetGeometry(), properties); + mReferenceElement.Create(it_elem->Id(), it_elem->GetGeometry().Points(), properties); temp_elements.push_back(p_element); } rDestinationModelPart.AddElements(temp_elements.begin(), temp_elements.end()); diff --git a/applications/TrilinosApplication/custom_utilities/trilinos_cutting_app.h b/applications/TrilinosApplication/custom_utilities/trilinos_cutting_app.h index 40ac2aff3cd3..4d5fc88b96da 100644 --- a/applications/TrilinosApplication/custom_utilities/trilinos_cutting_app.h +++ b/applications/TrilinosApplication/custom_utilities/trilinos_cutting_app.h @@ -389,7 +389,7 @@ class TrilinosCuttingApplication new_model_part.Nodes()(triangle_nodes[2]) ); ++triangle_ID; - Condition::Pointer p_condition = rReferenceCondition.Create(triangle_ID, geometry, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(triangle_ID, geometry.Points(), properties); new_model_part.Conditions().push_back(p_condition); //and done! added a new triangloe to the new model part } } @@ -1212,7 +1212,7 @@ class TrilinosCuttingApplication new_model_part.Nodes()(TriangleNodesArray[2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(triangle_id_int + 1 + elements_before + total_existing_elements, geom, properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes + Condition::Pointer p_condition = rReferenceCondition.Create(triangle_id_int + 1 + elements_before + total_existing_elements, geom.Points(), properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes new_model_part.Conditions().push_back(p_condition); ++triangle_id_int; @@ -1349,7 +1349,7 @@ class TrilinosCuttingApplication new_model_part.Nodes()(nodes_for_2triang[index * 3 + 2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(triangle_id_int + 1 + elements_before + total_existing_elements, geom, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(triangle_id_int + 1 + elements_before + total_existing_elements, geom.Points(), properties); new_model_part.Conditions().push_back(p_condition); ++triangle_id_int; diff --git a/applications/TrilinosApplication/custom_utilities/trilinos_cutting_iso_app.h b/applications/TrilinosApplication/custom_utilities/trilinos_cutting_iso_app.h index fdb4def20edc..335e4abdcd56 100644 --- a/applications/TrilinosApplication/custom_utilities/trilinos_cutting_iso_app.h +++ b/applications/TrilinosApplication/custom_utilities/trilinos_cutting_iso_app.h @@ -322,7 +322,7 @@ class TrilinosCuttingIsosurfaceApplication new_model_part.Nodes()(triangle_nodes[2]) ); ++triangle_ID; - Condition::Pointer p_condition = rReferenceCondition.Create(triangle_ID, geometry, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(triangle_ID, geometry.Points(), properties); new_model_part.Conditions().push_back(p_condition); //and done! added a new triangloe to the new model part } } @@ -1097,7 +1097,7 @@ class TrilinosCuttingIsosurfaceApplication new_model_part.Nodes()(TriangleNodesArray[2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(triangle_id_int + 1 + elements_before + total_existing_elements, geom, properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes + Condition::Pointer p_condition = rReferenceCondition.Create(triangle_id_int + 1 + elements_before + total_existing_elements, geom.Points(), properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes new_model_part.Conditions().push_back(p_condition); ++triangle_id_int; @@ -1250,7 +1250,7 @@ class TrilinosCuttingIsosurfaceApplication new_model_part.Nodes()(nodes_for_2triang[index * 3 + 2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(triangle_id_int + 1 + elements_before + total_existing_elements, geom, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(triangle_id_int + 1 + elements_before + total_existing_elements, geom.Points(), properties); new_model_part.Conditions().push_back(p_condition); ++triangle_id_int; diff --git a/applications/TrilinosApplication/custom_utilities/trilinos_refine_mesh.h b/applications/TrilinosApplication/custom_utilities/trilinos_refine_mesh.h index be9eefabc97c..317a50f21b40 100644 --- a/applications/TrilinosApplication/custom_utilities/trilinos_refine_mesh.h +++ b/applications/TrilinosApplication/custom_utilities/trilinos_refine_mesh.h @@ -764,7 +764,7 @@ class TrilinosRefineMesh Element::Pointer p_element; - p_element = it->Create(current_id, geom, it->pGetProperties()); + p_element = it->Create(current_id, geom.Points(), it->pGetProperties()); p_element->SetFlags(*it); p_element->Initialize(rCurrentProcessInfo); p_element->InitializeSolutionStep(rCurrentProcessInfo); @@ -1131,7 +1131,7 @@ class TrilinosRefineMesh ); //generate new element by cloning the base one - Element::Pointer p_element = it->Create(current_id, geom, it->pGetProperties()); + Element::Pointer p_element = it->Create(current_id, geom.Points(), it->pGetProperties()); p_element->Initialize(rCurrentProcessInfo); p_element->InitializeSolutionStep(rCurrentProcessInfo); p_element->FinalizeSolutionStep(rCurrentProcessInfo); @@ -1367,7 +1367,7 @@ class TrilinosRefineMesh //KRATOS_WATCH("ln1304"); Condition::Pointer p_Condition; - p_Condition = it->Create(current_id, geom, it->pGetProperties()); + p_Condition = it->Create(current_id, geom.Points(), it->pGetProperties()); p_Condition->SetFlags(*it); p_Condition->Initialize(rCurrentProcessInfo); p_Condition->InitializeSolutionStep(rCurrentProcessInfo); diff --git a/kratos/geometries/geometry.h b/kratos/geometries/geometry.h index 00d59f80a6db..b221d6910177 100644 --- a/kratos/geometries/geometry.h +++ b/kratos/geometries/geometry.h @@ -449,11 +449,6 @@ class Geometry return *this; } - operator PointsArrayType&() - { - return mPoints; - } - ///@} ///@name PointerVector Operators ///@{ diff --git a/kratos/modeler/mesh_suite_modeler.h b/kratos/modeler/mesh_suite_modeler.h index 0cd4682422cf..9b755953af42 100644 --- a/kratos/modeler/mesh_suite_modeler.h +++ b/kratos/modeler/mesh_suite_modeler.h @@ -444,7 +444,7 @@ class MeshSuiteModeler : public malla p_geometry = Element::GeometryType::Pointer(new Element::GeometryType(temp)); - Element::Pointer p_element = rReferenceElement.Create(i_element + 1, *p_geometry, properties); + Element::Pointer p_element = rReferenceElement.Create(i_element + 1, p_geometry->Points(), properties); ThisModelPart.Elements().push_back(p_element); } diff --git a/kratos/processes/calculate_signed_distance_to_3d_skin_process.h b/kratos/processes/calculate_signed_distance_to_3d_skin_process.h index fbc75426efe0..d11d12b354a3 100644 --- a/kratos/processes/calculate_signed_distance_to_3d_skin_process.h +++ b/kratos/processes/calculate_signed_distance_to_3d_skin_process.h @@ -1585,7 +1585,7 @@ class CalculateSignedDistanceTo3DSkinProcess Condition const& rReferenceCondition = KratosComponents::Get("SurfaceCondition3D"); Properties::Pointer properties = mrNewSkinModelPart.rProperties()(0); - Condition::Pointer p_condition = rReferenceCondition.Create(id_condition++, triangle, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(id_condition++, triangle.Points(), properties); mrNewSkinModelPart.Conditions().push_back(p_condition); } @@ -1658,8 +1658,8 @@ class CalculateSignedDistanceTo3DSkinProcess Properties::Pointer properties = mrNewSkinModelPart.rProperties()(0); - Condition::Pointer p_condition1 = rReferenceCondition.Create(id_condition++, triangle1, properties); - Condition::Pointer p_condition2 = rReferenceCondition.Create(id_condition++, triangle2, properties); + Condition::Pointer p_condition1 = rReferenceCondition.Create(id_condition++, triangle1.Points(), properties); + Condition::Pointer p_condition2 = rReferenceCondition.Create(id_condition++, triangle2.Points(), properties); mrNewSkinModelPart.Conditions().push_back(p_condition1); mrNewSkinModelPart.Conditions().push_back(p_condition2); diff --git a/kratos/processes/fast_transfer_between_model_parts_process.cpp b/kratos/processes/fast_transfer_between_model_parts_process.cpp index f5809eb705a2..8f92eb19ccf0 100644 --- a/kratos/processes/fast_transfer_between_model_parts_process.cpp +++ b/kratos/processes/fast_transfer_between_model_parts_process.cpp @@ -290,7 +290,7 @@ void FastTransferBetweenModelPartsProcess::ReplicateWithoutFlags() #pragma omp for schedule(guided, 512) for(int i = 0; i < num_elements; ++i) { auto it_elem = it_elem_begin + i; - Element::Pointer p_new_elem = it_elem->Clone(total_num_elements + i + 1, it_elem->GetGeometry()); + Element::Pointer p_new_elem = it_elem->Clone(total_num_elements + i + 1, it_elem->GetGeometry().Points()); elements_buffer_vector.insert(elements_buffer_vector.begin(), p_new_elem); } } @@ -300,7 +300,7 @@ void FastTransferBetweenModelPartsProcess::ReplicateWithoutFlags() #pragma omp for schedule(guided, 512) for(int i = 0; i < num_conditions; ++i) { auto it_cond = it_cond_begin + i; - Condition::Pointer p_new_cond = it_cond->Clone(total_num_conditions + i + 1, it_cond->GetGeometry()); + Condition::Pointer p_new_cond = it_cond->Clone(total_num_conditions + i + 1, it_cond->GetGeometry().Points()); conditions_buffer_vector.insert(conditions_buffer_vector.begin(), p_new_cond); } } @@ -395,7 +395,7 @@ void FastTransferBetweenModelPartsProcess::ReplicateWithFlags() for(int i = 0; i < num_elements; ++i) { auto it_elem = it_elem_begin + i; if (it_elem->Is(mFlag)) { - Element::Pointer p_new_elem = it_elem->Clone(total_num_elements + i + 1, it_elem->GetGeometry()); + Element::Pointer p_new_elem = it_elem->Clone(total_num_elements + i + 1, it_elem->GetGeometry().Points()); (elements_buffer_vector).insert(elements_buffer_vector.begin(), p_new_elem); } } @@ -407,7 +407,7 @@ void FastTransferBetweenModelPartsProcess::ReplicateWithFlags() for(int i = 0; i < num_conditions; ++i) { auto it_cond = it_cond_begin + i; if (it_cond->Is(mFlag)) { - Condition::Pointer p_new_cond = it_cond->Clone(total_num_conditions + i + 1, it_cond->GetGeometry()); + Condition::Pointer p_new_cond = it_cond->Clone(total_num_conditions + i + 1, it_cond->GetGeometry().Points()); (conditions_buffer_vector).insert(conditions_buffer_vector.begin(), p_new_cond); } } diff --git a/kratos/utilities/cutting_utility.h b/kratos/utilities/cutting_utility.h index ee4eca10e770..7a6462eb68c3 100644 --- a/kratos/utilities/cutting_utility.h +++ b/kratos/utilities/cutting_utility.h @@ -294,7 +294,7 @@ class CuttingUtility new_model_part.Nodes()(triangle_nodes[1]), new_model_part.Nodes()(triangle_nodes[2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1, geometry, properties); //está bien? acá la verdad ni idea. sobre todo number_of_triangles (la posición). o debe ser un puntero de elemento en vez de un entero? + Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1, geometry.Points(), properties); //está bien? acá la verdad ni idea. sobre todo number_of_triangles (la posición). o debe ser un puntero de elemento en vez de un entero? new_model_part.Conditions().push_back(p_condition); ++number_of_triangles; } @@ -767,7 +767,7 @@ class CuttingUtility new_model_part.Nodes()(TriangleNodesArray[2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom, properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes + Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom.Points(), properties); //creating the element using the reference element. notice we are using the first element to avoid overriting nodes created by other cutting planes new_model_part.Conditions().push_back(p_condition); ++number_of_triangles; @@ -905,7 +905,7 @@ class CuttingUtility new_model_part.Nodes()(nodes_for_2triang[index*3+2]) ); - Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom, properties); + Condition::Pointer p_condition = rReferenceCondition.Create(number_of_triangles+1+first_element, geom.Points(), properties); new_model_part.Conditions().push_back(p_condition); ++number_of_triangles; diff --git a/kratos/utilities/quadrature_points_utility.h b/kratos/utilities/quadrature_points_utility.h index 6089e4a78c96..9df2626cfe2c 100644 --- a/kratos/utilities/quadrature_points_utility.h +++ b/kratos/utilities/quadrature_points_utility.h @@ -433,7 +433,7 @@ namespace Kratos rResultGeometries(i) = CreateQuadraturePointsUtility::CreateQuadraturePoint( rGeometry.WorkingSpaceDimension(), rGeometry.LocalSpaceDimension(), - data_container, rGeometry); + data_container, rGeometry.Points()); } } From e91b25104b415d2c8b8f8efae69c16a9a6ef0ff0 Mon Sep 17 00:00:00 2001 From: Carlos Roig Date: Tue, 3 Mar 2026 11:17:13 +0100 Subject: [PATCH 2/5] Fixing usage in tests --- .../test_prism_neighbours_process.cpp | 8 +++---- ...ltiple_elements_and_conditions_process.cpp | 8 +++---- ..._solid_shell_thickness_compute_process.cpp | 2 +- ...t_transfer_between_model_parts_process.cpp | 24 +++++++++---------- .../test_find_nodal_neighbours_process.cpp | 2 +- .../processes/test_mortar_mapper_process.cpp | 16 ++++++------- .../cpp_tests/sources/test_condition.cpp | 2 +- .../test_auxiliar_model_part_utilities.cpp | 12 +++++----- 8 files changed, 37 insertions(+), 37 deletions(-) diff --git a/applications/StructuralMechanicsApplication/tests/cpp_tests/test_prism_neighbours_process.cpp b/applications/StructuralMechanicsApplication/tests/cpp_tests/test_prism_neighbours_process.cpp index 98e573f11542..3f24a00c027d 100644 --- a/applications/StructuralMechanicsApplication/tests/cpp_tests/test_prism_neighbours_process.cpp +++ b/applications/StructuralMechanicsApplication/tests/cpp_tests/test_prism_neighbours_process.cpp @@ -67,7 +67,7 @@ namespace Kratos element_nodes_0[5] = p_node_6; Prism3D6 prism_0( PointerVector{element_nodes_0} ); - Element::Pointer p_elem_0 = ThisModelPart.CreateNewElement("Element3D6N", 1, prism_0, p_elem_prop); + Element::Pointer p_elem_0 = ThisModelPart.CreateNewElement("Element3D6N", 1, prism_0.Points(), p_elem_prop); if (NumberNeighbours > 0) { NodeType::Pointer p_node_7 = ThisModelPart.CreateNewNode( 7, 1.0 , 1.0 , 0.0); @@ -82,7 +82,7 @@ namespace Kratos element_nodes_1[5] = p_node_10; Prism3D6 prism_1( PointerVector{element_nodes_1} ); - Element::Pointer p_elem_1 = ThisModelPart.CreateNewElement("Element3D6N", 2, prism_1, p_elem_prop); + Element::Pointer p_elem_1 = ThisModelPart.CreateNewElement("Element3D6N", 2, prism_1.Points(), p_elem_prop); } if (NumberNeighbours > 1) { @@ -98,7 +98,7 @@ namespace Kratos element_nodes_2[5] = p_node_11; Prism3D6 prism_2( PointerVector{element_nodes_2} ); - Element::Pointer p_elem_2 = ThisModelPart.CreateNewElement("Element3D6N", 3, prism_2, p_elem_prop); + Element::Pointer p_elem_2 = ThisModelPart.CreateNewElement("Element3D6N", 3, prism_2.Points(), p_elem_prop); } if (NumberNeighbours > 2) { @@ -114,7 +114,7 @@ namespace Kratos element_nodes_3[5] = p_node_12; Prism3D6 prism_3( PointerVector{element_nodes_3} ); - Element::Pointer p_elem_3 = ThisModelPart.CreateNewElement("Element3D6N", 4, prism_3, p_elem_prop); + Element::Pointer p_elem_3 = ThisModelPart.CreateNewElement("Element3D6N", 4, prism_3.Points(), p_elem_prop); } // // DEBUG diff --git a/applications/StructuralMechanicsApplication/tests/cpp_tests/test_replace_multiple_elements_and_conditions_process.cpp b/applications/StructuralMechanicsApplication/tests/cpp_tests/test_replace_multiple_elements_and_conditions_process.cpp index 12d11b9b9072..acfe3aa20471 100644 --- a/applications/StructuralMechanicsApplication/tests/cpp_tests/test_replace_multiple_elements_and_conditions_process.cpp +++ b/applications/StructuralMechanicsApplication/tests/cpp_tests/test_replace_multiple_elements_and_conditions_process.cpp @@ -42,17 +42,17 @@ namespace Kratos element_nodes_0[1] = p_node_2; element_nodes_0[2] = p_node_3; Triangle3D3 triangle_0( PointerVector{element_nodes_0} ); - ThisModelPart.CreateNewElement("Element3D3N", 1, triangle_0, p_prop); + ThisModelPart.CreateNewElement("Element3D3N", 1, triangle_0.Points(), p_prop); std::vector element_nodes_1 (3); element_nodes_1[0] = p_node_2; element_nodes_1[1] = p_node_3; element_nodes_1[2] = p_node_1; Triangle3D3 triangle_1( PointerVector{element_nodes_1} ); - ThisModelPart.CreateNewElement("ShellThinElement3D3N", 2, triangle_1, p_prop); + ThisModelPart.CreateNewElement("ShellThinElement3D3N", 2, triangle_1.Points(), p_prop); - ThisModelPart.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0, p_prop); - ThisModelPart.CreateNewCondition("SurfaceLoadCondition3D3N", 2, triangle_1, p_prop); + ThisModelPart.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0.Points(), p_prop); + ThisModelPart.CreateNewCondition("SurfaceLoadCondition3D3N", 2, triangle_1.Points(), p_prop); } KRATOS_TEST_CASE_IN_SUITE(ReplaceMultipleElementsAndConditionsProcess1, KratosStructuralMechanicsFastSuite) diff --git a/applications/StructuralMechanicsApplication/tests/cpp_tests/test_solid_shell_thickness_compute_process.cpp b/applications/StructuralMechanicsApplication/tests/cpp_tests/test_solid_shell_thickness_compute_process.cpp index f10459c4b4ef..113641ca4a1c 100644 --- a/applications/StructuralMechanicsApplication/tests/cpp_tests/test_solid_shell_thickness_compute_process.cpp +++ b/applications/StructuralMechanicsApplication/tests/cpp_tests/test_solid_shell_thickness_compute_process.cpp @@ -50,7 +50,7 @@ namespace Kratos element_nodes_0[4] = p_node_5; element_nodes_0[5] = p_node_6; Prism3D6 prism_0( PointerVector{element_nodes_0} ); - ThisModelPart.CreateNewElement("Element3D6N", 1, prism_0, p_elem_prop); + ThisModelPart.CreateNewElement("Element3D6N", 1, prism_0.Points(), p_elem_prop); } /** diff --git a/kratos/tests/cpp_tests/processes/test_fast_transfer_between_model_parts_process.cpp b/kratos/tests/cpp_tests/processes/test_fast_transfer_between_model_parts_process.cpp index 32c0104f9b08..6634f466f51f 100644 --- a/kratos/tests/cpp_tests/processes/test_fast_transfer_between_model_parts_process.cpp +++ b/kratos/tests/cpp_tests/processes/test_fast_transfer_between_model_parts_process.cpp @@ -56,16 +56,16 @@ KRATOS_TEST_CASE_IN_SUITE(FastTransferBetweenModelPartsProcess1, KratosCoreFastS // Now we create the "geometries" Triangle3D3 triangle_0( PointerVector{nodes_0} ); Triangle3D3 triangle_1( PointerVector{nodes_1} ); - r_origin_model_part.CreateNewGeometry("Triangle3D3", 1, triangle_0); - r_origin_model_part.CreateNewGeometry("Triangle3D3", 2, triangle_1); + r_origin_model_part.CreateNewGeometry("Triangle3D3", 1, triangle_0.Points()); + r_origin_model_part.CreateNewGeometry("Triangle3D3", 2, triangle_1.Points()); // Now we create the "elements" - r_origin_model_part.CreateNewElement("Element3D3N", 1, triangle_0, p_prop); - r_origin_model_part.CreateNewElement("Element3D3N", 2, triangle_1, p_prop); + r_origin_model_part.CreateNewElement("Element3D3N", 1, triangle_0.Points(), p_prop); + r_origin_model_part.CreateNewElement("Element3D3N", 2, triangle_1.Points(), p_prop); // Now we create the "conditions" - r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0, p_prop); - r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1, p_prop); + r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0.Points(), p_prop); + r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1.Points(), p_prop); // This will copy all FastTransferBetweenModelPartsProcess process = FastTransferBetweenModelPartsProcess(r_destination_model_part, r_origin_model_part, FastTransferBetweenModelPartsProcess::EntityTransfered::ALL); @@ -128,8 +128,8 @@ KRATOS_TEST_CASE_IN_SUITE(FastTransferBetweenModelPartsProcess2, KratosCoreFastS Triangle3D3 triangle_0( PointerVector{nodes_0} ); Triangle3D3 triangle_1( PointerVector{nodes_1} ); - Condition::Pointer p_cond_0 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0, p_cond_prop); - Condition::Pointer p_cond_1 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1, p_cond_prop); + Condition::Pointer p_cond_0 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0.Points(), p_cond_prop); + Condition::Pointer p_cond_1 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1.Points(), p_cond_prop); // Setting flags // SLAVE @@ -204,8 +204,8 @@ KRATOS_TEST_CASE_IN_SUITE(FastTransferBetweenModelPartsProcess3, KratosCoreFastS Triangle3D3 triangle_0( PointerVector{nodes_0} ); Triangle3D3 triangle_1( PointerVector{nodes_1} ); - Condition::Pointer p_cond_0 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0, p_cond_prop); - Condition::Pointer p_cond_1 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1, p_cond_prop); + Condition::Pointer p_cond_0 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0.Points(), p_cond_prop); + Condition::Pointer p_cond_1 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1.Points(), p_cond_prop); // This will copy all FastTransferBetweenModelPartsProcess process = FastTransferBetweenModelPartsProcess(r_destination_model_part, r_origin_model_part, FastTransferBetweenModelPartsProcess::EntityTransfered::ALL, Flags(), true); @@ -256,8 +256,8 @@ KRATOS_TEST_CASE_IN_SUITE(FastTransferBetweenModelPartsProcess4, KratosCoreFastS Triangle3D3 triangle_0( PointerVector{nodes_0} ); Triangle3D3 triangle_1( PointerVector{nodes_1} ); - Condition::Pointer p_cond_0 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0, p_cond_prop); - Condition::Pointer p_cond_1 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1, p_cond_prop); + Condition::Pointer p_cond_0 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0.Points(), p_cond_prop); + Condition::Pointer p_cond_1 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1.Points(), p_cond_prop); // Setting flags // SLAVE diff --git a/kratos/tests/cpp_tests/processes/test_find_nodal_neighbours_process.cpp b/kratos/tests/cpp_tests/processes/test_find_nodal_neighbours_process.cpp index 0c5e1e4adce0..572a06d2fe6c 100644 --- a/kratos/tests/cpp_tests/processes/test_find_nodal_neighbours_process.cpp +++ b/kratos/tests/cpp_tests/processes/test_find_nodal_neighbours_process.cpp @@ -132,7 +132,7 @@ KRATOS_TEST_CASE_IN_SUITE(FindNodalNeighboursProcess3, KratosCoreFastSuite) // Create elements with the same geometry as conditions for (auto& r_cond : r_model_part.Conditions()) { - r_model_part.CreateNewElement("Element3D3N", r_cond.Id(), r_cond.GetGeometry(), r_cond.pGetProperties()); + r_model_part.CreateNewElement("Element3D3N", r_cond.Id(), r_cond.GetGeometry().Points(), r_cond.pGetProperties()); } // Re-execute the process diff --git a/kratos/tests/cpp_tests/processes/test_mortar_mapper_process.cpp b/kratos/tests/cpp_tests/processes/test_mortar_mapper_process.cpp index d4a7013f8f22..c4a1a49a9374 100644 --- a/kratos/tests/cpp_tests/processes/test_mortar_mapper_process.cpp +++ b/kratos/tests/cpp_tests/processes/test_mortar_mapper_process.cpp @@ -88,8 +88,8 @@ KRATOS_TEST_CASE_IN_SUITE(SimpleMortarMapper1, KratosCoreFastSuite) condition_nodes_1[2] = p_node_6; Triangle3D3 triangle_1( PointerVector{condition_nodes_1} ); - Condition::Pointer p_cond_0 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0, p_cond_prop); - Condition::Pointer p_cond_1 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1, p_cond_prop); + Condition::Pointer p_cond_0 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0.Points(), p_cond_prop); + Condition::Pointer p_cond_1 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1.Points(), p_cond_prop); // Adding map IndexSet this_set; @@ -182,8 +182,8 @@ KRATOS_TEST_CASE_IN_SUITE(SimpleMortarMapper2, KratosCoreFastSuite) condition_nodes_1[3] = p_node_5; Quadrilateral3D4 quad_1( PointerVector{condition_nodes_1} ); - Condition::Pointer p_cond_0 = this_model_part.CreateNewCondition("SurfaceCondition3D4N", 1, quad_0, p_cond_prop); - Condition::Pointer p_cond_1 = this_model_part.CreateNewCondition("SurfaceCondition3D4N", 2, quad_1, p_cond_prop); + Condition::Pointer p_cond_0 = this_model_part.CreateNewCondition("SurfaceCondition3D4N", 1, quad_0.Points(), p_cond_prop); + Condition::Pointer p_cond_1 = this_model_part.CreateNewCondition("SurfaceCondition3D4N", 2, quad_1.Points(), p_cond_prop); // Adding map IndexSet this_set; @@ -283,10 +283,10 @@ KRATOS_TEST_CASE_IN_SUITE(SimpleMortarMapper3, KratosCoreFastSuite) condition_nodes_3[2] = p_node_6; Triangle3D3 triangle_4( PointerVector{condition_nodes_3} ); - Condition::Pointer p_cond_0 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0, p_cond_prop); - Condition::Pointer p_cond_1 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1, p_cond_prop); - Condition::Pointer p_cond_2 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 3, triangle_3, p_cond_prop); - Condition::Pointer p_cond_3 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 4, triangle_4, p_cond_prop); + Condition::Pointer p_cond_0 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0.Points(), p_cond_prop); + Condition::Pointer p_cond_1 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1.Points(), p_cond_prop); + Condition::Pointer p_cond_2 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 3, triangle_3.Points(), p_cond_prop); + Condition::Pointer p_cond_3 = this_model_part.CreateNewCondition("SurfaceCondition3D3N", 4, triangle_4.Points(), p_cond_prop); // Adding map IndexSet this_set0, this_set1; diff --git a/kratos/tests/cpp_tests/sources/test_condition.cpp b/kratos/tests/cpp_tests/sources/test_condition.cpp index 0161090109ee..6b42e0bc91c7 100644 --- a/kratos/tests/cpp_tests/sources/test_condition.cpp +++ b/kratos/tests/cpp_tests/sources/test_condition.cpp @@ -41,7 +41,7 @@ namespace Kratos { p_cond->SetValue(VELOCITY_X, 32.4); p_cond->Set(ACTIVE, true); - Condition::Pointer p_clone_of_cond = p_cond->Clone(2, p_cond->GetGeometry()); + Condition::Pointer p_clone_of_cond = p_cond->Clone(2, p_cond->GetGeometry().Points()); KRATOS_EXPECT_EQ(p_clone_of_cond->Id(), 2); KRATOS_EXPECT_DOUBLE_EQ(p_clone_of_cond->GetValue(DISTANCE), 12.1); diff --git a/kratos/tests/cpp_tests/utilities/test_auxiliar_model_part_utilities.cpp b/kratos/tests/cpp_tests/utilities/test_auxiliar_model_part_utilities.cpp index fcf68ff5802b..fbe11f55659f 100644 --- a/kratos/tests/cpp_tests/utilities/test_auxiliar_model_part_utilities.cpp +++ b/kratos/tests/cpp_tests/utilities/test_auxiliar_model_part_utilities.cpp @@ -339,12 +339,12 @@ KRATOS_TEST_CASE_IN_SUITE(AuxiliarModelPartUtilities_DeepCopyModelPart, KratosCo // Now we create the "geometries" Triangle3D3 triangle_0( PointerVector{nodes_0} ); Triangle3D3 triangle_1( PointerVector{nodes_1} ); - auto p_geom_1 = r_origin_model_part.CreateNewGeometry("Triangle3D3", 1, triangle_0); - auto p_geom_2 = r_origin_model_part.CreateNewGeometry("Triangle3D3", 2, triangle_1); + auto p_geom_1 = r_origin_model_part.CreateNewGeometry("Triangle3D3", 1, triangle_0.Points()); + auto p_geom_2 = r_origin_model_part.CreateNewGeometry("Triangle3D3", 2, triangle_1.Points()); // Now we create the "elements" - auto p_elem_1 = r_origin_model_part.CreateNewElement("Element3D3N", 1, triangle_0, p_prop); - auto p_elem_2 = r_origin_model_part.CreateNewElement("Element3D3N", 2, triangle_1, p_prop); + auto p_elem_1 = r_origin_model_part.CreateNewElement("Element3D3N", 1, triangle_0.Points(), p_prop); + auto p_elem_2 = r_origin_model_part.CreateNewElement("Element3D3N", 2, triangle_1.Points(), p_prop); // Set the variables to the elements p_elem_1->SetValue(TEMPERATURE, 1.0); @@ -354,8 +354,8 @@ KRATOS_TEST_CASE_IN_SUITE(AuxiliarModelPartUtilities_DeepCopyModelPart, KratosCo r_sub.AddElements(element_ids); // Now we create the "conditions" - auto p_cond_1 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0, p_prop); - auto p_cond_2 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1, p_prop); + auto p_cond_1 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 1, triangle_0.Points(), p_prop); + auto p_cond_2 = r_origin_model_part.CreateNewCondition("SurfaceCondition3D3N", 2, triangle_1.Points(), p_prop); ModelPart& r_copy_model_part = AuxiliarModelPartUtilities(r_origin_model_part).DeepCopyModelPart("MainCopied"); From 67da77a697eb4fca68b2e9bbfe9cc2e5478e8272 Mon Sep 17 00:00:00 2001 From: Carlos Roig Date: Tue, 3 Mar 2026 11:35:35 +0100 Subject: [PATCH 3/5] Missing file --- .../custom_processes/set_multiple_moving_loads.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/GeoMechanicsApplication/custom_processes/set_multiple_moving_loads.cpp b/applications/GeoMechanicsApplication/custom_processes/set_multiple_moving_loads.cpp index be02e9009af9..14c1c8c698ee 100644 --- a/applications/GeoMechanicsApplication/custom_processes/set_multiple_moving_loads.cpp +++ b/applications/GeoMechanicsApplication/custom_processes/set_multiple_moving_loads.cpp @@ -90,7 +90,7 @@ ModelPart& SetMultipleMovingLoadsProcess::CloneMovingConditionInComputeModelPart for (auto& moving_load_condition : mrModelPart.Conditions()) { index++; const Condition::Pointer CloneCondition = - moving_load_condition.Clone(index, moving_load_condition.GetGeometry()); + moving_load_condition.Clone(index, moving_load_condition.GetGeometry().Points()); new_model_part.AddCondition(CloneCondition); } return new_model_part; From 5b16158de78a068e0ce25f05bba25d41ff00f64b Mon Sep 17 00:00:00 2001 From: Carlos Roig Date: Tue, 3 Mar 2026 12:15:22 +0100 Subject: [PATCH 4/5] Missing usage in parmmg --- .../custom_utilities/parmmg/pmmg_utilities.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/applications/MeshingApplication/custom_utilities/parmmg/pmmg_utilities.cpp b/applications/MeshingApplication/custom_utilities/parmmg/pmmg_utilities.cpp index ee8499754a71..aa9f6d0dc890 100644 --- a/applications/MeshingApplication/custom_utilities/parmmg/pmmg_utilities.cpp +++ b/applications/MeshingApplication/custom_utilities/parmmg/pmmg_utilities.cpp @@ -1107,20 +1107,20 @@ void ParMmgUtilities::GenerateReferenceMaps( if (r_conditions_array.size() > 0) { const std::string type_name = (Dimension == 2) ? "Condition2D2N" : (TPMMGLibrary == PMMGLibrary::PMMG3D) ? "SurfaceCondition3D3N" : "Condition3D2N"; Condition const& r_clone_condition = KratosComponents::Get(type_name); - rRefCondition[0] = r_clone_condition.Create(0, it_cond_begin->pGetGeometry(), it_cond_begin->pGetProperties()); + rRefCondition[0] = r_clone_condition.Create(0, it_cond_begin->pGetGeometry().Points(), it_cond_begin->pGetProperties()); } if (r_elements_array.size() > 0) { - rRefElement[0] = it_elem_begin->Create(0, it_elem_begin->GetGeometry(), it_elem_begin->pGetProperties()); + rRefElement[0] = it_elem_begin->Create(0, it_elem_begin->GetGeometry().Points(), it_elem_begin->pGetProperties()); } // Now we add the reference elements and conditions for (auto& ref_cond : rColorMapCondition) { Condition::Pointer p_cond = rModelPart.pGetCondition(ref_cond.second); - rRefCondition[ref_cond.first] = p_cond->Create(0, p_cond->GetGeometry(), p_cond->pGetProperties()); + rRefCondition[ref_cond.first] = p_cond->Create(0, p_cond->GetGeometry().Points(), p_cond->pGetProperties()); } for (auto& ref_elem : rColorMapElement) { Element::Pointer p_elem = rModelPart.pGetElement(ref_elem.second); - rRefElement[ref_elem.first] = p_elem->Create(0, p_elem->GetGeometry(), p_elem->pGetProperties()); + rRefElement[ref_elem.first] = p_elem->Create(0, p_elem->GetGeometry().Points(), p_elem->pGetProperties()); } } From 0d50a4f31605d4667936339f4ee18c0d370a77bb Mon Sep 17 00:00:00 2001 From: Carlos Roig Date: Tue, 3 Mar 2026 14:23:14 +0100 Subject: [PATCH 5/5] inconsistent use of pGet vs Get --- .../custom_utilities/parmmg/pmmg_utilities.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/MeshingApplication/custom_utilities/parmmg/pmmg_utilities.cpp b/applications/MeshingApplication/custom_utilities/parmmg/pmmg_utilities.cpp index aa9f6d0dc890..ca26cf84af78 100644 --- a/applications/MeshingApplication/custom_utilities/parmmg/pmmg_utilities.cpp +++ b/applications/MeshingApplication/custom_utilities/parmmg/pmmg_utilities.cpp @@ -1107,7 +1107,7 @@ void ParMmgUtilities::GenerateReferenceMaps( if (r_conditions_array.size() > 0) { const std::string type_name = (Dimension == 2) ? "Condition2D2N" : (TPMMGLibrary == PMMGLibrary::PMMG3D) ? "SurfaceCondition3D3N" : "Condition3D2N"; Condition const& r_clone_condition = KratosComponents::Get(type_name); - rRefCondition[0] = r_clone_condition.Create(0, it_cond_begin->pGetGeometry().Points(), it_cond_begin->pGetProperties()); + rRefCondition[0] = r_clone_condition.Create(0, it_cond_begin->GetGeometry().Points(), it_cond_begin->pGetProperties()); } if (r_elements_array.size() > 0) { rRefElement[0] = it_elem_begin->Create(0, it_elem_begin->GetGeometry().Points(), it_elem_begin->pGetProperties());