HeatFluidCoupledSpecies< NormalForceSpecies > Class Template Reference

Species for the HeatFluidCoupledParticle. More...

#include <HeatFluidCoupledSpecies.h>

+ Inheritance diagram for HeatFluidCoupledSpecies< NormalForceSpecies >:

Public Types

typedef HeatFluidCoupledInteraction< typename NormalForceSpecies::InteractionType > InteractionType
 
- Public Types inherited from ThermalSpecies< NormalForceSpecies >
typedef ThermalInteraction< typename NormalForceSpecies::InteractionType > InteractionType
 The correct Interaction type for this FrictionForceSpecies. More...
 

Public Member Functions

 HeatFluidCoupledSpecies ()
 The default constructor. More...
 
 HeatFluidCoupledSpecies (const HeatFluidCoupledSpecies &s)
 The default copy constructor. More...
 
virtual ~HeatFluidCoupledSpecies ()
 The default destructor. More...
 
void write (std::ostream &os) const
 Writes the species properties to an output stream. More...
 
void read (std::istream &is)
 Reads the species properties from an input stream. More...
 
std::string getBaseName () const
 Used in Species::getName to obtain a unique name for each Species. More...
 
Mdouble getMassTransferCoefficient () const
 Allows massTransferCoefficient_ to be accessed. More...
 
void setMassTransferCoefficient (Mdouble massTransferCoefficient)
 Allows massTransferCoefficient_ to be changed. More...
 
Mdouble getLatentHeatVaporization () const
 Allows latentHeatVaporization_ to be accessed. More...
 
void setLatentHeatVaporization (Mdouble latentHeatVaporization)
 Allows latentHeatVaporization_ to be changed. More...
 
Mdouble getLiquidDensity () const
 Allows liquidDensity_ to be accessed. More...
 
void setLiquidDensity (Mdouble liquidDensity)
 Allows liquidDensity_ to be changed. More...
 
Mdouble getEvaporationCoefficientA () const
 Allows evaporationCoefficientA_ to be accessed. More...
 
void setEvaporationCoefficientA (Mdouble evaporationCoefficientA)
 Allows evaporationCoefficientA_ to be changed. More...
 
Mdouble getEvaporationCoefficientB () const
 Allows evaporationCoefficientB_ to be accessed. More...
 
void setEvaporationCoefficientB (Mdouble evaporationCoefficientB)
 Allows evaporationCoefficientB_ to be changed. More...
 
Mdouble getAmbientHumidity () const
 Allows ambientHumidity_ to be accessed. More...
 
void setAmbientHumidity (Mdouble ambientHumidity)
 Allows ambientHumidity_ to be changed. More...
 
Mdouble getAmbientEquilibriumMoistureContent () const
 Allows ambientEquilibriumMoistureContent_ to be accessed. More...
 
void setAmbientEquilibriumMoistureContent (Mdouble ambientEquilibriumMoistureContent)
 Allows ambientEquilibriumMoistureContent_ to be changed. More...
 
Mdouble getAmbientVapourConcentration () const
 Allows ambientVapourConcentration_ to be accessed. More...
 
void setAmbientVapourConcentration (Mdouble ambientVapourConcentration)
 Allows ambientVapourConcentration_ to be changed. More...
 
void actionsAfterTimeStep (BaseParticle *particle) const override
 
std::array< double, 2 > f (double liquidVolume, double temperature, double mass, double surfaceArea) const
 f1 is used in Runge–Kutta method. More...
 
- Public Member Functions inherited from ThermalSpecies< NormalForceSpecies >
 ThermalSpecies ()
 The default constructor. More...
 
 ThermalSpecies (const ThermalSpecies &s)
 The default copy constructor. More...
 
virtual ~ThermalSpecies ()
 The default destructor. More...
 
void write (std::ostream &os) const
 Writes the species properties to an output stream. More...
 
void read (std::istream &is)
 Reads the species properties from an input stream. More...
 
std::string getBaseName () const
 Used in Species::getName to obtain a unique name for each Species. More...
 
