class Pulo::MomentOfInertia

Public Class Methods

cone(mass, radius, height) click to toggle source
# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 52
def self.cone(mass, radius, height)
  (radius**2+4*height**2)*(3*mass/20)
end
cuboid(mass, width, height) click to toggle source

cuboid or plate of arbitrary depth (in direction of axis of rotation)

# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 57
def self.cuboid(mass, width, height)
  (height**2+width**2)*(mass/12)
end
cylinder(mass, radius, height) click to toggle source
# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 32
def self.cylinder(mass, radius, height)
  (3*radius**2+height**2)*mass/12.0
end
cylindrical_shell(mass, radius) click to toggle source

cylindrical shell on its axis

# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 28
def self.cylindrical_shell(mass, radius)
  (mass*radius**2)
end
disc(mass, radius) click to toggle source

disc

# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 23
def self.disc(mass, radius)
  (mass*radius**2)/4.0
end
hoop(mass, radius) click to toggle source

hoop

# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 18
def self.hoop(mass, radius)
  (mass*radius**2)/2.0
end
point_mass(mass, distance) click to toggle source
# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 3
def self.point_mass(mass, distance)
  mass*distance**2
end
rod(mass, length) click to toggle source

rod around its mid point

# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 8
def self.rod(mass, length)
  (mass*distance**2)/12.0
end
rod_end(mass, length) click to toggle source

rod around its mid point

# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 13
def self.rod_end(mass, length)
  (mass*length**2)/3.0
end
sphere(mass, radius) click to toggle source
# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 44
def self.sphere(mass, radius)
  (2*mass*radius**2)/5.0
end
spherical_shell(mass, radius) click to toggle source
# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 40
def self.spherical_shell(mass, radius)
  (2*mass*radius**2)/3.0
end
thick_spherical_shell(mass, inner_radius,outer_radius) click to toggle source
# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 48
def self.thick_spherical_shell(mass, inner_radius,outer_radius)
  ((outer_radius**5-inner_radius**5)/(outer_radius**3-inner_radius**3))*(2*mass/5)
end
tube(mass, inner_radius,outer_radius) click to toggle source
# File lib/pulo/machine/mechanics/moments_of_inertia.rb, line 36
def self.tube(mass, inner_radius,outer_radius)
  (inner_radius**2+outer_radius**2)*mass/2.0
end