MercuryDPM  Trunk
LiquidMigrationWilletSpecies Class Reference

LiquidMigrationWilletSpecies contains the parameters used to describe a short-range force caused by liquid bridges. More...

#include <LiquidMigrationWilletSpecies.h>

Inheritance diagram for LiquidMigrationWilletSpecies:

## Public Types

typedef
LiquidMigrationWilletInteraction
InteractionType
The correct Interaction type for this AdhesiveForceSpecies. More...

## Public Member Functions

LiquidMigrationWilletSpecies ()
The default constructor. More...

LiquidMigrationWilletSpecies (const LiquidMigrationWilletSpecies &s)
The default copy constructor. More...

~LiquidMigrationWilletSpecies ()
The default destructor. More...

void read (std::istream &is)
Reads the species properties from an input stream. More...

void write (std::ostream &os) const
Writes the species properties to an output stream. More...

std::string getBaseName () const
Used in Species::getName to obtain a unique name for each Species. More...

void mix (LiquidMigrationWilletSpecies *S, LiquidMigrationWilletSpecies *T)
creates default values for mixed species More...

void setInteractionDistance ()
returns the largest separation distance at which adhesive short-range forces can occur. More...

void setLiquidBridgeVolumeMax (Mdouble liquidBridgeVolume)
used to set the Volume of the liquid bridge. More...

Mdouble getLiquidBridgeVolumeMax () const
used to access the Volume of the liquid bridge. More...

void setLiquidBridgeVolumeMin (Mdouble)
used to set the Volume of the liquid bridge. More...

Mdouble getLiquidBridgeVolumeMin () const
used to access the Volume of the liquid bridge. More...

void setDistributionCoefficient (Mdouble distributionCoefficient)
used to set the distribution coefficient of the liquid. More...

Mdouble getDistributionCoefficient () const
used to access the surface tension of the liquid. More...

void setSurfaceTension (Mdouble surfaceTension)
used to set the surface tension of the liquid. More...

Mdouble getSurfaceTension () const
used to access the surface tension of the liquid. More...

void setContactAngle (Mdouble contactAngle)
used to set the contact angle between particle and liquid bridge surface (in radians) More...

Mdouble getContactAngle () const
used to access the contact angle between particle and liquid bridge surface. More...

Public Member Functions inherited from BaseForce
BaseSpeciesgetBaseSpecies () const

void setBaseSpecies (BaseSpecies *baseSpecies)

## Private Attributes

Mdouble liquidBridgeVolumeMax_
Max volume a liquid bridge gets during formation; any excess remains in the liquid film of the particle. More...

Mdouble liquidBridgeVolumeMin_
Minimum volume needed to form a liquid bridge. More...

Mdouble distributionCoefficient_
distribution coefficient of the liquid More...

Mdouble contactAngle_
contact angle between particle and liquid bridge surface More...

Mdouble surfaceTension_
surface tension of the liquid More...

## Detailed Description

LiquidMigrationWilletSpecies contains the parameters used to describe a short-range force caused by liquid bridges.

See LiquidMigrationWilletInteraction::computeForce for a description of the force law.

Definition at line 37 of file LiquidMigrationWilletSpecies.h.

## Member Typedef Documentation

The correct Interaction type for this AdhesiveForceSpecies.

Definition at line 41 of file LiquidMigrationWilletSpecies.h.

## Constructor & Destructor Documentation

 LiquidMigrationWilletSpecies::LiquidMigrationWilletSpecies ( )

The default constructor.

Definition at line 29 of file LiquidMigrationWilletSpecies.cc.

30 {
31  liquidBridgeVolumeMax_ = 0.0; //std::numeric_limits<double>::infinity();
34  surfaceTension_ = 0.0;
35  contactAngle_ = 0.0;
36 #ifdef DEBUG_CONSTRUCTOR
37  std::cout<<"LiquidMigrationWilletSpecies::LiquidMigrationWilletSpecies() finished"<<std::endl;
38 #endif
39 }
Mdouble liquidBridgeVolumeMin_
Minimum volume needed to form a liquid bridge.
Mdouble contactAngle_
contact angle between particle and liquid bridge surface
Mdouble surfaceTension_
surface tension of the liquid
Mdouble liquidBridgeVolumeMax_
Max volume a liquid bridge gets during formation; any excess remains in the liquid film of the partic...
Mdouble distributionCoefficient_
distribution coefficient of the liquid
 LiquidMigrationWilletSpecies::LiquidMigrationWilletSpecies ( const LiquidMigrationWilletSpecies & s )

