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.
generation_dissipation.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 #if !defined(GENERATION_MODEL_DISSIPATION_H_INCLUDED)
10 #define GENERATION_MODEL_DISSIPATION_H_INCLUDED
11 
12 // System includes
13 
14 // External includes
15 
16 // Project includes
17 #include "generation_model.h"
18 
19 namespace Kratos
20 {
21  class KRATOS_API(THERMAL_DEM_APPLICATION) GenerationDissipation : public GenerationModel
22  {
23  public:
24 
25  // Pointer definition
27 
28  // Constructor / Destructor
30  virtual ~GenerationDissipation();
31 
32  // Public methods
33  double ComputeHeatGeneration (const ProcessInfo& r_process_info, ThermalSphericParticle* particle) override;
34  double ComputePartitionCoeff (ThermalSphericParticle* particle);
35  void FillDensityMap (const ProcessInfo& r_process_info,
36  ThermalSphericParticle* particle,
37  const double time,
38  const double heat_gen_damping_pp,
39  const double heat_gen_damping_pw,
40  const double heat_gen_sliding_pp,
41  const double heat_gen_sliding_pw,
42  const double heat_gen_rolling_pp,
43  const double heat_gen_rolling_pw);
44 
45  // Clone
46  HeatGenerationMechanism* CloneRaw() const override {
47  HeatGenerationMechanism* cloned_model(new GenerationDissipation(*this));
48  return cloned_model;
49  }
50 
51  HeatGenerationMechanism::Pointer CloneShared() const override {
52  HeatGenerationMechanism::Pointer cloned_model(new GenerationDissipation(*this));
53  return cloned_model;
54  }
55 
56  // Turn back information as a string
57  virtual std::string Info() const override {
58  std::stringstream buffer;
59  buffer << "GenerationDissipation";
60  return buffer.str();
61  }
62 
63  // Print object information
64  virtual void PrintInfo(std::ostream& rOStream) const override { rOStream << "GenerationDissipation"; }
65  virtual void PrintData(std::ostream& rOStream) const override {}
66 
67  private:
68 
69  // Assignment operator / Copy constructor
70  GenerationDissipation& operator=(GenerationDissipation const& rOther) {return *this;}
71  GenerationDissipation(GenerationDissipation const& rOther) {*this = rOther;}
72 
73  }; // Class GenerationDissipation
74 
75  // input stream function
76  inline std::istream& operator>>(std::istream& rIStream,
77  GenerationDissipation& rThis) {
78  return rIStream;
79  }
80 
81  // output stream function
82  inline std::ostream& operator<<(std::ostream& rOStream,
83  const GenerationDissipation& rThis) {
84  rThis.PrintInfo(rOStream);
85  rOStream << std::endl;
86  rThis.PrintData(rOStream);
87  return rOStream;
88  }
89 
90 } // namespace Kratos
91 
92 #endif // GENERATION_MODEL_DISSIPATION_H_INCLUDED
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: generation_dissipation.h:22
virtual std::string Info() const override
Definition: generation_dissipation.h:57
virtual void PrintInfo(std::ostream &rOStream) const override
Definition: generation_dissipation.h:64
KRATOS_CLASS_POINTER_DEFINITION(GenerationDissipation)
HeatGenerationMechanism * CloneRaw() const override
Definition: generation_dissipation.h:46
HeatGenerationMechanism::Pointer CloneShared() const override
Definition: generation_dissipation.h:51
virtual void PrintData(std::ostream &rOStream) const override
Definition: generation_dissipation.h:65
Definition: generation_model.h:23
Definition: heat_generation_mechanism.h:28
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Definition: thermal_spheric_particle.h:30
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
time
Definition: face_heat.py:85