HeatFluidCoupled< Particle > Class Template Reference

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)
 
Mdouble getFullLiquidVolume () const
 
Mdouble getLiquidBridgeVolume () const
 
Mdouble getTotalEvaporatedLiquidVolume () const
 
void setTotalEvaporatedLiquidVolume (Mdouble liquidVolume)
 
void addTotalEvaporatedLiquidVolume (Mdouble liquidVolume)
 
Mdouble getMeanLiquidFilmThickness () const
 
Mdouble getRelativeLiquidVolume () const
 
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_
 
Mdouble totalEvaporatedLiquidVolume_
 

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.

105  {
106  this->getSpecies()->actionsAfterTimeStep(this);
107  }

◆ 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.
58  {
59  return new HeatFluidCoupled<Particle>(*this);
60  }
Class of particles that store both temperature and liquid volume, which is adapted for the CFD-DEM st...
Definition: HeatFluidCoupledParticle.h:25

◆ 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.

91  {
92  if (i==0)
93  return { this->getFullLiquidVolume() };
94  else if (i==1)
95  return { this->liquidVolume_ };
96  else if (i==2)
97  return { this->getLiquidBridgeVolume() };
98  else if (i==3)
99  return { this->totalEvaporatedLiquidVolume_ };
100  else /* i=4 */
101  return { this->temperature_ };
102  }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Mdouble getLiquidBridgeVolume() const
Definition: LiquidFilmParticle.h:215
Mdouble totalEvaporatedLiquidVolume_
Definition: LiquidFilmParticle.h:153
Mdouble liquidVolume_
Definition: LiquidFilmParticle.h:153
Mdouble getFullLiquidVolume() const
Definition: LiquidFilmParticle.h:99
Mdouble temperature_
Definition: ThermalParticle.h:120

References LiquidFilm< Particle >::getFullLiquidVolume(), LiquidFilm< Particle >::getLiquidBridgeVolume(), i, LiquidFilm< Particle >::liquidVolume_, Thermal< LiquidFilm< Particle > >::temperature_, and LiquidFilm< Particle >::totalEvaporatedLiquidVolume_.

◆ 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.
67  {
68  return "HeatFluidCoupled" + Particle::getName();
69  }
std::string getName(int argc, char *argv[])
Definition: CombineParallelDataFiles.cpp:16

References getName().

◆ 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.

77  {
78  if (i==0)
79  return "fullLiquidVolume";
80  else if (i==1)
81  return "liquidFilmVolume";
82  else if (i==2)
83  return "liquidBridgeVolume";
84  else if (i==3)
85  return "totalEvaporatedLiquidVolume";
86  else /* i=4 */
87  return "temperature";
88  }

References i.

◆ getNumberOfFieldsVTK()

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

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

71 { return 5; }

◆ 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.

74 { return "Float32"; }

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