The default copy constructor.

Parameters
 [in] the species that is copied

Definition at line 44 of file LiquidMigrationWilletSpecies.cc.

45 {
51 #ifdef DEBUG_CONSTRUCTOR
52  std::cout<<"LiquidMigrationWilletSpecies::LiquidMigrationWilletSpecies(const LiquidMigrationWilletSpecies &p) finished"<<std::endl;
53 #endif
54 }
Mdouble liquidBridgeVolumeMin_
Minimum volume needed to form a liquid bridge.
Mdouble contactAngle_
contact angle between particle and liquid bridge surface
Mdouble surfaceTension_
surface tension of the liquid
Mdouble liquidBridgeVolumeMax_
Max volume a liquid bridge gets during formation; any excess remains in the liquid film of the partic...
Mdouble distributionCoefficient_
distribution coefficient of the liquid
 LiquidMigrationWilletSpecies::~LiquidMigrationWilletSpecies ( )

The default destructor.

Definition at line 56 of file LiquidMigrationWilletSpecies.cc.

57 {
58 #ifdef DEBUG_DESTRUCTOR
59  std::cout<<"LiquidMigrationWilletSpecies::~LiquidMigrationWilletSpecies() finished"<<std::endl;
60 #endif
61 }

## Member Function Documentation

 std::string LiquidMigrationWilletSpecies::getBaseName ( ) const

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

Returns
a string containing the name of the species (minus the word "Species")

Definition at line 91 of file LiquidMigrationWilletSpecies.cc.

92 {
93  return "LiquidMigrationWillet";
94 }
 Mdouble LiquidMigrationWilletSpecies::getContactAngle ( ) const

used to access the contact angle between particle and liquid bridge surface.

Returns
the contact angle between particle and liquid bridge surface.

Definition at line 212 of file LiquidMigrationWilletSpecies.cc.

References contactAngle_.

213 {
214  return contactAngle_;
215 }
Mdouble contactAngle_
contact angle between particle and liquid bridge surface
 Mdouble LiquidMigrationWilletSpecies::getDistributionCoefficient ( ) const

used to access the surface tension of the liquid.

Returns
the distribution coefficient of the liquid.

Definition at line 164 of file LiquidMigrationWilletSpecies.cc.

References distributionCoefficient_.

Referenced by mix(), and LiquidMigrationWilletInteraction::rupture().

165 {
167 }
Mdouble distributionCoefficient_
distribution coefficient of the liquid
 Mdouble LiquidMigrationWilletSpecies::getLiquidBridgeVolumeMax ( ) const

used to access the Volume of the liquid bridge.

Returns
the volume of the liquid bridge.

Definition at line 137 of file LiquidMigrationWilletSpecies.cc.

References liquidBridgeVolumeMax_.

138 {
139  return liquidBridgeVolumeMax_;
140 }
Mdouble liquidBridgeVolumeMax_
Max volume a liquid bridge gets during formation; any excess remains in the liquid film of the partic...
 Mdouble LiquidMigrationWilletSpecies::getLiquidBridgeVolumeMin ( ) const

used to access the Volume of the liquid bridge.

Definition at line 142 of file LiquidMigrationWilletSpecies.cc.

References liquidBridgeVolumeMin_.

Referenced by LiquidMigrationWilletInteraction::form(), and mix().

143 {
144  return liquidBridgeVolumeMin_;
145 }
Mdouble liquidBridgeVolumeMin_
Minimum volume needed to form a liquid bridge.
 Mdouble LiquidMigrationWilletSpecies::getSurfaceTension ( ) const

used to access the surface tension of the liquid.

Returns
the surface tension of the liquid.

Definition at line 187 of file LiquidMigrationWilletSpecies.cc.

References surfaceTension_.

Referenced by LiquidMigrationWilletInteraction::computeAdhesionForce(), and mix().

188 {
189  return surfaceTension_;
190 }
Mdouble surfaceTension_
surface tension of the liquid
 void LiquidMigrationWilletSpecies::mix ( LiquidMigrationWilletSpecies * S, LiquidMigrationWilletSpecies * T )

creates default values for mixed species

For all parameters we assume that the harmonic mean of the parameters of the original two species is a sensible default.

Parameters
 [in] S,T the two species whose properties are mixed to create the new species

Definition at line 101 of file LiquidMigrationWilletSpecies.cc.

