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_bob_complete.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_BOB_COMPLETE_H_INCLUDED)
10 #define DIRECT_CONDUCTION_MODEL_BOB_COMPLETE_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) DirectConductionBOBComplete : public DirectConductionModel
22  {
23  public:
24 
25  // Pointer definition
27 
28  // Definitions
29  #define ETA_MIN 1.0
30  #define ETA_MAX 100.0
31  #define LAMB_MIN 0.01
32  #define LAMB_MAX 100.0
33 
34  // Constructor / Destructor
35  DirectConductionBOBComplete();
36  virtual ~DirectConductionBOBComplete();
37 
38  // Public methods
39  double GetSearchDistance (const ProcessInfo& r_process_info, ThermalSphericParticle* particle) override;
40  double ComputeHeatFlux (const ProcessInfo& r_process_info, ThermalSphericParticle* particle) override;
41  double ComputeHeatTransferCoeff (const ProcessInfo& r_process_info, ThermalSphericParticle* particle);
42  double ContactCoeff (const ProcessInfo& r_process_info, ThermalSphericParticle* particle);
43  double SeparatedCoeff (const ProcessInfo& r_process_info, ThermalSphericParticle* particle);
44  double ContactCoeffEtaMin (const double Reff, const double kf, const double eta, const double kpf);
45  double ContactCoeffEtaMax (const double Reff, const double kf, const double eta, const double kpf);
46  double SeparatedCoeffLambMin (const double Reff, const double kf, const double kpf2);
47  double SeparatedCoeffLambMax (const double Reff, const double kf, const double Rcyl, const double Ds);
48 
49  // Clone
50  HeatExchangeMechanism* CloneRaw() const override {
51  HeatExchangeMechanism* cloned_model(new DirectConductionBOBComplete(*this));
52  return cloned_model;
53  }
54 
55  HeatExchangeMechanism::Pointer CloneShared() const override {
56  HeatExchangeMechanism::Pointer cloned_model(new DirectConductionBOBComplete(*this));
57  return cloned_model;
58  }
59 
60  // Turn back information as a string
61  virtual std::string Info() const override {
62  std::stringstream buffer;
63  buffer << "DirectConductionBOBComplete";
64  return buffer.str();
65  }
66 
67  // Print object information
68  virtual void PrintInfo(std::ostream& rOStream) const override { rOStream << "DirectConductionBOBComplete"; }
69  virtual void PrintData(std::ostream& rOStream) const override {}
70 
71  private:
72 
73  // Assignment operator / Copy constructor
75  DirectConductionBOBComplete(DirectConductionBOBComplete const& rOther) {*this = rOther;}
76 
77  }; // Class DirectConductionBOBComplete
78 
79  // input stream function
80  inline std::istream& operator>>(std::istream& rIStream,
82  return rIStream;
83  }
84 
85  // output stream function
86  inline std::ostream& operator<<(std::ostream& rOStream,
87  const DirectConductionBOBComplete& rThis) {
88  rThis.PrintInfo(rOStream);
89  rOStream << std::endl;
90  rThis.PrintData(rOStream);
91  return rOStream;
92  }
93 
94 } // namespace Kratos
95 
96 #endif // DIRECT_CONDUCTION_MODEL_BOB_COMPLETE_H_INCLUDED
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: direct_conduction_bob_complete.h:22
HeatExchangeMechanism * CloneRaw() const override
Definition: direct_conduction_bob_complete.h:50
virtual std::string Info() const override
Definition: direct_conduction_bob_complete.h:61
HeatExchangeMechanism::Pointer CloneShared() const override
Definition: direct_conduction_bob_complete.h:55
virtual void PrintInfo(std::ostream &rOStream) const override
Definition: direct_conduction_bob_complete.h:68
virtual void PrintData(std::ostream &rOStream) const override
Definition: direct_conduction_bob_complete.h:69
KRATOS_CLASS_POINTER_DEFINITION(DirectConductionBOBComplete)
Definition: direct_conduction_model.h:23
Definition: heat_exchange_mechanism.h:28
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