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