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.
heat_map_utilities.h
Go to the documentation of this file.
1 // Kratos Multi-Physics - ThermalDEM Application
2 //
3 // License: BSD License
4 // Kratos default license: kratos/license.txt
5 //
6 // Main authors: Rafael Rangel (rrangel@cimne.upc.edu)
7 //
8 
9 #ifndef HEAT_MAP_UTILITIES_H_INCLUDED
10 #define HEAT_MAP_UTILITIES_H_INCLUDED
11 
12 // System includes
13 
14 // External includes
15 #include "includes/model_part.h"
16 
17 // Project includes
19 
20 namespace Kratos
21 {
22  class KRATOS_API(THERMAL_DEM_APPLICATION) HeatMapUtilities
23  {
24  public:
25 
26  // Pointer definition
28 
29  // Constructor / destructor methods
32 
33  // Public methods
34  void ExecuteInitialize (ModelPart& rModelPart);
35  void ExecuteFinalizeSolutionStep (ModelPart& rModelPart);
36  void ExecuteFinalize (ModelPart& rModelPart);
37 
38  // Public variables
39  int mDimX, mDimY, mDimZ; // Dimensions of heat map matrices
40  std::vector<std::vector<std::vector<double>>> mGlobalHeatMapGenerationDampingPP; // Global heat map matrix for heat generaion by damping between particle-particle
41  std::vector<std::vector<std::vector<double>>> mGlobalHeatMapGenerationDampingPW; // Global heat map matrix for heat generaion by damping between particle-wall
42  std::vector<std::vector<std::vector<double>>> mGlobalHeatMapGenerationSlidingPP; // Global heat map matrix for heat generaion by sliding between particle-particle
43  std::vector<std::vector<std::vector<double>>> mGlobalHeatMapGenerationSlidingPW; // Global heat map matrix for heat generaion by sliding between particle-wall
44  std::vector<std::vector<std::vector<double>>> mGlobalHeatMapGenerationRollingPP; // Global heat map matrix for heat generaion by rolling between particle-particle
45  std::vector<std::vector<std::vector<double>>> mGlobalHeatMapGenerationRollingPW; // Global heat map matrix for heat generaion by rolling between particle-wall
46 
47  private:
48 
49  // Private methods
50  void ResetMap(std::vector<std::vector<std::vector<double>>>& map);
51 
52  // Assignment operator
54 
55  }; // Class HeatMapUtilities
56 } // namespace Kratos
57 
58 #endif // HEAT_MAP_UTILITIES_H_INCLUDED
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
void ExecuteFinalizeSolutionStep() override
this function will be executed at every time step AFTER performing the solve phase
Definition: periodic_interface_process.hpp:55
void ExecuteInitialize() override
Definition: periodic_interface_process.hpp:37
Definition: heat_map_utilities.h:23
std::vector< std::vector< std::vector< double > > > mGlobalHeatMapGenerationSlidingPP
Definition: heat_map_utilities.h:42
std::vector< std::vector< std::vector< double > > > mGlobalHeatMapGenerationRollingPW
Definition: heat_map_utilities.h:45
std::vector< std::vector< std::vector< double > > > mGlobalHeatMapGenerationDampingPW
Definition: heat_map_utilities.h:41
std::vector< std::vector< std::vector< double > > > mGlobalHeatMapGenerationDampingPP
Definition: heat_map_utilities.h:40
int mDimX
Definition: heat_map_utilities.h:39
std::vector< std::vector< std::vector< double > > > mGlobalHeatMapGenerationSlidingPW
Definition: heat_map_utilities.h:43
std::vector< std::vector< std::vector< double > > > mGlobalHeatMapGenerationRollingPP
Definition: heat_map_utilities.h:44
KRATOS_CLASS_POINTER_DEFINITION(HeatMapUtilities)
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21