OpenMPCD
AnalyticQuantitiesGaussianDumbbell.hpp
Go to the documentation of this file.
1 /**
2  * @file
3  * Defines the OpenMPCD::AnalyticQuantitiesGaussianDumbbell class.
4  */
5 
6 #ifndef OPENMPCD_ANALYTICQUANTITIESGAUSSIANDUMBBELL_HPP
7 #define OPENMPCD_ANALYTICQUANTITIESGAUSSIANDUMBBELL_HPP
8 
9 #include <OpenMPCD/Types.hpp>
10 
11 namespace OpenMPCD
12 {
13  /**
14  * Computes analytic quantities for Gaussian Dumbbells.
15  * Gaussian Dumbbells are described in
16  * "Multiparticle collision dynamics simulations of viscoelastic fluids: Shear-thinning
17  * Gaussian dumbbells" by Bartosz Kowalik and Roland G. Winkler. Journal of Chemical Physics 138,
18  * 104903 (2013). http://dx.doi.org/10.1063/1.4792196
19  * The formulas used can be found there.
20  */
22  {
23  private:
24  AnalyticQuantitiesGaussianDumbbell(); ///< The constructor.
25 
26  public:
27  /**
28  * Returns the zero-shear Lagrangian multiplier \f$ \lambda_0 \f$.
29  * @param[in] rootMeanSquareBondLength The root mean square bond length \f$ l \f$ of the dumbbell.
30  */
31  static FP zeroShearLagrangianMultiplier(const FP rootMeanSquareBondLength)
32  {
33  return 1.5 / (rootMeanSquareBondLength * rootMeanSquareBondLength);
34  }
35 
36  /**
37  * Returns the Lagrangian multiplier \f$ \lambda \f$.
38  * @param[in] rootMeanSquareBondLength The root mean square bond length \f$ l \f$ of the dumbbell.
39  * @param[in] shearRate The shear rate \f$ \dot{\gamma} \f$.
40  * @param[in] zeroShearRelaxationTime The zero-shear relaxation time \f$ \tau_0 \f$ of the dumbbell.
41  */
42  static FP lagrangianMultiplier(const FP rootMeanSquareBondLength, const FP shearRate, const FP zeroShearRelaxationTime);
43 
44  /**
45  * Returns the zero-shear relaxation time \f$ \tau_0 \f$ of the dumbbell.
46  * @param[in] rootMeanSquareBondLength The root mean square bond length \f$ l \f$ of the dumbbell.
47  * @param[in] mpcSelfDiffusionCoefficient The self-diffusion coefficient \f$ D \f$ of the bare MPC fluid
48  * particle.
49  * @param[in] mpcHydrodynamicRadius The hydrodynamic (Stokes-Einstein) radius \f$ R_H \f$ of the bare
50  * MPC fluid particle.
51  */
52  static FP zeroShearRelaxationTime(const FP rootMeanSquareBondLength, const FP mpcSelfDiffusionCoefficient,
53  const FP mpcHydrodynamicRadius);
54 
55  /**
56  * Returns the Weissenberg number \f$ \mathrm{Wi} \f$.
57  * @param[in] shearRate The shear rate \f$ \dot{\gamma} \f$.
58  * @param[in] zeroShearRelaxationTime The zero-shear relaxation time \f$ \tau_0 \f$ of the dumbbell.
59  */
60  static FP weissenbergNumber(const FP shearRate, const FP zeroShearRelaxationTime)
61  {
62  return shearRate * zeroShearRelaxationTime;
63  }
64 
65  /**
66  * Returns the ratio \f$ \mu = \frac{\lambda}{\lambda_0} \f$ of the Lagrangian multipliers with and without shear flow.
67  * @param[in] weissenbergNumber The Weissenberg number \f$ \mathrm{Wi} \f$.
68  */
70  };
71 }
72 
73 #endif
OpenMPCD::AnalyticQuantitiesGaussianDumbbell::lagrangianMultiplierRatio
static FP lagrangianMultiplierRatio(const FP weissenbergNumber)
Returns the ratio of the Lagrangian multipliers with and without shear flow.
Definition: AnalyticQuantitiesGaussianDumbbell.cpp:34
OpenMPCD::AnalyticQuantitiesGaussianDumbbell::zeroShearLagrangianMultiplier
static FP zeroShearLagrangianMultiplier(const FP rootMeanSquareBondLength)
Returns the zero-shear Lagrangian multiplier .
Definition: AnalyticQuantitiesGaussianDumbbell.hpp:31
OpenMPCD::AnalyticQuantitiesGaussianDumbbell::zeroShearRelaxationTime
static FP zeroShearRelaxationTime(const FP rootMeanSquareBondLength, const FP mpcSelfDiffusionCoefficient, const FP mpcHydrodynamicRadius)
Returns the zero-shear relaxation time of the dumbbell.
Definition: AnalyticQuantitiesGaussianDumbbell.cpp:21
OpenMPCD::FP
double FP
Default floating point type.
Definition: Types.hpp:13
Types.hpp
OpenMPCD::AnalyticQuantitiesGaussianDumbbell
Computes analytic quantities for Gaussian Dumbbells.
Definition: AnalyticQuantitiesGaussianDumbbell.hpp:21
OpenMPCD::AnalyticQuantitiesGaussianDumbbell::weissenbergNumber
static FP weissenbergNumber(const FP shearRate, const FP zeroShearRelaxationTime)
Returns the Weissenberg number .
Definition: AnalyticQuantitiesGaussianDumbbell.hpp:60
OpenMPCD::AnalyticQuantitiesGaussianDumbbell::lagrangianMultiplier
static FP lagrangianMultiplier(const FP rootMeanSquareBondLength, const FP shearRate, const FP zeroShearRelaxationTime)
Returns the Lagrangian multiplier .
Definition: AnalyticQuantitiesGaussianDumbbell.cpp:12