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.
direct_conduction_pipe.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(DIRECT_CONDUCTION_MODEL_PIPE_H_INCLUDED)
10 #define DIRECT_CONDUCTION_MODEL_PIPE_H_INCLUDED
11 
12 // System includes
13 
14 // External includes
15 
16 // Project includes
18 
19 namespace Kratos
20 {
21  class KRATOS_API(THERMAL_DEM_APPLICATION) DirectConductionPipe : public DirectConductionModel
22  {
23  public:
24 
25  // Pointer definition
27 
28  // Constructor / Destructor
30  virtual ~DirectConductionPipe();
31 
32  // Public methods
33  double ComputeHeatFlux(const ProcessInfo& r_process_info, ThermalSphericParticle* particle) override;
34 
35  // Clone
36  HeatExchangeMechanism* CloneRaw() const override {
37  HeatExchangeMechanism* cloned_model(new DirectConductionPipe(*this));
38  return cloned_model;
39  }
40 
41  HeatExchangeMechanism::Pointer CloneShared() const override {
42  HeatExchangeMechanism::Pointer cloned_model(new DirectConductionPipe(*this));
43  return cloned_model;
44  }
45 
46  // Turn back information as a string
47  virtual std::string Info() const override {
48  std::stringstream buffer;
49  buffer << "DirectConductionPipe";
50  return buffer.str();
51  }
52 
53  // Print object information
54  virtual void PrintInfo(std::ostream& rOStream) const override { rOStream << "DirectConductionPipe"; }
55  virtual void PrintData(std::ostream& rOStream) const override {}
56 
57  private:
58 
59  // Assignment operator / Copy constructor
60  DirectConductionPipe& operator=(DirectConductionPipe const& rOther) {return *this;}
61  DirectConductionPipe(DirectConductionPipe const& rOther) {*this = rOther;}
62 
63  }; // Class DirectConductionPipe
64 
65  // input stream function
66  inline std::istream& operator>>(std::istream& rIStream,
67  DirectConductionPipe& rThis) {
68  return rIStream;
69  }
70 
71  // output stream function
72  inline std::ostream& operator<<(std::ostream& rOStream,
73  const DirectConductionPipe& rThis) {
74  rThis.PrintInfo(rOStream);
75  rOStream << std::endl;
76  rThis.PrintData(rOStream);
77  return rOStream;
78  }
79 
80 } // namespace Kratos
81 
82 #endif // DIRECT_CONDUCTION_MODEL_PIPE_H_INCLUDED
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: direct_conduction_model.h:23
Definition: direct_conduction_pipe.h:22
KRATOS_CLASS_POINTER_DEFINITION(DirectConductionPipe)
virtual std::string Info() const override
Definition: direct_conduction_pipe.h:47
HeatExchangeMechanism::Pointer CloneShared() const override
Definition: direct_conduction_pipe.h:41
virtual void PrintData(std::ostream &rOStream) const override
Definition: direct_conduction_pipe.h:55
virtual void PrintInfo(std::ostream &rOStream) const override
Definition: direct_conduction_pipe.h:54
HeatExchangeMechanism * CloneRaw() const override
Definition: direct_conduction_pipe.h:36
Definition: heat_exchange_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