addForceToAuxFieldCell Subroutine

public subroutine addForceToAuxFieldCell(auxField, vel_pos, dens_pos, nAuxScalars, elemPos, F, r_lat, convFac_force, dt_DEM_lat, interpolator)

ModifyAuxFieldCell is a helper routine that modifies the auxfield in the cell with position elemPos in the total list. It takes the total force F_particle and the vector r_lat (in lattice units) pointing from the particle location to the barycenter of the fluid element, then computes the weight and modifies the auxField. Performing addForceToAuxFieldCell over every neighboring cell around a particle (including the one the particle is on) distributes the entire force.

Arguments

Type IntentOptional Attributes Name
type(mus_auxFieldVar_type), intent(inout) :: auxField
integer, intent(in) :: vel_pos(3)

Position of velocity in auxField

integer, intent(in) :: dens_pos

Position of density in auxField

integer, intent(in) :: nAuxScalars

Number of scalars in auxField

integer, intent(in) :: elemPos

Position of element to add force contribution to in auxField inside total list

real(kind=rk), intent(in) :: F(3)

Total force to apply to auxField (only a fraction of this will be applied to the element at elemPos)

real(kind=rk), intent(in) :: r_lat(3)

Vector (in lattice units) pointing from the location where F is applied to the barycenter of the cell at elemPos

real(kind=rk) :: convFac_force

Conversion factor between physical and lattice units

real(kind=rk) :: dt_DEM_lat

DEM subcycle time step, in lattice units

type(mus_particle_interpolator_type), intent(in) :: interpolator

Interpolation object containing stencil and weight info