StokesLawSphericalParticleForce< dim, number, ObstacleType > Struct Template Reference

Developer Documentation: MeltPoolDG::StokesLawSphericalParticleForce< dim, number, ObstacleType > Struct Template Reference
Developer Documentation
MeltPoolDG::StokesLawSphericalParticleForce< dim, number, ObstacleType > Struct Template Reference

#include <stokes_law.hpp>

Collaboration diagram for MeltPoolDG::StokesLawSphericalParticleForce< dim, number, ObstacleType >:
[legend]

Public Types

using VectorType = dealii::LinearAlgebra::distributed::Vector< number >
 

Public Member Functions

 StokesLawSphericalParticleForce (const VectorType &solution, const MatrixFreeContext< dim, number > &matrix_free, const number dynamic_viscosity)
 Constructor. Stores all relevant data internally.
 
void add_load_to_obstacles (ObstacleField< dim, number, ObstacleType > &obstacle_field) const
 

Private Attributes

const MatrixFreeContext< dim, number > matrix_free
 Matrix free object and corresponding relevant indices used by the compressible flow solver.
 
const VectorTypesolution
 Solution of the flow field.
 
const number dynamic_viscosity
 Dynamic viscosity of the fluid.
 

Member Typedef Documentation

◆ VectorType

template<int dim, typename number , typename ObstacleType >
using MeltPoolDG::StokesLawSphericalParticleForce< dim, number, ObstacleType >::VectorType = dealii::LinearAlgebra::distributed::Vector<number>

Constructor & Destructor Documentation

◆ StokesLawSphericalParticleForce()

template<int dim, typename number , typename ObstacleType >
MeltPoolDG::StokesLawSphericalParticleForce< dim, number, ObstacleType >::StokesLawSphericalParticleForce ( const VectorType solution,
const MatrixFreeContext< dim, number > &  matrix_free,
const number  dynamic_viscosity 
)

Constructor. Stores all relevant data internally.

Parameters
solutionReference to the solution of the flow field.
matrix_freeMatrixFree object and corresponding relevant indices.
dynamic_viscosityDynamic viscosity.

Member Function Documentation

◆ add_load_to_obstacles()

template<int dim, typename number , typename ObstacleType >
void MeltPoolDG::StokesLawSphericalParticleForce< dim, number, ObstacleType >::add_load_to_obstacles ( ObstacleField< dim, number, ObstacleType > &  obstacle_field) const

Computes the hydrodynamic force exerted by the fluid on all obstacles in the provided obstacle field. The force on each obstacle is evaluated using Stokes' law (valid for Re << 1!), based on the translational velocity of the particle at its center and the fluid velocity at the same location:

\[ \mathbf{F} = 6 \pi \mu R \left( \mathbf{u}_f - \mathbf{u}_p \right). \]

Parameters
obstacle_fieldReference to the obstacle field containing the obstacles for which the force will be computed.

Member Data Documentation

◆ dynamic_viscosity

template<int dim, typename number , typename ObstacleType >
const number MeltPoolDG::StokesLawSphericalParticleForce< dim, number, ObstacleType >::dynamic_viscosity
private

Dynamic viscosity of the fluid.

◆ matrix_free

template<int dim, typename number , typename ObstacleType >
const MatrixFreeContext<dim, number> MeltPoolDG::StokesLawSphericalParticleForce< dim, number, ObstacleType >::matrix_free
private

Matrix free object and corresponding relevant indices used by the compressible flow solver.

◆ solution

template<int dim, typename number , typename ObstacleType >
const VectorType& MeltPoolDG::StokesLawSphericalParticleForce< dim, number, ObstacleType >::solution
private

Solution of the flow field.


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