17 #include <Eigen/Dense>
73 std::vector<int>
const& vec_var_n_components,
86 std::vector<MeshLib::MeshSubset>&& mesh_subsets,
87 std::vector<int>
const& vec_var_n_components,
88 std::vector<std::vector<MeshLib::Element*>
const*>
const&
96 int const variable_id,
97 std::vector<int>
const& component_ids,
116 std::size_t
size()
const;
125 const int component_id)
const;
130 std::size_t
const mesh_item_id)
const;
133 std::size_t
const mesh_item_id)
const;
136 int const variable_id,
137 int const component_id)
const;
140 int const global_component_id)
const;
152 std::size_t
const comp_id,
153 std::size_t
const range_begin,
154 std::size_t
const range_end)
const;
157 int const component_id)
const;
160 int const global_component_id)
const;
173 std::vector<MeshLib::MeshSubset>&& mesh_subsets,
174 std::vector<int>
const& global_component_ids,
175 std::vector<int>
const& variable_component_offsets,
176 std::vector<MeshLib::Element*>
const& elements,
181 template <
typename ElementIterator>
183 std::vector<MeshLib::Node*>
const& nodes,
184 std::size_t
const mesh_id,
const int comp_id,
185 const int comp_id_write);
187 template <
typename ElementIterator>
189 ElementIterator first, ElementIterator last,
190 std::vector<MeshLib::Node*>
const& nodes, std::size_t
const mesh_id,
191 const int comp_id,
const int comp_id_write);
211 friend std::ostream&
operator<<(std::ostream& os,
GlobalMatrix::IndexType GlobalIndexType
A subset of nodes on a single mesh.
Eigen::Matrix< LineIndex, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > Table
std::size_t getNumberOfElementDOF(std::size_t const mesh_item_id) const
LocalToGlobalIndexMap(std::vector< MeshLib::MeshSubset > &&mesh_subsets, NumLib::ComponentOrder const order)
RowColumnIndices operator()(std::size_t const mesh_item_id, const int component_id) const
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
GlobalIndexType getGlobalIndex(MeshLib::Location const &l, int const variable_id, int const component_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 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
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
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)
LocalToGlobalIndexMap * deriveBoundaryConstrainedMap(int const variable_id, std::vector< int > const &component_ids, MeshLib::MeshSubset &&new_mesh_subset) const
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< IDX_TYPE > LineIndex