102 {
108 }
Mdouble getLiquidBridgeVolumeMin() const
used to access the Volume of the liquid bridge.
void setLiquidBridgeVolumeMin(Mdouble)
used to set the Volume of the liquid bridge.
Mdouble contactAngle_
contact angle between particle and liquid bridge surface
Mdouble getContactAngle() const
used to access the contact angle between particle and liquid bridge surface.
Mdouble getLiquidBridgeVolumeMax() const
used to access the Volume of the liquid bridge.
Mdouble getDistributionCoefficient() const
used to access the surface tension of the liquid.
Mdouble surfaceTension_
surface tension of the liquid
static Mdouble average(Mdouble a, Mdouble b)
Returns the harmonic mean of two variables.
Definition: BaseSpecies.cc:110
void setLiquidBridgeVolumeMax(Mdouble liquidBridgeVolume)
used to set the Volume of the liquid bridge.
Mdouble distributionCoefficient_
distribution coefficient of the liquid
Mdouble getSurfaceTension() const
used to access the surface tension of the liquid.
 void LiquidMigrationWilletSpecies::read ( std::istream & is )

Reads the species properties from an input stream.

Parameters
 [in] input stream (typically the restart file)

Definition at line 78 of file LiquidMigrationWilletSpecies.cc.

79 {
80  std::string dummy;
81  is >> dummy >> liquidBridgeVolumeMax_;
83  is >> dummy >> distributionCoefficient_;
84  is >> dummy >> surfaceTension_;
85  is >> dummy >> contactAngle_;
86 }
Mdouble liquidBridgeVolumeMin_
Minimum volume needed to form a liquid bridge.
Mdouble contactAngle_
contact angle between particle and liquid bridge surface
Mdouble surfaceTension_
surface tension of the liquid
Mdouble liquidBridgeVolumeMax_
Max volume a liquid bridge gets during formation; any excess remains in the liquid film of the partic...
bool readOptionalVariable(std::istream &is, const std::string &name, T &variable)
Reads optional variables in the restart file.
Definition: Helpers.h:247
Mdouble distributionCoefficient_
distribution coefficient of the liquid
 void LiquidMigrationWilletSpecies::setContactAngle ( Mdouble contactAngle )

used to set the contact angle between particle and liquid bridge surface (in radians)

Parameters
 [in] contactAngle the contact angle between particle and liquid bridge surface.

Definition at line 195 of file LiquidMigrationWilletSpecies.cc.

References contactAngle_, and setInteractionDistance().

196 {
197  if (contactAngle >= 0)
198  {
199  contactAngle_ = contactAngle;
201  }
202  else
203  {
204  std::cerr << "Error in setContactAngle" << std::endl;
205  exit(-1);
206  }
207 }
Mdouble contactAngle_
contact angle between particle and liquid bridge surface
void setInteractionDistance()
returns the largest separation distance at which adhesive short-range forces can occur.
 void LiquidMigrationWilletSpecies::setDistributionCoefficient ( Mdouble distributionCoefficient )

used to set the distribution coefficient of the liquid.

Parameters
 [in] distributionCoefficient the distribution coefficient of the liquid.

Definition at line 150 of file LiquidMigrationWilletSpecies.cc.

References distributionCoefficient_.

151 {
152  if (distributionCoefficient >= 0 && distributionCoefficient <= 1.0)
153  distributionCoefficient_ = distributionCoefficient;
154  else
155  {
156  std::cerr << "Error in setDistributionCoefficient" << std::endl;
157  exit(-1);
158  }
159 }
Mdouble distributionCoefficient_
distribution coefficient of the liquid
 void LiquidMigrationWilletSpecies::setInteractionDistance ( )

returns the largest separation distance at which adhesive short-range forces can occur.

Returns
the maximum separation distance below which adhesive forces can occur (needed for contact detection)

Definition at line 111 of file LiquidMigrationWilletSpecies.cc.

Referenced by setContactAngle(), and setLiquidBridgeVolumeMax().

112 {
114 }
BaseSpecies * getBaseSpecies() const
Definition: BaseForce.h:35
void setInteractionDistance(Mdouble interactionDistance)
Sets BaseSpecies::interactionDistance_.
Definition: BaseSpecies.cc:156
Mdouble contactAngle_
contact angle between particle and liquid bridge surface
Mdouble liquidBridgeVolumeMax_
Max volume a liquid bridge gets during formation; any excess remains in the liquid film of the partic...
 void LiquidMigrationWilletSpecies::setLiquidBridgeVolumeMax ( Mdouble liquidBridgeVolumeMax )

used to set the Volume of the liquid bridge.

Parameters
 [in] liquidBridgeVolume the volume of the liquid bridge.