void actionsAfterTimeStep (BaseParticle *particle) const override
 Computes the heat transfer rate (. More...
 
Mdouble getHeatCapacity () const
 Allows heatCapacity_ to be accessed. More...
 
void setHeatCapacity (Mdouble heatCapacity)
 Allows heatCapacity_ to be changed. More...
 
Mdouble getThermalConductivity () const
 Allows heatCapacity_ to be accessed. More...
 
void setThermalConductivity (Mdouble thermalConductivity)
 Allows heatCapacity_ to be changed. More...
 
Mdouble getAmbientTemperature () const
 
void setAmbientTemperature (Mdouble ambientTemperature)
 
Vec3D getAmbientVelocity () const
 Allows ambientVelocity_ to be accessed. More...
 
void setAmbientVelocity (Vec3D ambientVelocity)
 Allows ambientVelocity_ to be changed. More...
 
Mdouble getAmbientThermalConductivity () const
 Allows ambientThermalConductivity_ to be accessed. More...
 
void setAmbientThermalConductivity (Mdouble ambientThermalConductivity)
 Allows ambientThermalConductivity_ to be changed. More...
 
Mdouble getAmbientDynamicViscosity () const
 Allows ambientDynamicViscosity_ to be accessed. More...
 
void setAmbientDynamicViscosity (Mdouble ambientDynamicViscosity)
 Allows ambientDynamicViscosity_ to be changed. More...
 
Mdouble getAmbientHeatCapacity () const
 Allows ambientHeatCapacity_ to be accessed. More...
 
void setAmbientHeatCapacity (Mdouble ambientHeatCapacity)
 Allows ambientHeatCapacity_ to be changed. More...
 
Mdouble getAmbientDensity () const
 Allows ambientDensity_ to be accessed. More...
 
void setAmbientDensity (Mdouble ambientDensity)
 Allows ambientDensity_ to be changed. More...
 

Private Attributes

Mdouble massTransferCoefficient_
 The mass transfer rate (m/s) More...
 
Mdouble latentHeatVaporization_
 The latent heat of vaporization (J/kg) More...
 
Mdouble liquidDensity_
 The liquid density (kg/m^3) More...
 
Mdouble evaporationCoefficientA_
 The evaporation coefficient a (dimensionless) More...
 
Mdouble evaporationCoefficientB_
 The evaporation coefficient b (dimensionless) More...
 
Mdouble ambientHumidity_
 The ambient humidity (dimensionless, between 0 and 1, but cannot be 0) More...
 
Mdouble ambientEquilibriumMoistureContent_
 The ambient equilibrium moisture content (dimensionless, between 0 and 1). More...
 
Mdouble ambientVapourConcentration_
 The ambient vapour concentration (kg/m^3). More...
 

Detailed Description

template<class NormalForceSpecies>
class HeatFluidCoupledSpecies< NormalForceSpecies >

Species for the HeatFluidCoupledParticle.

Member Typedef Documentation

◆ InteractionType

template<class NormalForceSpecies >
typedef HeatFluidCoupledInteraction<typename NormalForceSpecies::InteractionType> HeatFluidCoupledSpecies< NormalForceSpecies >::InteractionType

Constructor & Destructor Documentation

◆ HeatFluidCoupledSpecies() [1/2]

template<class NormalForceSpecies >
HeatFluidCoupledSpecies< NormalForceSpecies >::HeatFluidCoupledSpecies

The default constructor.

137 {
140  liquidDensity_=1.0;
143  // note, this default value is unrealistically high; 0.3 is realistic.
144  ambientHumidity_=1.0;
147 }
Mdouble ambientVapourConcentration_
The ambient vapour concentration (kg/m^3).
Definition: HeatFluidCoupledSpecies.h:130
Mdouble evaporationCoefficientB_
The evaporation coefficient b (dimensionless)
Definition: HeatFluidCoupledSpecies.h:115
Mdouble massTransferCoefficient_
The mass transfer rate (m/s)
Definition: HeatFluidCoupledSpecies.h:95
Mdouble ambientHumidity_
The ambient humidity (dimensionless, between 0 and 1, but cannot be 0)
Definition: HeatFluidCoupledSpecies.h:120
Mdouble ambientEquilibriumMoistureContent_
The ambient equilibrium moisture content (dimensionless, between 0 and 1).
Definition: HeatFluidCoupledSpecies.h:125
Mdouble evaporationCoefficientA_
The evaporation coefficient a (dimensionless)
Definition: HeatFluidCoupledSpecies.h:110
Mdouble latentHeatVaporization_
The latent heat of vaporization (J/kg)
Definition: HeatFluidCoupledSpecies.h:100
Mdouble liquidDensity_
The liquid density (kg/m^3)
Definition: HeatFluidCoupledSpecies.h:105
Definition: ThermalSpecies.h:14

References HeatFluidCoupledSpecies< NormalForceSpecies >::ambientEquilibriumMoistureContent_, HeatFluidCoupledSpecies< NormalForceSpecies >::ambientHumidity_, HeatFluidCoupledSpecies< NormalForceSpecies >::ambientVapourConcentration_, HeatFluidCoupledSpecies< NormalForceSpecies >::evaporationCoefficientA_, HeatFluidCoupledSpecies< NormalForceSpecies >::evaporationCoefficientB_, HeatFluidCoupledSpecies< NormalForceSpecies >::latentHeatVaporization_, HeatFluidCoupledSpecies< NormalForceSpecies >::liquidDensity_, and HeatFluidCoupledSpecies< NormalForceSpecies >::massTransferCoefficient_.

◆ HeatFluidCoupledSpecies() [2/2]

◆ ~HeatFluidCoupledSpecies()

template<class NormalForceSpecies >
HeatFluidCoupledSpecies< NormalForceSpecies >::~HeatFluidCoupledSpecies
virtual

The default destructor.

165 {}

Member Function Documentation

◆ actionsAfterTimeStep()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::actionsAfterTimeStep ( BaseParticle particle) const
override
329 {
330  double dt = baseParticle->getHandler()->getDPMBase()->getTimeStep();
331  auto p = dynamic_cast<HeatFluidCoupledParticle*>(baseParticle);
332  double mass = p->getMass();
333  double surfaceArea = p->getSurfaceArea();
334 
335  // Runge–Kutta method.
336  std::array<double,2> k1 = f(p->getLiquidVolume() , p->getTemperature() , mass, surfaceArea);
337  std::array<double,2> k2 = f(p->getLiquidVolume() + 0.5*dt*k1[0], p->getTemperature() + 0.5*dt*k1[1], mass, surfaceArea);
338  std::array<double,2> k3 = f(p->getLiquidVolume() + 0.5*dt*k2[0], p->getTemperature() + 0.5*dt*k2[1], mass, surfaceArea);
339  std::array<double,2> k4 = f(p->getLiquidVolume() + dt*k3[0], p->getTemperature() + dt*k3[1], mass, surfaceArea);
340  double dLiquidVolume = dt * (k1[0] + 2*k2[0] + 2*k3[0] + k4[0]) / 6.0;
341  double dTemperature = dt * (k1[1] + 2*k2[1] + 2*k3[1] + k4[1]) / 6.0;
342  // Change sign, so we can think in terms of subtracting a positive number, instead of adding a negative number.
343  // Keep in mind, it is still possible that we are adding liquid/temperature (so now subtracting a negative number),
344  // however, since there is only a lower limit of 0 but no upper limit, this is easier to think about.
345  dLiquidVolume = -dLiquidVolume;
346  dTemperature = -dTemperature;
347 
348  // Subtract as much as possible from the liquid film. Any remainder is subtracted from the liquid bridges.
349  double dLiquidFilm = std::min(dLiquidVolume, p->getLiquidVolume());
350  double remainder = dLiquidVolume - dLiquidFilm;
351 
352  if (remainder > 0.0)
353  {
354  // Get the total liquid bridge volume. Note, don't use p->getLiquidBridgeVolume() as it halves the bridges with
355  // other particles. The order of handling the particles matters for how much liquid bridge is still available
356  // to them. It might seem more correct to use half the bridge instead of the full bridge, however that would
357  // only add an error, because the second particle halving the bridge would include the evaporated volume of the
358  // first particle. So instead of using L/2 it would use (L-evap)/2, which completely undoes the "correction" of
359  // halving the bridges in the first place.
360  double liquidBridgeVolume = 0.0;
361  for (auto i : p->getInteractions())
362  {
363  auto j = dynamic_cast<LiquidMigrationWilletInteraction*>(i);
364  liquidBridgeVolume += j->getLiquidBridgeVolume();
365  }
366  double dLiquidBridge = std::min(remainder, liquidBridgeVolume);
367  remainder -= dLiquidBridge;
368 
369  double factor = liquidBridgeVolume == 0.0 ? 0.0 : dLiquidBridge / liquidBridgeVolume;
370  for (auto i : p->getInteractions())
371  {
372  auto j = dynamic_cast<LiquidMigrationWilletInteraction*>(i);
373  j->addLiquidBridgeVolumeByEvaporation(-factor * j->getLiquidBridgeVolume());
374  }
375  }
376 
377  p->addLiquidVolume(-dLiquidFilm);
378  p->addTotalEvaporatedLiquidVolume(dLiquidVolume - remainder);
379  // If not all liquid could be removed, correct the temperature to be removed.
380  double dLiquidVolumeFactor = dLiquidVolume == 0.0 ? 0.0 : (dLiquidVolume - remainder) / dLiquidVolume;
381  p->setTemperature(std::max(0.0, p->getTemperature() - dTemperature * dLiquidVolumeFactor));
382 }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
float * p
Definition: Tutorial_Map_using.cpp:9
std::array< double, 2 > f(double liquidVolume, double temperature, double mass, double surfaceArea) const
f1 is used in Runge–Kutta method.
Definition: HeatFluidCoupledSpecies.h:393
Class of particles that store both temperature and liquid volume, which is adapted for the CFD-DEM st...
Definition: HeatFluidCoupledParticle.h:25
Defines the liquid bridge willet interaction between two particles or walls.
Definition: LiquidMigrationWilletInteraction.h:30
#define min(a, b)
Definition: datatypes.h:22
#define max(a, b)
Definition: datatypes.h:23
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2

References f(), BaseHandler< T >::getDPMBase(), BaseParticle::getHandler(), DPMBase::getTimeStep(), i, j, max, min, and p.

◆ f()

template<class NormalForceSpecies >
std::array< double, 2 > HeatFluidCoupledSpecies< NormalForceSpecies >::f ( double  liquidVolume,
double  temperature,
double  mass,
double  surfaceArea 
) const

f1 is used in Runge–Kutta method.

Computes the drying and cooling rate of a particle; based on equations in (Azmir et al., 2018), which are summarised in EvaporationModel.pdf

Parameters
liquidVolume_Liquid film volume
temperature_Temperature of particle
massMass of particle
surfaceAreaSurface area of particle
Returns
394 {
395  // Saturated vapour concentration (kg/m^3), eq(7)
396  // Dependency on temperature is valid between 1 and 200 degree Celsius
397  // (it is unphysically decreasing between 0 and 1 degree),
398  // extrapolated as linear functions
399  double dT = temperature - 273;
400  double saturatedVapourConcentration = dT < 1 ? 8.319815774e-3 * temperature / 274 :
401  (((4.844e-9*dT - 1.4807e-7)*dT + 2.6572e-5)*dT - 4.8613e-5)*dT + 8.342e-3;
402 
403  // Relative activation energy of evaporation, eq(6)
404  double equilibriumActivationEnergy = -constants::R * this->getAmbientTemperature() * log(getAmbientHumidity());
405  // \todo what is the difference between the variable X and Y in Azmir?
406  double moistureContent = liquidVolume * getLiquidDensity() / mass;
407  double activationEnergy = equilibriumActivationEnergy * (moistureContent - getAmbientEquilibriumMoistureContent());
408 
409  // Vapour concentrations at the particle-medium interface (kg/m^3), eq(5)
410  // Implemented such that the code does not necessarily fail if temperature is 0
411  double interfaceVapourConcentration = temperature == 0 ? 0.0 :
412  exp(-activationEnergy / (constants::R * temperature)) * saturatedVapourConcentration;
413 
414  // Drying rate of liquid film mass (kg/s), eq (4)
415  double dLiquidMass = -getMassTransferCoefficient() * surfaceArea * (interfaceVapourConcentration - getAmbientVapourConcentration());
416 
417  // Drying rate of liquid film volume (kg/s), eq (3)
418  double dLiquidVolume = dLiquidMass / getLiquidDensity();
419 
420  // Heat of evaporation (J/s), eq (2)
421  double heatOfEvaporation = getLatentHeatVaporization() * (1.0 + getEvaporationCoefficientA() *
422  exp((getEvaporationCoefficientB() * getLiquidDensity() / mass) * liquidVolume)) * dLiquidMass;
423 
424  // Cooling rate of particle (K/s), eq (1)
425  double dTemperature = heatOfEvaporation / (mass * this->getHeatCapacity());
426 
427  return { dLiquidVolume, dTemperature };
428 }
Mdouble getAmbientVapourConcentration() const
Allows ambientVapourConcentration_ to be accessed.
Definition: HeatFluidCoupledSpecies.h:313
Mdouble getEvaporationCoefficientA() const
Allows evaporationCoefficientA_ to be accessed.
Definition: HeatFluidCoupledSpecies.h:252
Mdouble getLiquidDensity() const
Allows liquidDensity_ to be accessed.
Definition: HeatFluidCoupledSpecies.h:237
Mdouble getAmbientHumidity() const
Allows ambientHumidity_ to be accessed.
Definition: HeatFluidCoupledSpecies.h:282
Mdouble getAmbientEquilibriumMoistureContent() const
Allows ambientEquilibriumMoistureContent_ to be accessed.
Definition: HeatFluidCoupledSpecies.h:298
Mdouble getEvaporationCoefficientB() const
Allows evaporationCoefficientB_ to be accessed.
Definition: HeatFluidCoupledSpecies.h:267
Mdouble getLatentHeatVaporization() const
Allows latentHeatVaporization_ to be accessed.
Definition: HeatFluidCoupledSpecies.h:222
Mdouble getMassTransferCoefficient() const
Allows massTransferCoefficient_ to be accessed.
Definition: HeatFluidCoupledSpecies.h:207
Mdouble getAmbientTemperature() const
Definition: ThermalSpecies.h:53
Mdouble getHeatCapacity() const
Allows heatCapacity_ to be accessed.
Definition: ThermalSpecies.h:232
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 exp(const bfloat16 &a)
Definition: BFloat16.h:615
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log(const bfloat16 &a)
Definition: BFloat16.h:618
const Mdouble R
Definition: ExtendedMath.h:29

References Eigen::bfloat16_impl::exp(), Eigen::bfloat16_impl::log(), and constants::R.

◆ getAmbientEquilibriumMoistureContent()

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::getAmbientEquilibriumMoistureContent

Allows ambientEquilibriumMoistureContent_ to be accessed.

299 {
301 }

◆ getAmbientHumidity()

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::getAmbientHumidity

Allows ambientHumidity_ to be accessed.

283 {
284  return ambientHumidity_;
285 }

◆ getAmbientVapourConcentration()

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::getAmbientVapourConcentration

Allows ambientVapourConcentration_ to be accessed.

314 {
316 }

◆ getBaseName()

template<class NormalForceSpecies >
std::string HeatFluidCoupledSpecies< NormalForceSpecies >::getBaseName

Used in Species::getName to obtain a unique name for each Species.

202 {
203  return "HeatFluidCoupled" + NormalForceSpecies::getBaseName();
204 }

◆ getEvaporationCoefficientA()

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::getEvaporationCoefficientA

Allows evaporationCoefficientA_ to be accessed.

253 {
255 }

◆ getEvaporationCoefficientB()

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::getEvaporationCoefficientB

Allows evaporationCoefficientB_ to be accessed.

268 {
270 }

◆ getLatentHeatVaporization()

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::getLatentHeatVaporization

Allows latentHeatVaporization_ to be accessed.

223 {
225 }

◆ getLiquidDensity()

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::getLiquidDensity

Allows liquidDensity_ to be accessed.

238 {
239  return liquidDensity_;
240 }

◆ getMassTransferCoefficient()

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::getMassTransferCoefficient

Allows massTransferCoefficient_ to be accessed.

208 {
210 }

◆ read()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::read ( std::istream &  is)

Reads the species properties from an input stream.

183 {
184  std::string dummy;
186  is >> dummy >> massTransferCoefficient_;
187  is >> dummy >> latentHeatVaporization_;
188  is >> dummy >> liquidDensity_;
189  is >> dummy >> evaporationCoefficientA_;
190  is >> dummy >> evaporationCoefficientB_;
191  is >> dummy >> ambientHumidity_;
192  is >> dummy >> ambientEquilibriumMoistureContent_;
193  is >> dummy >> ambientVapourConcentration_;
194  double ambientTemperature;
195  if (helpers::readOptionalVariable<Mdouble>(is, "ambientTemperature", ambientTemperature)) {
197  }
198 }
void read(std::istream &is)
Reads the species properties from an input stream.
Definition: ThermalSpecies.h:210
void setAmbientTemperature(Mdouble ambientTemperature)
Definition: ThermalSpecies.h:58
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286

References ThermalSpecies< NormalForceSpecies >::read(), ThermalSpecies< NormalForceSpecies >::setAmbientTemperature(), and oomph::Global_string_for_annotation::string().

◆ setAmbientEquilibriumMoistureContent()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::setAmbientEquilibriumMoistureContent ( Mdouble  ambientEquilibriumMoistureContent)

Allows ambientEquilibriumMoistureContent_ to be changed.

305 {
306  logger.assert_always(ambientEquilibriumMoistureContent >= 0,
307  "[HeatFluidCoupledSpecies<>::setAmbientEquilibriumMoistureContent(%)] value has to be positive",
308  ambientEquilibriumMoistureContent);
309  ambientEquilibriumMoistureContent_ = ambientEquilibriumMoistureContent;
310 }
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.

References logger.

◆ setAmbientHumidity()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::setAmbientHumidity ( Mdouble  ambientHumidity)

Allows ambientHumidity_ to be changed.

289 {
290  //note, this is not allowed to be zero!
291  logger.assert_always(ambientHumidity > 0,
292  "[HeatFluidCoupledSpecies<>::setAmbientHumidity(%)] value has to be positive",
293  ambientHumidity);
294  ambientHumidity_ = ambientHumidity;
295 }

References logger.

◆ setAmbientVapourConcentration()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::setAmbientVapourConcentration ( Mdouble  ambientVapourConcentration)

Allows ambientVapourConcentration_ to be changed.

320 {
321  logger.assert_always(ambientVapourConcentration >= 0,
322  "[HeatFluidCoupledSpecies<>::setAmbientVapourConcentration(%)] value has to be positive",
323  ambientVapourConcentration);
324  ambientVapourConcentration_ = ambientVapourConcentration;
325 }

References logger.

◆ setEvaporationCoefficientA()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::setEvaporationCoefficientA ( Mdouble  evaporationCoefficientA)

Allows evaporationCoefficientA_ to be changed.

259 {
260  logger.assert_always(evaporationCoefficientA >= 0,
261  "[HeatFluidCoupledSpecies<>::setEvaporationCoefficientA(%)] value has to be positive",
262  evaporationCoefficientA);
263  evaporationCoefficientA_ = evaporationCoefficientA;
264 }

References logger.

◆ setEvaporationCoefficientB()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::setEvaporationCoefficientB ( Mdouble  evaporationCoefficientB)

Allows evaporationCoefficientB_ to be changed.

274 {
275  logger.assert_always(evaporationCoefficientB <= 0,
276  "[HeatFluidCoupledSpecies<>::setEvaporationCoefficientB(%)] value has to be negative",
277  evaporationCoefficientB);
278  evaporationCoefficientB_ = evaporationCoefficientB;
279 }

References logger.

◆ setLatentHeatVaporization()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::setLatentHeatVaporization ( Mdouble  latentHeatVaporization)

Allows latentHeatVaporization_ to be changed.

229 {
230  logger.assert_always(latentHeatVaporization > 0,
231  "[HeatFluidCoupledSpecies<>::setLatentHeatVaporization(%)] value has to be positive",
232  latentHeatVaporization);
233  latentHeatVaporization_ = latentHeatVaporization;
234 }

References logger.

◆ setLiquidDensity()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::setLiquidDensity ( Mdouble  liquidDensity)

Allows liquidDensity_ to be changed.

244 {
245  logger.assert_always(liquidDensity > 0,
246  "[HeatFluidCoupledSpecies<>::setLiquidDensity(%)] value has to be positive",
247  liquidDensity);
248  liquidDensity_ = liquidDensity;
249 }

References logger.

◆ setMassTransferCoefficient()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::setMassTransferCoefficient ( Mdouble  massTransferCoefficient)

Allows massTransferCoefficient_ to be changed.

214 {
215  logger.assert_always(massTransferCoefficient > 0,
216  "[HeatFluidCoupledSpecies<>::setMassTransferCoefficient(%)] value has to be positive",
217  massTransferCoefficient);
218  massTransferCoefficient_ = massTransferCoefficient;
219 }

References logger.

◆ write()

template<class NormalForceSpecies >
void HeatFluidCoupledSpecies< NormalForceSpecies >::write ( std::ostream &  os) const

Writes the species properties to an output stream.

169 {
171  os << " massTransferCoefficient " << massTransferCoefficient_;
172  os << " latentHeatVaporization " << latentHeatVaporization_;
173  os << " liquidDensity " << liquidDensity_;
174  os << " evaporationCoefficientA " << evaporationCoefficientA_;
175  os << " evaporationCoefficientA " << evaporationCoefficientB_;
176  os << " ambientHumidity " << ambientHumidity_;
177  os << " ambientEquilibriumMoistureContent " << ambientEquilibriumMoistureContent_;
178  os << " ambientVapourConcentration " << ambientVapourConcentration_;
179 }
void write(std::ostream &os) const
Writes the species properties to an output stream.
Definition: ThermalSpecies.h:196

References ThermalSpecies< NormalForceSpecies >::write().

Member Data Documentation

◆ ambientEquilibriumMoistureContent_

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::ambientEquilibriumMoistureContent_
private

The ambient equilibrium moisture content (dimensionless, between 0 and 1).

Referenced by HeatFluidCoupledSpecies< NormalForceSpecies >::HeatFluidCoupledSpecies().

◆ ambientHumidity_

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::ambientHumidity_
private

The ambient humidity (dimensionless, between 0 and 1, but cannot be 0)

Referenced by HeatFluidCoupledSpecies< NormalForceSpecies >::HeatFluidCoupledSpecies().

◆ ambientVapourConcentration_

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::ambientVapourConcentration_
private

The ambient vapour concentration (kg/m^3).

Referenced by HeatFluidCoupledSpecies< NormalForceSpecies >::HeatFluidCoupledSpecies().

◆ evaporationCoefficientA_

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::evaporationCoefficientA_
private

The evaporation coefficient a (dimensionless)

Referenced by HeatFluidCoupledSpecies< NormalForceSpecies >::HeatFluidCoupledSpecies().

◆ evaporationCoefficientB_

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::evaporationCoefficientB_
private

The evaporation coefficient b (dimensionless)

Referenced by HeatFluidCoupledSpecies< NormalForceSpecies >::HeatFluidCoupledSpecies().

◆ latentHeatVaporization_

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::latentHeatVaporization_
private

The latent heat of vaporization (J/kg)

Referenced by HeatFluidCoupledSpecies< NormalForceSpecies >::HeatFluidCoupledSpecies().

◆ liquidDensity_

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::liquidDensity_
private

◆ massTransferCoefficient_

template<class NormalForceSpecies >
Mdouble HeatFluidCoupledSpecies< NormalForceSpecies >::massTransferCoefficient_
private

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