66 std::vector<int>
const& vec_var_n_components,
79 std::vector<MeshLib::MeshSubset>&& mesh_subsets,
80 std::vector<int>
const& vec_var_n_components,
81 std::vector<std::vector<MeshLib::Element*>
const*>
const&
89 int const variable_id,
90 std::vector<int>
const& component_ids,
109 std::size_t
size()
const;
118 const int global_component_id)
const;
123 std::size_t
const mesh_item_id)
const;
126 std::size_t
const mesh_item_id)
const;
129 int const variable_id,
130 int const component_id)
const;
133 int const global_component_id)
const;
145 std::size_t
const comp_id,
146 std::size_t
const range_begin,
147 std::size_t
const range_end)
const;
150 int const component_id)
const;
153 int const global_component_id)
const;
166 std::vector<MeshLib::MeshSubset>&& mesh_subsets,
167 std::vector<int>
const& global_component_ids,
168 std::vector<int>
const& variable_component_offsets,
169 std::vector<MeshLib::Element*>
const& elements,
174 template <
typename ElementIterator>
176 std::vector<MeshLib::Node*>
const& nodes,
177 std::size_t
const mesh_id,
const int comp_id,
178 const int comp_id_write);
180 template <
typename ElementIterator>
182 ElementIterator first, ElementIterator last,
183 std::vector<MeshLib::Node*>
const& nodes, std::size_t
const mesh_id,
184 const int comp_id,
const int comp_id_write);
204 friend std::ostream&
operator<<(std::ostream& os,
213struct fmt::formatter<
NumLib::LocalToGlobalIndexMap> : fmt::ostream_formatter
GlobalMatrix::IndexType GlobalIndexType
A subset of nodes on a single mesh.
RowColumnIndices operator()(std::size_t const mesh_item_id, const int global_component_id) const
std::size_t getNumberOfElementDOF(std::size_t const mesh_item_id) const
LocalToGlobalIndexMap(std::vector< MeshLib::MeshSubset > &&mesh_subsets, NumLib::ComponentOrder const order)
std::vector< MeshLib::MeshSubset > _mesh_subsets
A vector of mesh subsets for each process variables' components.
int getGlobalComponent(int const variable_id, int const component_id) const
NumLib::MeshComponentMap _mesh_component_map
int getNumberOfVariables() const
MathLib::RowColumnIndices< GlobalIndexType > RowColumnIndices
GlobalIndexType getGlobalIndex(MeshLib::Location const &l, int const variable_id, int const component_id) const
void findGlobalIndicesWithElementID(ElementIterator first, ElementIterator last, std::vector< MeshLib::Node * > const &nodes, std::size_t const mesh_id, const int comp_id, const int comp_id_write)
std::vector< int > const _variable_component_offsets
int getNumberOfVariableComponents(int variable_id) const
Eigen::Matrix< LineIndex, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > Table
std::unique_ptr< LocalToGlobalIndexMap > deriveBoundaryConstrainedMap(int const variable_id, std::vector< int > const &component_ids, MeshLib::MeshSubset &&new_mesh_subset) const
MeshLib::MeshSubset const & getMeshSubset(int const variable_id, int const component_id) const
std::size_t dofSizeWithGhosts() const
std::size_t getNumberOfElementComponents(std::size_t const mesh_item_id) const
friend std::ostream & operator<<(std::ostream &os, LocalToGlobalIndexMap const &map)
Prints first rows of the table, every line, and the mesh component map.
void findGlobalIndices(ElementIterator first, ElementIterator last, std::vector< MeshLib::Node * > const &nodes, std::size_t const mesh_id, const int comp_id, const int comp_id_write)
GlobalIndexType getLocalIndex(MeshLib::Location const &l, std::size_t const comp_id, std::size_t const range_begin, std::size_t const range_end) const
std::vector< GlobalIndexType > const & getGhostIndices() const
Get ghost indices, forwarded from MeshComponentMap.
std::size_t dofSizeWithoutGhosts() const
int getNumberOfGlobalComponents() const
RowColumnIndices::LineIndex LineIndex
std::vector< GlobalIndexType > getGlobalIndices(const MeshLib::Location &l) const
Forwards the respective method from MeshComponentMap.
std::vector< int > getElementVariableIDs(std::size_t const mesh_item_id) const
Multidirectional mapping between mesh entities and degrees of freedom.
ComponentOrder
Ordering of components in global matrix/vector.
typename std::vector< GlobalIndexType > LineIndex