HeatFluidCoupled< Particle > Class Template Referencefinal

Class of particles that store both temperature and liquid volume, which is adapted for the CFD-DEM studies. More...

#include <HeatFluidCoupledParticle.h>

+ Inheritance diagram for HeatFluidCoupled< Particle >:

Public Member Functions

 HeatFluidCoupled ()=default
 HeatFluidCoupled constructor creates a HeatFluidCoupled at (0,0,0) with radius, mass and inertia equal to 1. More...
 
 HeatFluidCoupled (const HeatFluidCoupled &p)=default
 HeatFluidCoupled copy constructor, which accepts as input a reference to a HeatFluidCoupled. It creates a copy of this HeatFluidCoupled and all it's information. Usually it is better to use the copy() function for polymorphism. More...
 
 ~HeatFluidCoupled () override=default
 HeatFluidCoupled destructor, needs to be implemented and checked if it removes tangential spring information. More...
 
HeatFluidCoupledcopy () const override
 HeatFluidCoupled copy method. Use copy constructor of this HeatFluidCoupled to create a copy on the heap, useful for polymorphism. More...
 
std::string getName () const override
 Returns the name of the object; in this case "HeatFluidCoupledParticle". More...
 
unsigned getNumberOfFieldsVTK () const override
 Tells the vtkWriter how many fields should be written for this particle type. More...
 
std::string getTypeVTK (unsigned) const override
 Tells the vtkWriter the type of each field written for this particle type. More...
 
std::string getNameVTK (unsigned i) const override
 Tells the vtkWriter the name of each field written for this particle type. More...
 
std::vector< MdoublegetFieldVTK (unsigned i) const override
 Tells the vtkWriter the value of each field written for this particle type. More...
 
void actionsAfterTimeStep () override
 The actionAfterTimeStep is defined in the species, as we cannot extract the species properties of a HeatFluidCoupled*Species. More...
 
- Public Member Functions inherited from Thermal< LiquidFilm< Particle > >
 Thermal ()
 Basic Particle constructor, creates a particle at (0,0,0) with radius, mass and inertia equal to 1. More...
 
 Thermal (const Thermal &p)
 Particle copy constructor, which accepts as input a reference to a Particle. It creates a copy of this Particle and all it's information. Usually it is better to use the copy() function for polymorphism. More...
 
 ~Thermal () override=default
 Particle destructor, needs to be implemented and checked if it removes tangential spring information. More...
 
Thermalcopy () const override
 Particle copy method. It calls to copy constructor of this Particle, useful for polymorfism. More...
 
void write (std::ostream &os) const override
 
std::string getName () const override
 
void read (std::istream &is) override
 
Mdouble getTemperature () const
 
void setTemperature (Mdouble temperature)
 
void addTemperature (Mdouble temperature)
 
void setTemperatureDependentDensity (const std::function< double(double)> &temperatureDependentDensity)
 
const std::function< double(double)> & getTemperatureDependentDensity () const
 
const std::function< double(double)> & getTimeDependentTemperature () const
 
void setTimeDependentTemperature (const std::function< double(double)> &timeDependentTemperature)
 
void actionsAfterTimeStep () override
 
bool isSphericalParticle () const override
 
- Public Member Functions inherited from LiquidFilm< Particle >
 LiquidFilm ()
 Basic Particle constructor, creates an Particle at (0,0,0) with radius, mass and inertia equal to 1. More...
 
 LiquidFilm (const LiquidFilm &p)
 Particle copy constructor, which accepts as input a reference to a Particle. It creates a copy of this Particle and all it's information. Usually it is better to use the copy() function for polymorfism. More...
 
 ~LiquidFilm () override=default
 Particle destructor, needs to be implemented and checked if it removes tangential spring information. More...
 
LiquidFilmcopy () const override
 Particle copy method. It calls to copy constructor of this Particle, useful for polymorfism. More...
 
void write (std::ostream &os) const override
 
std::string getName () const override
 
void read (std::istream &is) override
 
Mdouble getLiquidVolume () const
 
void setLiquidVolume (Mdouble liquidVolume)
 
void addLiquidVolume (Mdouble liquidVolume)
 
unsigned getNumberOfFieldsVTK () const override
 
std::string getTypeVTK (unsigned i) const override
 
std::string getNameVTK (unsigned i) const override
 
std::vector< MdoublegetFieldVTK (unsigned i) const override
 
bool isSphericalParticle () const override
 

Additional Inherited Members

- Protected Attributes inherited from Thermal< LiquidFilm< Particle > >
Mdouble temperature_
 
- Protected Attributes inherited from LiquidFilm< Particle >
Mdouble liquidVolume_
 

Detailed Description

template<class Particle>
class HeatFluidCoupled< Particle >

Class of particles that store both temperature and liquid volume, which is adapted for the CFD-DEM studies.

In some CFD-DEM studies, a drying process needs to be simulated. Therefore, we selected the drying/liquid evaporation model of Azmir et al. (2018), which considers heat and mass transfer between the liquid film on the particles and the surrounding air. Their model considers convection, conduction, radiation of heat, and evaporation of liquid. Conduction is already implemented in ThermalParticles, from which this class derives; convection and radiation is still missing. This class implements evaporation model.

