Я работаю с кодом конечных элементов, где узлы сетки распределены по карте (назовем это single_mesh_nodes) с локальным и глобальным идентификатором.
Мне нужно сделать новую карту (давайте назовем ее double_mesh_nodes), которая должна включать в себя двойное число узлов.
Double_mesh_nodes должен быть построен, принимая в качестве первой части single_mesh_nodes,
и затем, начиная снова с первого узла, но назначая ему новые локальные и глобальные идентификаторы. Другими словами, после того, как будет достигнут последний узел глобальных и локальных идентификаторов (last_GID и last_LID соответственно), мы должны снова иметь первый узел, но со значением глобального идентификатора с максимальным GID +1 и локальным идентификатором с максимальным LID +1 и так далее для следующих узлов.
Например, если бы у нас была сетка из 4 узлов с LID single_mesh_nodes = 0, 1, 2, 3 и GID = 0, 3, 2, 1, в double_mesh_nodes должно быть 4 + 4 узла с LID = 0,1 , 2,3,4,5,6,7
и GID = 0, 3, 2, 1, 4, 7, 6, 5, что соответствует добавлению максимального числа GID первых 4 узлов к одиночным GID.
Задача ещё не решена.