diff --git a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerFracture-impl.h b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerFracture-impl.h index 84ad8e6353c1c43c0a086a403d9999979cd48dab..787293cebdc517965203bc3a37856987c952effa 100644 --- a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerFracture-impl.h +++ b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerFracture-impl.h @@ -11,6 +11,8 @@ #pragma once #include <Eigen/Core> +#include <range/v3/range/conversion.hpp> +#include <range/v3/view/transform.hpp> #include "MathLib/LinAlg/Eigen/EigenMapTools.h" #include "NumLib/Fem/InitShapeMatrices.h" @@ -62,10 +64,11 @@ SmallDeformationLocalAssemblerFracture<ShapeFunction, DisplacementDim>:: _fracture_props.push_back(&_process_data.fracture_properties[fid]); } - for (auto jid : process_data._vec_ele_connected_junctionIDs[e.getID()]) - { - _junction_props.push_back(&_process_data.junction_properties[jid]); - } + _junction_props = process_data._vec_ele_connected_junctionIDs[e.getID()] | + ranges::views::transform( + [&](auto const jid) + { return &_process_data.junction_properties[jid]; }) | + ranges::to<std::vector>; ParameterLib::SpatialPosition x_position; x_position.setElementID(_element.getID()); diff --git a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h index aeccadf93cd01e176a6c47a0335b470b58563a4e..c363987da19cd60ea326a902af36ac9260681843 100644 --- a/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h +++ b/ProcessLib/LIE/SmallDeformation/LocalAssembler/SmallDeformationLocalAssemblerMatrixNearFracture-impl.h @@ -11,6 +11,8 @@ #pragma once #include <Eigen/Core> +#include <range/v3/range/conversion.hpp> +#include <range/v3/view/transform.hpp> #include <valarray> #include <vector> @@ -107,10 +109,11 @@ SmallDeformationLocalAssemblerMatrixNearFracture<ShapeFunction, _fracture_props.push_back(&_process_data.fracture_properties[fid]); } - for (auto jid : process_data._vec_ele_connected_junctionIDs[e.getID()]) - { - _junction_props.push_back(&_process_data.junction_properties[jid]); - } + _junction_props = process_data._vec_ele_connected_junctionIDs[e.getID()] | + ranges::views::transform( + [&](auto const jid) + { return &_process_data.junction_properties[jid]; }) | + ranges::to<std::vector>; } template <typename ShapeFunction, int DisplacementDim>