OGS
|
Define the members of class NodeWiseMeshPartitioner.
Definition in file NodeWiseMeshPartitioner.cpp.
#include "NodeWiseMeshPartitioner.h"
#include <limits>
#include <numeric>
#include <range/v3/algorithm/transform.hpp>
#include <range/v3/range/conversion.hpp>
#include <unordered_map>
#include "BaseLib/Error.h"
#include "BaseLib/FileTools.h"
#include "BaseLib/Logging.h"
#include "BaseLib/RunTime.h"
#include "MeshLib/Elements/Elements.h"
#include "MeshLib/IO/NodeData.h"
#include "MeshLib/IO/VtkIO/VtuInterface.h"
#include "MeshLib/MeshEnums.h"
#include "MeshLib/Utils/IntegrationPointWriter.h"
#include "MeshToolsLib//IntegrationPointDataTools.h"
Go to the source code of this file.
Classes | |
struct | ApplicationUtils::ConfigOffsets |
struct | ApplicationUtils::PartitionOffsets |
Namespaces | |
namespace | ApplicationUtils |
Functions | |
NodeWiseMeshPartitioner::IntegerType | ApplicationUtils::getNumberOfIntegerVariablesOfElements (std::vector< const MeshLib::Element * > const &elements) |
std::size_t | ApplicationUtils::partitionLookup (std::size_t const &node_id, std::vector< std::size_t > const &partition_ids, std::vector< std::size_t > const &node_id_mapping) |
std::pair< std::vector< MeshLib::Node const * >, std::vector< MeshLib::Node const * > > | ApplicationUtils::splitIntoBaseAndHigherOrderNodes (std::vector< MeshLib::Node const * > const &nodes, MeshLib::Mesh const &mesh) |
std::tuple< std::vector< MeshLib::Node * >, std::vector< MeshLib::Node * > > | ApplicationUtils::findGhostNodesInPartition (std::size_t const part_id, std::vector< MeshLib::Node * > const &nodes, std::vector< MeshLib::Element const * > const &ghost_elements, std::vector< std::size_t > const &partition_ids, MeshLib::Mesh const &mesh, std::vector< std::size_t > const &node_id_mapping) |
template<typename T > | |
std::size_t | ApplicationUtils::copyNodePropertyVectorValues (Partition const &p, std::size_t const offset, MeshLib::PropertyVector< T > const &pv, MeshLib::PropertyVector< T > &partitioned_pv) |
template<typename T > | |
std::size_t | ApplicationUtils::copyCellPropertyVectorValues (Partition const &p, std::size_t const offset, MeshLib::PropertyVector< T > const &pv, MeshLib::PropertyVector< T > &partitioned_pv) |
template<typename T > | |
std::size_t | ApplicationUtils::copyFieldPropertyDataToPartitions (MeshLib::Properties const &properties, Partition const &p, std::size_t const id_offset_partition, std::vector< std::size_t > const &element_ip_data_offsets, MeshLib::PropertyVector< T > const &pv, MeshLib::PropertyVector< T > &partitioned_pv) |
void | ApplicationUtils::setIntegrationPointNumberOfPartition (MeshLib::Properties const &properties, std::vector< Partition > &partitions) |
template<typename T > | |
bool | ApplicationUtils::copyPropertyVector (std::vector< MeshLib::Element * > const &global_mesh_elements, MeshLib::Properties &partitioned_properties, MeshLib::Properties const &properties, std::vector< Partition > const &partitions, MeshLib::PropertyVector< T > const *const pv, std::map< MeshLib::MeshItemType, std::size_t > const &total_number_of_tuples) |
void | ApplicationUtils::addVtkGhostTypeProperty (MeshLib::Properties &partitioned_properties, std::vector< Partition > const &partitions, std::size_t const total_number_of_cells) |
MeshLib::Properties | ApplicationUtils::partitionProperties (std::unique_ptr< MeshLib::Mesh > const &mesh, std::vector< Partition > &partitions) |
Partition existing properties and add vtkGhostType cell data array property. | |
void | ApplicationUtils::markDuplicateGhostCells (MeshLib::Mesh const &mesh, std::vector< Partition > &partitions) |
void | ApplicationUtils::checkFieldPropertyVectorSize (std::vector< MeshLib::Element * > const &global_mesh_elements, MeshLib::Properties const &properties) |
std::vector< std::vector< std::size_t > > | ApplicationUtils::computePartitionIDPerElement (std::vector< std::size_t > const &node_partition_map, std::vector< MeshLib::Element * > const &elements, std::vector< std::size_t > const &bulk_node_ids) |
void | ApplicationUtils::distributeNodesToPartitions (std::vector< Partition > &partitions, std::vector< std::size_t > const &nodes_partition_ids, std::vector< MeshLib::Node * > const &nodes, std::vector< std::size_t > const &bulk_node_ids) |
void | ApplicationUtils::reorderNodesIntoBaseAndHigherOrderNodes (Partition &partition, MeshLib::Mesh const &mesh) |
void | ApplicationUtils::reorderNodesIntoBaseAndHigherOrderNodesPerPartition (std::vector< Partition > &partitions, MeshLib::Mesh const &mesh) |
void | ApplicationUtils::setNumberOfNodesInPartitions (std::vector< Partition > &partitions, MeshLib::Mesh const &mesh) |
void | ApplicationUtils::distributeElementsIntoPartitions (std::vector< Partition > &partitions, MeshLib::Mesh const &mesh, std::vector< std::vector< std::size_t > > const &partition_ids_per_element) |
void | ApplicationUtils::determineAndAppendGhostNodesToPartitions (std::vector< Partition > &partitions, MeshLib::Mesh const &mesh, std::vector< std::size_t > const &nodes_partition_ids, std::vector< std::size_t > const &node_id_mapping) |
void | ApplicationUtils::partitionMesh (std::vector< Partition > &partitions, MeshLib::Mesh const &mesh, std::vector< std::size_t > const &nodes_partition_ids, std::vector< std::size_t > const &bulk_node_ids) |
template<typename T > | |
void | ApplicationUtils::writePropertyVectorValues (std::ostream &os, MeshLib::PropertyVector< T > const &pv) |
template<typename T > | |
bool | ApplicationUtils::writePropertyVector (MeshLib::PropertyVector< T > const *const pv, MeshLib::MeshItemType const mesh_item_type, std::ostream &out_val, std::ostream &out_meta) |
void | ApplicationUtils::writeProperties (const std::string &file_name_base, MeshLib::Properties const &partitioned_properties, std::vector< Partition > const &partitions, MeshLib::MeshItemType const mesh_item_type) |
PartitionOffsets | ApplicationUtils::computePartitionOffsets (Partition const &partition) |
ConfigOffsets | ApplicationUtils::incrementConfigOffsets (ConfigOffsets const &oldConfig, PartitionOffsets const &offsets) |
std::tuple< std::vector< long >, std::vector< long > > | ApplicationUtils::writeConfigData (const std::string &file_name_base, std::vector< Partition > const &partitions) |
void | ApplicationUtils::getElementIntegerVariables (const MeshLib::Element &elem, const std::unordered_map< std::size_t, long > &local_node_ids, std::vector< long > &elem_info, long &counter) |
std::unordered_map< std::size_t, long > | ApplicationUtils::enumerateLocalNodeIds (std::vector< MeshLib::Node const * > const &nodes) |
Generates a mapping of given node ids to a new local (renumbered) node ids. | |
void | ApplicationUtils::writeElements (std::string const &file_name_base, std::vector< Partition > const &partitions, std::vector< long > const ®ular_element_offsets, std::vector< long > const &ghost_element_offsets) |
void | ApplicationUtils::writeNodes (const std::string &file_name_base, std::vector< Partition > const &partitions, std::vector< std::size_t > const &global_node_ids) |