From 4947488ddc171e3c7ad4efa59bdfb1357416f681 Mon Sep 17 00:00:00 2001 From: SRUTIGUDURU <139117354+SRUTIGUDURU@users.noreply.github.com> Date: Thu, 10 Oct 2024 00:57:13 +0530 Subject: [PATCH 01/12] Create potential_energy_two_charges.py --- electronics/potential_energy_two_charges.py | 53 +++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 electronics/potential_energy_two_charges.py diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py new file mode 100644 index 000000000000..e6e01a2623c5 --- /dev/null +++ b/electronics/potential_energy_two_charges.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +k_e = 8.99 * (10**9) # N·m²/C², Coulomb's constant +"""reference:https://phys.libretexts.org/Bookshelves/University_Physics/University_Physics_(OpenStax)/University_Physics_II_-_Thermodynamics_Electricity_and_Magnetism_(OpenStax)/07%3A_Electric_Potential/7.02%3A_Electric_Potential_Energy """ + +def potential_energy_2_charges( + charge_1: float, + charge_2: float, + distance: float, +) -> float: + """ + Calculate the potential energy due to two charges. + + Parameters: + - charge_1 (float): The charge in Coulombs. + - charge_2 (float): The charge in Coulombs. + - distance (float): The distance between the charges in meters. + + Returns: + - float: The potential energy. + + Raises: + - ValueError: If distance is less than zero. + + Examples: + >>> potential_energy_2_charges(1e-6, 1e-6, 0.01) + 899000.0 + >>> potential_energy_2_charges(2e-6, 3e-6, 0.05) + 1078800.0 + >>> potential_energy_2_charges(0, 3e-6, 0.05) + 0 + >>> potential_energy_2_charges(2e-6, 3e-6, 0) + inf + >>> potential_energy_2_charges(2e-6, 3e-6, -0.05) + Traceback (most recent call last): + ... + ValueError: Distance cannot be less than zero. + """ + if charge_1 == 0 or charge_2 == 0: + return 0 + elif distance == 0: + return float("inf") + elif distance < 0: + raise ValueError("Distance cannot be less than zero.") + else: + potential_energy = k_e * charge_1 * charge_2 / distance + return potential_energy + + +if __name__ == "__main__": + import doctest + + doctest.testmod() From b290e848be8afa328471e4354738547f307912b4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 19:31:01 +0000 Subject: [PATCH 02/12] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- electronics/potential_energy_two_charges.py | 1 + 1 file changed, 1 insertion(+) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index e6e01a2623c5..d736bb02f6f2 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -3,6 +3,7 @@ k_e = 8.99 * (10**9) # N·m²/C², Coulomb's constant """reference:https://phys.libretexts.org/Bookshelves/University_Physics/University_Physics_(OpenStax)/University_Physics_II_-_Thermodynamics_Electricity_and_Magnetism_(OpenStax)/07%3A_Electric_Potential/7.02%3A_Electric_Potential_Energy """ + def potential_energy_2_charges( charge_1: float, charge_2: float, From c4157e0fed8356a51539101d331d2d89c6fb013e Mon Sep 17 00:00:00 2001 From: SRUTIGUDURU <139117354+SRUTIGUDURU@users.noreply.github.com> Date: Thu, 10 Oct 2024 01:02:16 +0530 Subject: [PATCH 03/12] Update potential_energy_two_charges.py --- electronics/potential_energy_two_charges.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index d736bb02f6f2..2bb1f3ab050a 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -1,7 +1,11 @@ from __future__ import annotations k_e = 8.99 * (10**9) # N·m²/C², Coulomb's constant -"""reference:https://phys.libretexts.org/Bookshelves/University_Physics/University_Physics_(OpenStax)/University_Physics_II_-_Thermodynamics_Electricity_and_Magnetism_(OpenStax)/07%3A_Electric_Potential/7.02%3A_Electric_Potential_Energy """ +# Reference: +# https://phys.libretexts.org/Bookshelves/University_Physics/ +# University_Physics_(OpenStax)/University_Physics_II_-_Thermodynamics_ +# Electricity_and_Magnetism_(OpenStax)/07%3A_Electric_Potential/7.02%3A_ +# Electric_Potential_Energy def potential_energy_2_charges( From d3b76b011d95a8ae40c0b789b13cabfd0d816fbb Mon Sep 17 00:00:00 2001 From: SRUTIGUDURU <139117354+SRUTIGUDURU@users.noreply.github.com> Date: Thu, 10 Oct 2024 01:10:12 +0530 Subject: [PATCH 04/12] Update potential_energy_two_charges.py --- electronics/potential_energy_two_charges.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index 2bb1f3ab050a..548a2875f89c 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -1,6 +1,7 @@ from __future__ import annotations k_e = 8.99 * (10**9) # N·m²/C², Coulomb's constant + # Reference: # https://phys.libretexts.org/Bookshelves/University_Physics/ # University_Physics_(OpenStax)/University_Physics_II_-_Thermodynamics_ @@ -56,3 +57,4 @@ def potential_energy_2_charges( import doctest doctest.testmod() + From d19d91b8f3e4affc716f20178e60f0b31ca1a3ca Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 19:43:16 +0000 Subject: [PATCH 05/12] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- electronics/potential_energy_two_charges.py | 1 - 1 file changed, 1 deletion(-) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index 548a2875f89c..c191efaf3f3c 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -57,4 +57,3 @@ def potential_energy_2_charges( import doctest doctest.testmod() - From 46f2c175bb959878ea91391398a1904bc1437ccc Mon Sep 17 00:00:00 2001 From: SRUTIGUDURU <139117354+SRUTIGUDURU@users.noreply.github.com> Date: Thu, 10 Oct 2024 01:26:00 +0530 Subject: [PATCH 06/12] Update potential_energy_two_charges.py --- electronics/potential_energy_two_charges.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index c191efaf3f3c..c31907d5667c 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -2,11 +2,7 @@ k_e = 8.99 * (10**9) # N·m²/C², Coulomb's constant -# Reference: -# https://phys.libretexts.org/Bookshelves/University_Physics/ -# University_Physics_(OpenStax)/University_Physics_II_-_Thermodynamics_ -# Electricity_and_Magnetism_(OpenStax)/07%3A_Electric_Potential/7.02%3A_ -# Electric_Potential_Energy +"""Reference: https://en.wikipedia.org/wiki/Electric_potential_energy""" def potential_energy_2_charges( From 5560a9446cc5d464059e4b09d8344788e5043b0f Mon Sep 17 00:00:00 2001 From: SRUTIGUDURU <139117354+SRUTIGUDURU@users.noreply.github.com> Date: Thu, 10 Oct 2024 01:32:44 +0530 Subject: [PATCH 07/12] Update potential_energy_two_charges.py --- electronics/potential_energy_two_charges.py | 22 ++++++++++----------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index c31907d5667c..220012e06ecf 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -1,10 +1,9 @@ +"""Reference: https://en.wikipedia.org/wiki/Electric_potential_energy""" + from __future__ import annotations k_e = 8.99 * (10**9) # N·m²/C², Coulomb's constant -"""Reference: https://en.wikipedia.org/wiki/Electric_potential_energy""" - - def potential_energy_2_charges( charge_1: float, charge_2: float, @@ -36,20 +35,19 @@ def potential_energy_2_charges( >>> potential_energy_2_charges(2e-6, 3e-6, -0.05) Traceback (most recent call last): ... - ValueError: Distance cannot be less than zero. + ValueError: Distance must be greater than zero. """ if charge_1 == 0 or charge_2 == 0: return 0 - elif distance == 0: - return float("inf") - elif distance < 0: - raise ValueError("Distance cannot be less than zero.") - else: - potential_energy = k_e * charge_1 * charge_2 / distance - return potential_energy + if distance <= 0: + if distance == 0: + return float("inf") + raise ValueError("Distance must be greater than zero.") + + potential_energy = k_e * charge_1 * charge_2 / distance + return round(potential_energy, 6) # Round for precision if __name__ == "__main__": import doctest - doctest.testmod() From 696e4f265185293a95864659f8d64ee4e109d933 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 20:03:37 +0000 Subject: [PATCH 08/12] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- electronics/potential_energy_two_charges.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index 220012e06ecf..43c566b764b6 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -4,6 +4,7 @@ k_e = 8.99 * (10**9) # N·m²/C², Coulomb's constant + def potential_energy_2_charges( charge_1: float, charge_2: float, @@ -43,11 +44,12 @@ def potential_energy_2_charges( if distance == 0: return float("inf") raise ValueError("Distance must be greater than zero.") - + potential_energy = k_e * charge_1 * charge_2 / distance return round(potential_energy, 6) # Round for precision if __name__ == "__main__": import doctest + doctest.testmod() From f702e991f82fa0dc8c23b2b60a3bd8cabb440960 Mon Sep 17 00:00:00 2001 From: SRUTIGUDURU <139117354+SRUTIGUDURU@users.noreply.github.com> Date: Thu, 10 Oct 2024 01:37:01 +0530 Subject: [PATCH 09/12] Update potential_energy_two_charges.py --- electronics/potential_energy_two_charges.py | 1 + 1 file changed, 1 insertion(+) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index 43c566b764b6..a3c7d686565c 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -53,3 +53,4 @@ def potential_energy_2_charges( import doctest doctest.testmod() + From 8ac211b68496ffd03e06c5ca154f74c8d26c15cc Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 20:07:35 +0000 Subject: [PATCH 10/12] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- electronics/potential_energy_two_charges.py | 1 - 1 file changed, 1 deletion(-) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index a3c7d686565c..43c566b764b6 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -53,4 +53,3 @@ def potential_energy_2_charges( import doctest doctest.testmod() - From e67866be147388a91a03fbe23cc38693e68162f8 Mon Sep 17 00:00:00 2001 From: SRUTIGUDURU <139117354+SRUTIGUDURU@users.noreply.github.com> Date: Thu, 10 Oct 2024 01:41:25 +0530 Subject: [PATCH 11/12] Update potential_energy_two_charges.py --- electronics/potential_energy_two_charges.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index 43c566b764b6..23d7d2a17316 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -26,7 +26,7 @@ def potential_energy_2_charges( Examples: >>> potential_energy_2_charges(1e-6, 1e-6, 0.01) - 899000.0 + 0.899 >>> potential_energy_2_charges(2e-6, 3e-6, 0.05) 1078800.0 >>> potential_energy_2_charges(0, 3e-6, 0.05) From c369ac9b07568fc0256d334d1e2b6eb026621d3f Mon Sep 17 00:00:00 2001 From: SRUTIGUDURU <139117354+SRUTIGUDURU@users.noreply.github.com> Date: Thu, 10 Oct 2024 01:45:02 +0530 Subject: [PATCH 12/12] Update potential_energy_two_charges.py --- electronics/potential_energy_two_charges.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electronics/potential_energy_two_charges.py b/electronics/potential_energy_two_charges.py index 23d7d2a17316..1969804d79cd 100644 --- a/electronics/potential_energy_two_charges.py +++ b/electronics/potential_energy_two_charges.py @@ -28,7 +28,7 @@ def potential_energy_2_charges( >>> potential_energy_2_charges(1e-6, 1e-6, 0.01) 0.899 >>> potential_energy_2_charges(2e-6, 3e-6, 0.05) - 1078800.0 + 1.0788 >>> potential_energy_2_charges(0, 3e-6, 0.05) 0 >>> potential_energy_2_charges(2e-6, 3e-6, 0)