Hi Riccardo,
thanks a lot for this!!
In the meantime I figured out from a different place in the code, that I could also do it using preset functionalities of each geometry. So in particular I used:
for (ModelPart::ElementsContainerType::iterator elem_i = mr_model_part.ElementsBegin(); elem_i != mr_model_part.ElementsEnd(); ++elem_i)
{
const Element::GeometryType::IntegrationMethod integration_method = elem_i->GetIntegrationMethod();
const Element::GeometryType::IntegrationPointsArrayType& integration_points = elem_i->GetGeometry().IntegrationPoints(integration_method);
for ( unsigned int PointNumber = 0; PointNumber < integration_points.size(); PointNumber++ )
NodeType::CoordinatesArrayType ip_coordinates = elem_i->GetGeometry().GlobalCoordinates(ip_coordinates, integration_points[PointNumber].Coordinates());
}
Just let me know if you think this is a bad way of doing it.
Cheers,
Daniel