apply_normal_speed_override Subroutine

public subroutine apply_normal_speed_override(drift_velocity, inward_normal, normal_speed, drift_velocity_out)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: drift_velocity(3)
real(kind=dp), intent(in) :: inward_normal(3)
real(kind=dp), intent(in) :: normal_speed
real(kind=dp), intent(out) :: drift_velocity_out(3)

Called by

proc~~apply_normal_speed_override~~CalledByGraph proc~apply_normal_speed_override apply_normal_speed_override proc~init_particle_batch_from_config init_particle_batch_from_config proc~init_particle_batch_from_config->proc~apply_normal_speed_override

Source Code

  subroutine apply_normal_speed_override(drift_velocity, inward_normal, normal_speed, drift_velocity_out)
    real(dp), intent(in) :: drift_velocity(3), inward_normal(3), normal_speed
    real(dp), intent(out) :: drift_velocity_out(3)

    drift_velocity_out = drift_velocity - dot_product(drift_velocity, inward_normal)*inward_normal + normal_speed*inward_normal
  end subroutine apply_normal_speed_override