mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-23 21:11:08 +00:00
301a520f03
* Create potential_energy.py Finding the gravitational potential energy of an object with reference to the earth, by taking its mass and height above the ground as input * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update physics/potential_energy.py Co-authored-by: Chris O <46587501+ChrisO345@users.noreply.github.com> * Update physics/potential_energy.py Co-authored-by: Chris O <46587501+ChrisO345@users.noreply.github.com> * Update physics/potential_energy.py Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.com> * Update physics/potential_energy.py Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.com> * Update physics/potential_energy.py Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.com> * Update physics/potential_energy.py Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.com> * Update physics/potential_energy.py Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Chris O <46587501+ChrisO345@users.noreply.github.com> Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.com>
62 lines
2.0 KiB
Python
62 lines
2.0 KiB
Python
from scipy.constants import g
|
|
|
|
"""
|
|
Finding the gravitational potential energy of an object with reference
|
|
to the earth,by taking its mass and height above the ground as input
|
|
|
|
|
|
Description : Gravitational energy or gravitational potential energy
|
|
is the potential energy a massive object has in relation to another
|
|
massive object due to gravity. It is the potential energy associated
|
|
with the gravitational field, which is released (converted into
|
|
kinetic energy) when the objects fall towards each other.
|
|
Gravitational potential energy increases when two objects
|
|
are brought further apart.
|
|
|
|
For two pairwise interacting point particles, the gravitational
|
|
potential energy U is given by
|
|
U=-GMm/R
|
|
where M and m are the masses of the two particles, R is the distance
|
|
between them, and G is the gravitational constant.
|
|
Close to the Earth's surface, the gravitational field is approximately
|
|
constant, and the gravitational potential energy of an object reduces to
|
|
U=mgh
|
|
where m is the object's mass, g=GM/R² is the gravity of Earth, and h is
|
|
the height of the object's center of mass above a chosen reference level.
|
|
|
|
Reference : "https://en.m.wikipedia.org/wiki/Gravitational_energy"
|
|
"""
|
|
|
|
|
|
def potential_energy(mass: float, height: float) -> float:
|
|
# function will accept mass and height as parameters and return potential energy
|
|
"""
|
|
>>> potential_energy(10,10)
|
|
980.665
|
|
>>> potential_energy(0,5)
|
|
0.0
|
|
>>> potential_energy(8,0)
|
|
0.0
|
|
>>> potential_energy(10,5)
|
|
490.3325
|
|
>>> potential_energy(0,0)
|
|
0.0
|
|
>>> potential_energy(2,8)
|
|
156.9064
|
|
>>> potential_energy(20,100)
|
|
19613.3
|
|
"""
|
|
if mass < 0:
|
|
# handling of negative values of mass
|
|
raise ValueError("The mass of a body cannot be negative")
|
|
if height < 0:
|
|
# handling of negative values of height
|
|
raise ValueError("The height above the ground cannot be negative")
|
|
return mass * g * height
|
|
|
|
|
|
if __name__ == "__main__":
|
|
from doctest import testmod
|
|
|
|
testmod(name="potential_energy")
|