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_exchange_mechanism.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(HEAT_EXCHANGE_MECHANISM_H_INCLUDED)
10 #define HEAT_EXCHANGE_MECHANISM_H_INCLUDED
11 
12 // System includes
13 #include <string>
14 #include <iostream>
15 
16 // External includes
17 #include "includes/define.h"
18 #include "includes/model_part.h"
19 
20 // Project includes
21 
22 namespace Kratos
23 {
24  // Forward declarations
25  class ThermalSphericParticle;
26 
27  class KRATOS_API(THERMAL_DEM_APPLICATION) HeatExchangeMechanism
28  {
29  public:
30 
31  // Pointer definition
33 
34  // Constructor / Destructor
36  virtual ~HeatExchangeMechanism();
37 
38  // Public methods
39  virtual void SetHeatExchangeMechanismInProperties (Properties::Pointer pProp, bool verbose = true) const;
40  virtual double GetSearchDistance (const ProcessInfo& r_process_info, ThermalSphericParticle* particle);
41  virtual double ComputeHeatFlux (const ProcessInfo& r_process_info, ThermalSphericParticle* particle);
42  virtual double FinalizeHeatFlux (const ProcessInfo& r_process_info, ThermalSphericParticle* particle);
43 
44  // Clone
45  virtual HeatExchangeMechanism* CloneRaw() const {
46  HeatExchangeMechanism* cloned_mechanism(new HeatExchangeMechanism(*this));
47  return cloned_mechanism;
48  }
49 
50  virtual HeatExchangeMechanism::Pointer CloneShared() const {
51  HeatExchangeMechanism::Pointer cloned_mechanism(new HeatExchangeMechanism(*this));
52  return cloned_mechanism;
53  }
54 
55  // Turn back information as a string
56  virtual std::string Info() const {
57  std::stringstream buffer;
58  buffer << "HeatExchangeMechanism";
59  return buffer.str();
60  }
61 
62  // Print object information
63  virtual void PrintInfo(std::ostream& rOStream) const { rOStream << "HeatExchangeMechanism"; }
64  virtual void PrintData(std::ostream& rOStream) const {}
65 
66  private:
67 
68  // Assignment operator / Copy constructor
69  HeatExchangeMechanism& operator=(HeatExchangeMechanism const& rOther) {return *this;}
70  HeatExchangeMechanism(HeatExchangeMechanism const& rOther) {*this = rOther;}
71 
72  // Serializer
73  friend class Serializer;
74 
75  virtual void save(Serializer& rSerializer) const {
76  //rSerializer.save("MyMemberName",myMember);
77  }
78 
79  virtual void load(Serializer& rSerializer) {
80  //rSerializer.load("MyMemberName",myMember);
81  }
82 
83  }; // Class HeatExchangeMechanism
84 
85  // input stream function
86  inline std::istream& operator >> (std::istream& rIStream, HeatExchangeMechanism& rThis) {
87  return rIStream;
88  }
89 
90  // output stream function
91  inline std::ostream& operator << (std::ostream& rOStream, const HeatExchangeMechanism& rThis) {
92  rThis.PrintInfo(rOStream);
93  rOStream << std::endl;
94  rThis.PrintData(rOStream);
95  return rOStream;
96  }
97 
98 } // namespace Kratos
99 
100 #endif // HEAT_EXCHANGE_MECHANISM_H_INCLUDED
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: heat_exchange_mechanism.h:28
virtual HeatExchangeMechanism * CloneRaw() const
Definition: heat_exchange_mechanism.h:45
virtual void PrintInfo(std::ostream &rOStream) const
Definition: heat_exchange_mechanism.h:63
virtual HeatExchangeMechanism::Pointer CloneShared() const
Definition: heat_exchange_mechanism.h:50
virtual std::string Info() const
Definition: heat_exchange_mechanism.h:56
virtual void PrintData(std::ostream &rOStream) const
Definition: heat_exchange_mechanism.h:64
KRATOS_CLASS_POINTER_DEFINITION(HeatExchangeMechanism)
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
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
def load(f)
Definition: ode_solve.py:307