Definition at line 119 of file LiquidMigrationWilletSpecies.cc.

References liquidBridgeVolumeMax_, logger, and setInteractionDistance().

Referenced by mix().

120 {
121  logger.assert_always(liquidBridgeVolumeMax>=0,
122  "Error in setLiquidBridgeVolumeMax: liquidBridgeVolumeMax=%", liquidBridgeVolumeMax);
123  liquidBridgeVolumeMax_ = liquidBridgeVolumeMax;
125 }
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
Mdouble liquidBridgeVolumeMax_
Max volume a liquid bridge gets during formation; any excess remains in the liquid film of the partic...
void setInteractionDistance()
returns the largest separation distance at which adhesive short-range forces can occur.
 void LiquidMigrationWilletSpecies::setLiquidBridgeVolumeMin ( Mdouble liquidBridgeVolumeMin )

used to set the Volume of the liquid bridge.

Definition at line 127 of file LiquidMigrationWilletSpecies.cc.

References liquidBridgeVolumeMin_, and logger.

Referenced by mix().

128 {
129  logger.assert_always(liquidBridgeVolumeMin>=0,
130  "Error in setLiquidBridgeVolumeMin: liquidBridgeVolumeMin=%", liquidBridgeVolumeMin);
131  liquidBridgeVolumeMin_ = liquidBridgeVolumeMin;
132 }
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
Mdouble liquidBridgeVolumeMin_
Minimum volume needed to form a liquid bridge.
 void LiquidMigrationWilletSpecies::setSurfaceTension ( Mdouble surfaceTension )

used to set the surface tension of the liquid.

Parameters
 [in] surfaceTension the surface tension of the liquid.

Definition at line 173 of file LiquidMigrationWilletSpecies.cc.

References surfaceTension_.

174 {
175  if (surfaceTension >= 0)
176  surfaceTension_ = surfaceTension;
177  else
178  {
179  std::cerr << "Error in setSurfaceTension" << std::endl;
180  exit(-1);
181  }
182 }
Mdouble surfaceTension_
surface tension of the liquid
 void LiquidMigrationWilletSpecies::write ( std::ostream & os ) const

Writes the species properties to an output stream.

Parameters
 [out] output stream (typically the restart file)

Definition at line 66 of file LiquidMigrationWilletSpecies.cc.

67 {
68  os << " liquidBridgeVolumeMax " << liquidBridgeVolumeMax_;
69  if (liquidBridgeVolumeMin_) os << " liquidBridgeVolumeMin " << liquidBridgeVolumeMin_;
70  os << " distributionCoefficient " << distributionCoefficient_;
71  os << " surfaceTension " << surfaceTension_;
72  os << " contactAngle " << contactAngle_;
73 }
Mdouble liquidBridgeVolumeMin_
Minimum volume needed to form a liquid bridge.
Mdouble contactAngle_
contact angle between particle and liquid bridge surface
Mdouble surfaceTension_
surface tension of the liquid
Mdouble liquidBridgeVolumeMax_
Max volume a liquid bridge gets during formation; any excess remains in the liquid film of the partic...
Mdouble distributionCoefficient_
distribution coefficient of the liquid

## Member Data Documentation

 Mdouble LiquidMigrationWilletSpecies::contactAngle_
private

contact angle between particle and liquid bridge surface

Definition at line 142 of file LiquidMigrationWilletSpecies.h.

 Mdouble LiquidMigrationWilletSpecies::distributionCoefficient_
private

distribution coefficient of the liquid

This is a variable that determines the fraction of the liquid that is to be distributed to the neighboring contacts of the particles after a liquid bridge rupture.

Definition at line 137 of file LiquidMigrationWilletSpecies.h.

 Mdouble LiquidMigrationWilletSpecies::liquidBridgeVolumeMax_
private

Max volume a liquid bridge gets during formation; any excess remains in the liquid film of the particle.

Definition at line 124 of file LiquidMigrationWilletSpecies.h.

 Mdouble LiquidMigrationWilletSpecies::liquidBridgeVolumeMin_
private

Minimum volume needed to form a liquid bridge.

Definition at line 129 of file LiquidMigrationWilletSpecies.h.

 Mdouble LiquidMigrationWilletSpecies::surfaceTension_
private

surface tension of the liquid

Definition at line 147 of file LiquidMigrationWilletSpecies.h.

Referenced by getSurfaceTension(), LiquidMigrationWilletSpecies(), mix(), read(), setSurfaceTension(), and write().

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