From edd30dd2c4a9b2658911d0c41edd2cfd70b4ab10 Mon Sep 17 00:00:00 2001 From: Divyesh Vishwakarma Date: Tue, 19 Oct 2021 17:16:24 +0530 Subject: [PATCH] Added newtons_second_law_of_motion.py --- physics/newtons_second_law_of_motion.py | 81 +++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 physics/newtons_second_law_of_motion.py diff --git a/physics/newtons_second_law_of_motion.py b/physics/newtons_second_law_of_motion.py new file mode 100644 index 000000000000..6a600aaf5de2 --- /dev/null +++ b/physics/newtons_second_law_of_motion.py @@ -0,0 +1,81 @@ +""" +Description : +Newton's second law of motion pertains to the behavior of objects for which +all existing forces are not balanced. +The second law states that the acceleration of an object is dependent upon two variables +- the net force acting upon the object and the mass of the object. +The acceleration of an object depends directly +upon the net force acting upon the object, +and inversely upon the mass of the object. +As the force acting upon an object is increased, +the acceleration of the object is increased. +As the mass of an object is increased, the acceleration of the object is decreased. +Source: https://www.physicsclassroom.com/class/newtlaws/Lesson-3/Newton-s-Second-Law +Formulation: Fnet = m • a +Diagrammatic Explanation: + Forces are unbalanced + | + | + | + V + There is acceleration + /\ + / \ + / \ + / \ + / \ + / \ + / \ + __________________ ____ ________________ + |The acceleration | |The acceleration | + |depends directly | |depends inversely | + |on the net Force | |upon the object's | + |_________________| |mass_______________| +Units: +1 Newton = 1 kg X meters / (seconds^2) +How to use? +Inputs: + ___________________________________________________ + |Name | Units | Type | + |-------------|-------------------------|-----------| + |mass | (in kgs) | float | + |-------------|-------------------------|-----------| + |acceleration | (in meters/(seconds^2)) | float | + |_____________|_________________________|___________| + +Output: + ___________________________________________________ + |Name | Units | Type | + |-------------|-------------------------|-----------| + |force | (in Newtons) | float | + |_____________|_________________________|___________| + +""" + + +def newtons_second_law_of_motion(mass, acceleration): + """ + >>> newtons_second_law_of_motion(10, 10) + 100 + >>> newtons_second_law_of_motion(2.0, 1) + 2.0 + """ + force = float() + try: + force = mass * acceleration + except Exception as e: + return e + return force + + +if __name__ == "__main__": + import doctest + + # run doctest + doctest.testmod() + + # demo + mass = 12.5 + acceleration = 10 + force = newtons_second_law_of_motion(mass, acceleration) + print("The force is ", force, "N")