MCPcopy Create free account
hub / github.com/FEniCS/dolfinx / create_vector_nest

Method create_vector_nest

cpp/dolfinx/fem/petsc.cpp:62–82  ·  view source on GitHub ↗

-----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

60}
61//-----------------------------------------------------------------------------
62Vec fem::petsc::create_vector_nest(
63 const std::vector<
64 std::pair<std::reference_wrapper<const common::IndexMap>, int>>& maps)
65{
66 assert(!maps.empty());
67
68 // Loop over each form and create vector
69 std::vector<std::shared_ptr<la::petsc::Vector>> vecs;
70 std::vector<Vec> petsc_vecs;
71 for (auto& map : maps)
72 {
73 vecs.push_back(std::make_shared<la::petsc::Vector>(map.first, map.second));
74 petsc_vecs.push_back(vecs.back()->vec());
75 }
76
77 // Create nested (VecNest) vector
78 Vec y;
79 VecCreateNest(vecs.front()->comm(), petsc_vecs.size(), nullptr,
80 petsc_vecs.data(), &y);
81 return y;
82}
83//-----------------------------------------------------------------------------
84#endif

Callers 1

create_vectorFunction · 0.80

Calls 4

vecMethod · 0.80
dataMethod · 0.80
commMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected