KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
mapping_matrix_utilities.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Philipp Bucher, Jordi Cotela
11 //
12 // See Master-Thesis P.Bucher
13 // "Development and Implementation of a Parallel
14 // Framework for Non-Matching Grid Mapping"
15 
16 #pragma once
17 
18 // System includes
19 
20 // External includes
21 
22 // Project includes
23 #include "includes/model_part.h"
25 
26 namespace Kratos {
27 
28 template<class TSparseSpace, class TDenseSpace>
29 class KRATOS_API(MAPPING_APPLICATION) MappingMatrixUtilities
30 {
31 public:
34  const std::size_t VectorSize);
35 
36 static void BuildMappingMatrix(
39  Kratos::unique_ptr<typename TSparseSpace::VectorType>& rpInterfaceVectorDestination,
40  const ModelPart& rModelPartOrigin,
41  const ModelPart& rModelPartDestination,
42  std::vector<Kratos::unique_ptr<MapperLocalSystem>>& rMapperLocalSystems,
43  const int EchoLevel);
44 
45 static void CheckRowSum(
46  const typename TSparseSpace::MatrixType& rM,
47  const std::string& rBaseFileName,
48  const bool ThrowError = false,
49  const double Tolerance = 1e-15);
50 
51 };
52 
53 } // namespace Kratos.
Definition: mapping_matrix_utilities.h:30
static void InitializeSystemVector(Kratos::unique_ptr< typename TSparseSpace::VectorType > &rpVector, const std::size_t VectorSize)
static void BuildMappingMatrix(Kratos::unique_ptr< typename TSparseSpace::MatrixType > &rpMappingMatrix, Kratos::unique_ptr< typename TSparseSpace::VectorType > &rpInterfaceVectorOrigin, Kratos::unique_ptr< typename TSparseSpace::VectorType > &rpInterfaceVectorDestination, const ModelPart &rModelPartOrigin, const ModelPart &rModelPartDestination, std::vector< Kratos::unique_ptr< MapperLocalSystem >> &rMapperLocalSystems, const int EchoLevel)
static void CheckRowSum(const typename TSparseSpace::MatrixType &rM, const std::string &rBaseFileName, const bool ThrowError=false, const double Tolerance=1e-15)
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
static int EchoLevel
Definition: co_sim_EMPIRE_API.h:42
Matrix MatrixType
Definition: geometrical_transformation_utilities.h:55
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::unique_ptr< T > unique_ptr
Definition: smart_pointers.h:33
e
Definition: run_cpp_mpi_tests.py:31