HeatFluidCoupledInteraction< NormalForceInteraction > Class Template Reference

#include <HeatFluidCoupledInteraction.h>

+ Inheritance diagram for HeatFluidCoupledInteraction< NormalForceInteraction >:

Public Types

typedef HeatFluidCoupledSpecies< typename NormalForceInteraction::SpeciesType > SpeciesType
 
- Public Types inherited from ThermalInteraction< NormalForceInteraction >
typedef ThermalSpecies< typename NormalForceInteraction::SpeciesType > SpeciesType
 

Public Member Functions

 HeatFluidCoupledInteraction (BaseInteractable *P, BaseInteractable *I, unsigned timeStamp)
 Constructor. More...
 
 HeatFluidCoupledInteraction ()
 Default Constructor. More...
 
 HeatFluidCoupledInteraction (const HeatFluidCoupledInteraction &p)
 Copy constructor. More...
 
virtual ~HeatFluidCoupledInteraction ()
 Destructor. More...
 
void computeNormalForce ()
 Computes the normal forces due to linear plastic visco elastic interaction. More...
 
- Public Member Functions inherited from ThermalInteraction< NormalForceInteraction >
 ThermalInteraction (BaseInteractable *P, BaseInteractable *I, unsigned timeStamp)
 Constructor. More...
 
 ThermalInteraction ()
 Default Constructor. More...
 
 ThermalInteraction (const ThermalInteraction &p)
 Copy constructor. More...
 
virtual ~ThermalInteraction ()
 Destructor. More...
 
void computeNormalForce ()
 Computes the normal forces due to linear plastic visco elastic interaction. More...
 

Member Typedef Documentation

◆ SpeciesType

template<class NormalForceInteraction >
typedef HeatFluidCoupledSpecies<typename NormalForceInteraction::SpeciesType> HeatFluidCoupledInteraction< NormalForceInteraction >::SpeciesType

Constructor & Destructor Documentation

◆ HeatFluidCoupledInteraction() [1/3]

template<class NormalForceInteraction >
HeatFluidCoupledInteraction< NormalForceInteraction >::HeatFluidCoupledInteraction ( BaseInteractable P,
BaseInteractable I,
unsigned  timeStamp 
)
inline

Constructor.

26  {}
Stores information about interactions between two interactable objects; often particles but could be ...
Definition: BaseInteraction.h:39
Definition: ThermalInteraction.h:16
#define I
Definition: main.h:127
double P
Uniform pressure.
Definition: TwenteMeshGluing.cpp:77

◆ HeatFluidCoupledInteraction() [2/3]

template<class NormalForceInteraction >
HeatFluidCoupledInteraction< NormalForceInteraction >::HeatFluidCoupledInteraction ( )
inline

Default Constructor.

◆ HeatFluidCoupledInteraction() [3/3]

Copy constructor.

41  {}
float * p
Definition: Tutorial_Map_using.cpp:9

◆ ~HeatFluidCoupledInteraction()

template<class NormalForceInteraction >
virtual HeatFluidCoupledInteraction< NormalForceInteraction >::~HeatFluidCoupledInteraction ( )
inlinevirtual

Destructor.

47  {}

Member Function Documentation

◆ computeNormalForce()

template<class NormalForceInteraction >
void HeatFluidCoupledInteraction< NormalForceInteraction >::computeNormalForce

Computes the normal forces due to linear plastic visco elastic interaction.

Compute temperature change due to heat conduction between particles

58 {
59  NormalForceInteraction::computeNormalForce();
60  Mdouble radius = 2.0 * NormalForceInteraction::getEffectiveRadius();
61  Mdouble contactArea = constants::pi * radius * std::max(0.0,NormalForceInteraction::getOverlap());
62  const SpeciesType* species = static_cast<const SpeciesType*>(NormalForceInteraction::getBaseSpecies()->getNormalForce());
63  auto pParticle = dynamic_cast<HeatFluidCoupledParticle*>(NormalForceInteraction::getP());
64  auto iParticle = dynamic_cast<HeatFluidCoupledParticle*>(NormalForceInteraction::getI());
65  // if both p and i are particles
66  if (pParticle && iParticle)
67  {
68  /* compute heat conduction, Q = lambda * A dT / L, */
69  Mdouble heatTransfer = species->getThermalConductivity()
70  * (pParticle->getTemperature() - iParticle->getTemperature())
71  * contactArea / NormalForceInteraction::getDistance();
72  /* m*dT = Q/c*dt */
73  Mdouble mdT = heatTransfer / species->getHeatCapacity()
74  * NormalForceInteraction::getHandler()->getDPMBase()->getTimeStep();
75  pParticle->addTemperature(-mdT * pParticle->getInvMass());
76  iParticle->addTemperature(mdT * iParticle->getInvMass());
77  }
78 }
HeatFluidCoupledSpecies< typename NormalForceInteraction::SpeciesType > SpeciesType
Definition: HeatFluidCoupledInteraction.h:19
Class of particles that store both temperature and liquid volume, which is adapted for the CFD-DEM st...
Definition: HeatFluidCoupledParticle.h:25
#define max(a, b)
Definition: datatypes.h:23
radius
Definition: UniformPSDSelfTest.py:15
const Mdouble pi
Definition: ExtendedMath.h:23

References ThermalSpecies< NormalForceSpecies >::getHeatCapacity(), ThermalSpecies< NormalForceSpecies >::getThermalConductivity(), max, constants::pi, and UniformPSDSelfTest::radius.


The documentation for this class was generated from the following file: