SphericalParticleCohesiveForce< dim, number, ObstacleType > Class Template Reference

Developer Documentation: MeltPoolDG::SphericalParticleCohesiveForce< dim, number, ObstacleType > Class Template Reference
Developer Documentation
MeltPoolDG::SphericalParticleCohesiveForce< dim, number, ObstacleType > Class Template Reference

#include <cohesive_forces.hpp>

Classes

struct  CohesiveContactConfiguration
 

Public Member Functions

 SphericalParticleCohesiveForce (const SphericalParticleCohesiveForceData< number > &cohesive_force_data)
 
void add_load_to_obstacles (ObstacleField< dim, number, ObstacleType > &obstacle_field) const
 

Private Attributes

SphericalParticleCohesiveForceData< number > cohesive_force_data
 Cohesive force data for the spherical particle cohesive force model.
 

Constructor & Destructor Documentation

◆ SphericalParticleCohesiveForce()

template<int dim, typename number , typename ObstacleType >
MeltPoolDG::SphericalParticleCohesiveForce< dim, number, ObstacleType >::SphericalParticleCohesiveForce ( const SphericalParticleCohesiveForceData< number > &  cohesive_force_data)
explicit

Constructor for the spherical particle cohesive force model.

Parameters
cohesive_force_dataCohesive force data defining the material and cohesive contact properties.

Member Function Documentation

◆ add_load_to_obstacles()

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

Computes the total cohesive load acting on all particles in a given obstacle field. The formulation follows Meier et al. (DOI:10.1016/j.powtec.2018.11.072). The resulting forces are accumulated and directly applied to the particles contained in the obstacle field.

For the computation of the cohesive force between two particles, three interaction regimes are distinguished based on their surface-to-surface distance.

For particles in close contact, i.e., if the surface-to-surface distance is smaller than \(g_0\), a constant pull-off force based on the DMT model is applied:

\[ \boldsymbol{F}_{\mathrm{po}} = 4 \pi R_e \gamma \boldsymbol{N}, \]

where \(R_e\) is the effective radius, \(\gamma\) the surface energy, and \(\boldsymbol{N}\) the unit normal vector pointing from one particle to the other. The characteristic distance \(g_0\) is given by

\[ g_0 = \sqrt{\frac{A R_e}{6 \lVert \boldsymbol{F}_{\mathrm{po}} \rVert}}. \]

If the surface-to-surface distance is larger than \(g_0\) but smaller than the cut-off distance \(g^*\), the cohesive force is computed as

\[ \boldsymbol{F} = \frac{A R_e}{6 g_N^2} \boldsymbol{N}, \]

where \(A\) is the Hamaker constant and \(g_N\) the surface-to-surface distance. The cut-off distance is defined as

\[ g^* = \frac{g_0}{\sqrt{c_{\mathrm{FPO}}}}, \]

where \(c_{\mathrm{FPO}}\) denotes the relative cut-off decline of the van der Waals force.

For surface-to-surface distances larger than the cut-off distance \(g^*\), no cohesive forces are applied.

Parameters
obstacle_fieldObstacle field containing the particles for which cohesive forces are computed. The resulting forces are added directly to the particles in this field.

Member Data Documentation

◆ cohesive_force_data

template<int dim, typename number , typename ObstacleType >
SphericalParticleCohesiveForceData<number> MeltPoolDG::SphericalParticleCohesiveForce< dim, number, ObstacleType >::cohesive_force_data
private

Cohesive force data for the spherical particle cohesive force model.


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