Method: Joules.gravitational_force

Defined in:
lib/joules/gravitational_fields.rb

.gravitational_force(object_mass1, object_mass2, distance) ⇒ Float

Calculates the gravitational force given object mass 1, object mass 2, and distance between the centres of the two objects.

Examples:

Joules.gravitational_force(2e30, 1.9e27, 7.8e11) #=> 4.166009204470743e+23

Parameters:

  • object_mass1 (Int, Float)

    object_mass1 >= 0; object_mass1 is in kilograms

  • object_mass2 (Int, Float)

    object_mass2 >= 0; object_mass2 is in kilograms

  • distance (Int, Float)

    distance > 0; distance is in metres

Returns:

  • (Float)

    return value >= 0; return value is in newtons

Raises:

  • (ZeroDivisionError)

    if distance = 0



28
29
30
31
32
33
34
35
# File 'lib/joules/gravitational_fields.rb', line 28

def gravitational_force(object_mass1, object_mass2, distance)
  if distance.zero?
    raise ZeroDivisionError.new('divided by 0')
  else
    return (GRAVITATIONAL_CONSTANT * object_mass1 * object_mass2) /
           (distance ** 2)
  end
end