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.
thermal_forward_euler_scheme.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(KRATOS_THERMAL_FORWARD_EULER_SCHEME_H_INCLUDED)
10 #define KRATOS_THERMAL_FORWARD_EULER_SCHEME_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
22 
23 namespace Kratos
24 {
25  class KRATOS_API(THERMAL_DEM_APPLICATION) ThermalForwardEulerScheme : public ThermalDEMIntegrationScheme
26  {
27  public:
28 
29  // Pointer definition
31 
32  // Constructor / Destructor
34  virtual ~ThermalForwardEulerScheme();
35 
36  // Public methods
37  void SetThermalIntegrationSchemeInProperties (Properties::Pointer pProp, bool verbose = true) const override;
38  void UpdateTemperature (Node& i, const double delta_t, const double c) override;
39 
40  // Clone
42  ThermalDEMIntegrationScheme* cloned_scheme(new ThermalForwardEulerScheme(*this));
43  return cloned_scheme;
44  }
45 
46  ThermalDEMIntegrationScheme::Pointer CloneShared() const override {
47  ThermalDEMIntegrationScheme::Pointer cloned_scheme(new ThermalForwardEulerScheme(*this));
48  return cloned_scheme;
49  }
50 
51  // Turn back information as a string
52  virtual std::string Info() const override {
53  std::stringstream buffer;
54  buffer << "ThermalForwardEulerScheme";
55  return buffer.str();
56  }
57 
58  // Print object information
59  virtual void PrintInfo(std::ostream& rOStream) const override { rOStream << "ThermalForwardEulerScheme"; }
60  virtual void PrintData(std::ostream& rOStream) const override {}
61 
62  private:
63 
64  // Assignment operator / Copy constructor
65  ThermalForwardEulerScheme& operator=(ThermalForwardEulerScheme const& rOther) {return *this;}
66  ThermalForwardEulerScheme(ThermalForwardEulerScheme const& rOther) {*this = rOther;}
67 
68  }; // Class ThermalForwardEulerScheme
69 
70  // input stream function
71  inline std::istream& operator>>(std::istream& rIStream,
73  return rIStream;
74  }
75 
76  // output stream function
77  inline std::ostream& operator<<(std::ostream& rOStream,
78  const ThermalForwardEulerScheme& rThis) {
79  rThis.PrintInfo(rOStream);
80  rOStream << std::endl;
81  rThis.PrintData(rOStream);
82  return rOStream;
83  }
84 
85 } // namespace Kratos
86 
87 #endif // KRATOS_THERMAL_FORWARD_EULER_SCHEME_H_INCLUDED defined
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
This class defines the node.
Definition: node.h:65
Definition: thermal_dem_integration_scheme.h:25
Definition: thermal_forward_euler_scheme.h:26
virtual void PrintData(std::ostream &rOStream) const override
Definition: thermal_forward_euler_scheme.h:60
ThermalDEMIntegrationScheme::Pointer CloneShared() const override
Definition: thermal_forward_euler_scheme.h:46
virtual void PrintInfo(std::ostream &rOStream) const override
Definition: thermal_forward_euler_scheme.h:59
KRATOS_CLASS_POINTER_DEFINITION(ThermalForwardEulerScheme)
virtual std::string Info() const override
Definition: thermal_forward_euler_scheme.h:52
ThermalDEMIntegrationScheme * CloneRaw() const override
Definition: thermal_forward_euler_scheme.h:41
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
c
Definition: generate_weakly_compressible_navier_stokes_element.py:108
float delta_t
Definition: rotatingcone_PureConvectionBenchmarking.py:129
integer i
Definition: TensorModule.f:17