walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator Class Reference

Detailed Description

Evaluates the lubrication force between for a sphere-sphere or a sphere-plane pair.

The force is calculated as given in: R. Ball, J. Melrose, A simulation technique for many spheres in quasi–static motion under frame–invariant pair drag and Brownian forces, Physica A: Statistical Mechanics and its Applications 247 (1) (1997) 444–472. doi:10.1016/S0378-4371(97)00412-3.

However, currently only the normal component is included.

These formulas contain more components than the version from "pe_coupling/utility/LubricationCorrection.h"

#include <LubricationForceEvaluator.h>

Public Member Functions

 LubricationForceEvaluator (const shared_ptr< StructuredBlockStorage > &blockStorage, const shared_ptr< pe::BodyStorage > &globalBodyStorage, const BlockDataID &bodyStorageID, real_t dynamicViscosity, real_t cutOffDistance=real_t(2)/real_t(3), real_t minimalGapSize=real_t(1e-5))
 
void operator() ()
 

Private Member Functions

void treatLubricationSphrSphr (const pe::SphereID sphereI, const pe::SphereID sphereJ, const math::AABB &blockAABB)
 
void treatLubricationSphrPlane (const pe::SphereID sphereI, const pe::ConstPlaneID planeJ)
 
pe::Vec3 compLubricationSphrSphr (real_t gap, const pe::SphereID sphereI, const pe::SphereID sphereJ) const
 
pe::Vec3 compLubricationSphrPlane (real_t gap, const pe::SphereID sphereI, const pe::ConstPlaneID planeJ) const
 

Private Attributes

shared_ptr< StructuredBlockStorageblockStorage_
 
shared_ptr< pe::BodyStorageglobalBodyStorage_
 
const BlockDataID pdfFieldID_ {}
 
const BlockDataID bodyStorageID_ {}
 
real_t dynamicViscosity_
 
real_t cutOffDistance_
 
real_t minimalGapSize_
 

Constructor & Destructor Documentation

◆ LubricationForceEvaluator()

walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::LubricationForceEvaluator ( const shared_ptr< StructuredBlockStorage > &  blockStorage,
const shared_ptr< pe::BodyStorage > &  globalBodyStorage,
const BlockDataID bodyStorageID,
real_t  dynamicViscosity,
real_t  cutOffDistance = real_t(2) / real_t(3),
real_t  minimalGapSize = real_t(1e-5) 
)
inline

Member Function Documentation

◆ compLubricationSphrPlane()

pe::Vec3 walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::compLubricationSphrPlane ( real_t  gap,
const pe::SphereID  sphereI,
const pe::ConstPlaneID  planeJ 
) const
private

◆ compLubricationSphrSphr()

pe::Vec3 walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::compLubricationSphrSphr ( real_t  gap,
const pe::SphereID  sphereI,
const pe::SphereID  sphereJ 
) const
private

◆ operator()()

void walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::operator() ( )

◆ treatLubricationSphrPlane()

void walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::treatLubricationSphrPlane ( const pe::SphereID  sphereI,
const pe::ConstPlaneID  planeJ 
)
private

◆ treatLubricationSphrSphr()

void walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::treatLubricationSphrSphr ( const pe::SphereID  sphereI,
const pe::SphereID  sphereJ,
const math::AABB blockAABB 
)
private

Member Data Documentation

◆ blockStorage_

shared_ptr<StructuredBlockStorage> walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::blockStorage_
private

◆ bodyStorageID_

const BlockDataID walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::bodyStorageID_ {}
private

◆ cutOffDistance_

real_t walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::cutOffDistance_
private

◆ dynamicViscosity_

real_t walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::dynamicViscosity_
private

◆ globalBodyStorage_

shared_ptr<pe::BodyStorage> walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::globalBodyStorage_
private

◆ minimalGapSize_

real_t walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::minimalGapSize_
private

◆ pdfFieldID_

const BlockDataID walberla::pe_coupling::discrete_particle_methods::LubricationForceEvaluator::pdfFieldID_ {}
private

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