Constructor & Destructor Documentation

◆ HeatFluidCoupled() [1/2]

template<class Particle >
HeatFluidCoupled< Particle >::HeatFluidCoupled ( )
default

HeatFluidCoupled constructor creates a HeatFluidCoupled at (0,0,0) with radius, mass and inertia equal to 1.

◆ HeatFluidCoupled() [2/2]

template<class Particle >
HeatFluidCoupled< Particle >::HeatFluidCoupled ( const HeatFluidCoupled< Particle > &  p)
default

HeatFluidCoupled copy constructor, which accepts as input a reference to a HeatFluidCoupled. It creates a copy of this HeatFluidCoupled and all it's information. Usually it is better to use the copy() function for polymorphism.

Constructor that copies most of the properties of the given particle. Please note that not everything is copied, for example the position in the HGrid is not determined yet by the end of this constructor. It also does not copy the interactions and the pointer to the handler that handles this particle. Use with care.

Parameters
[in,out]pReference to the HeatFluidCoupled this one should become a copy of.

◆ ~HeatFluidCoupled()

template<class Particle >
HeatFluidCoupled< Particle >::~HeatFluidCoupled ( )
overridedefault

HeatFluidCoupled destructor, needs to be implemented and checked if it removes tangential spring information.

Destructor that asks the ParticleHandler to check if this was the smallest or largest particle and adjust itself accordingly.

Member Function Documentation

◆ actionsAfterTimeStep()

template<class Particle >
void HeatFluidCoupled< Particle >::actionsAfterTimeStep ( )
inlineoverride

The actionAfterTimeStep is defined in the species, as we cannot extract the species properties of a HeatFluidCoupled*Species.

128  {
129  this->getSpecies()->actionsAfterTimeStep(this);
130  }

◆ copy()

template<class Particle >
HeatFluidCoupled* HeatFluidCoupled< Particle >::copy ( ) const
inlineoverride

HeatFluidCoupled copy method. Use copy constructor of this HeatFluidCoupled to create a copy on the heap, useful for polymorphism.

Returns
pointer to the particle's copy.
79  {
80  return new HeatFluidCoupled<Particle>(*this);
81  }
Class of particles that store both temperature and liquid volume, which is adapted for the CFD-DEM st...
Definition: HeatFluidCoupledParticle.h:46

◆ getFieldVTK()

template<class Particle >
std::vector<Mdouble> HeatFluidCoupled< Particle >::getFieldVTK ( unsigned  i) const
inlineoverride

Tells the vtkWriter the value of each field written for this particle type.

110  {
111  if (i==1) {
112  return {this->liquidVolume_};
113  } else if (i==2 || i==0) {
114  Mdouble fullLiquidVolume = (i==2)?0:this->liquidVolume_;
115  for (auto k : this->getInteractions()) {
116  auto j = dynamic_cast<LiquidMigrationWilletInteraction*>(k);
117  if (j) {
118  fullLiquidVolume += 0.5*j->getLiquidBridgeVolume();
119  }
120  }
121  return {fullLiquidVolume};
122  } else {
123  return {this->temperature_};
124  }
125  }
double Mdouble
Definition: GeneralDefine.h:34
Mdouble liquidVolume_
Definition: LiquidFilmParticle.h:136
Defines the liquid bridge willet interaction between two particles or walls.
Definition: LiquidMigrationWilletInteraction.h:45
Mdouble getLiquidBridgeVolume() const
Definition: LiquidMigrationWilletInteraction.cc:462
Mdouble temperature_
Definition: ThermalParticle.h:141
const std::complex< Mdouble > i
Definition: ExtendedMath.h:51

References constants::i, LiquidFilm< Particle >::liquidVolume_, and Thermal< LiquidFilm< Particle > >::temperature_.

◆ getName()

template<class Particle >
std::string HeatFluidCoupled< Particle >::getName ( ) const
inlineoverride

Returns the name of the object; in this case "HeatFluidCoupledParticle".

Returns
The object name.
88  {
89  return "HeatFluidCoupledParticle";
90  }

◆ getNameVTK()

template<class Particle >
std::string HeatFluidCoupled< Particle >::getNameVTK ( unsigned  i) const
inlineoverride

Tells the vtkWriter the name of each field written for this particle type.

98  {
99  if (i==1)
100  return "liquidFilmVolume";
101  else if (i==2)
102  return "liquidBridgeVolume";
103  else if (i==0)
104  return "fullLiquidVolume";
105  else /* i=3 */
106  return "temperature";
107  }

References constants::i.

◆ getNumberOfFieldsVTK()

template<class Particle >
unsigned HeatFluidCoupled< Particle >::getNumberOfFieldsVTK ( ) const
inlineoverride

Tells the vtkWriter how many fields should be written for this particle type.

92 { return 4; }

◆ getTypeVTK()

template<class Particle >
std::string HeatFluidCoupled< Particle >::getTypeVTK ( unsigned  ) const
inlineoverride

Tells the vtkWriter the type of each field written for this particle type.

95 { return "Float32"; }

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