OGS
PostUtils.h
Go to the documentation of this file.
1
10#pragma once
11
12#include <map>
13#include <memory>
14#include <vector>
15
16#include "MeshLib/Mesh.h"
17namespace MeshLib
18{
19class Node;
20}
21
22namespace ProcessLib
23{
24namespace LIE
25{
30class PostProcessTool final
31{
32public:
34 MeshLib::Mesh const& org_mesh,
35 std::vector<int> const& vec_fracture_mat_IDs,
36 std::vector<std::vector<MeshLib::Node*>> const& vec_vec_fracture_nodes,
37 std::vector<std::vector<MeshLib::Element*>> const&
38 vec_vec_fracture_matrix_elements,
39 std::vector<std::pair<std::size_t, std::vector<int>>> const&
40 vec_branch_nodeID_matIDs,
41 std::vector<std::pair<std::size_t, std::vector<int>>> const&
42 vec_junction_nodeID_matIDs);
43
44 MeshLib::Mesh const& getOutputMesh() const { return *_output_mesh; }
45
46private:
47 template <typename T>
49 MeshLib::PropertyVector<T> const& property);
50 template <typename T>
52 MeshLib::PropertyVector<T> const& source_property,
53 MeshLib::PropertyVector<T>* const destination_property);
54 void calculateTotalDisplacement(unsigned const n_fractures,
55 unsigned const n_junctions);
56
58 std::unique_ptr<MeshLib::Mesh> _output_mesh;
59 std::map<std::size_t, std::vector<std::size_t>> _map_dup_newNodeIDs;
60};
61
62} // namespace LIE
63} // namespace ProcessLib
Definition of the Mesh class.
MeshLib::Mesh const & getOutputMesh() const
Definition PostUtils.h:44
void copyPropertyValues(MeshLib::PropertyVector< T > const &source_property, MeshLib::PropertyVector< T > *const destination_property)
MeshLib::Mesh const & _org_mesh
Definition PostUtils.h:57
std::map< std::size_t, std::vector< std::size_t > > _map_dup_newNodeIDs
Definition PostUtils.h:59
void calculateTotalDisplacement(unsigned const n_fractures, unsigned const n_junctions)
MeshLib::PropertyVector< T > * createProperty(MeshLib::PropertyVector< T > const &property)
std::unique_ptr< MeshLib::Mesh > _output_mesh
Definition PostUtils.h:58
PostProcessTool(MeshLib::Mesh const &org_mesh, std::vector< int > const &vec_fracture_mat_IDs, std::vector< std::vector< MeshLib::Node * > > const &vec_vec_fracture_nodes, std::vector< std::vector< MeshLib::Element * > > const &vec_vec_fracture_matrix_elements, std::vector< std::pair< std::size_t, std::vector< int > > > const &vec_branch_nodeID_matIDs, std::vector< std::pair< std::size_t, std::vector< int > > > const &vec_junction_nodeID_matIDs)
Definition PostUtils.cpp:45