physics_plus 0.0.5 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/lib/physics_plus/constants.rb +36 -19
- data/lib/physics_plus/elements_theory_relativity.rb +26 -0
- data/lib/physics_plus/optics.rb +2 -2
- data/lib/physics_plus/quantums.rb +38 -0
- data/lib/physics_plus/version.rb +1 -1
- data/lib/physics_plus.rb +3 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6329fe0a88532e91bafbf7e96649dc08177209c28bb76734fcda6450c6828995
|
4
|
+
data.tar.gz: 4fe3a269c76cf789e45289b27582c6ce04790eebc1327ed55f0438087280fc5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc7f39606c5cedbb88b6f895aa45dc37dd18cfbaceba6f1bd68777adada393d3bc584f7fd0548370307631379561b190a1de6c9ebac7ba2e9c2216a299fd73cf
|
7
|
+
data.tar.gz: 6a6d4d89e427bd49d378bb2c88708875f56e5ee8b43c017c5f312fda731076df1dbd49009f10dcbd11cca7175eaf014019d112a58795500e18e8d383f355f909
|
data/README.md
CHANGED
@@ -41,12 +41,19 @@ puts PhysicsPlus::Constants.List_planck_quantities
|
|
41
41
|
puts PhysicsPlus::Constants.List_different_systems_quantities
|
42
42
|
puts PhysicsPlus::Constants.List_electromagnetic_constants
|
43
43
|
|
44
|
-
|
45
44
|
PhysicsPlus::Constants::C => 299792458
|
46
45
|
PhysicsPlus::Constants::Speed_light_vacuum => 299792458
|
47
46
|
|
48
47
|
PhysicsPlus::Constants::G => 6.02214076e+23
|
49
48
|
PhysicsPlus::Constants::Gravitational_constant => 6.02214076e+23
|
49
|
+
|
50
|
+
PhysicsPlus::Optics.absolute_refractive_index(200_000_000) => 1.49896229
|
51
|
+
PhysicsPlus::Optics.power_lens(2) => 0.5
|
52
|
+
|
53
|
+
PhysicsPlus::ElementsTheoryRelativity.inertial_system_length(1.5, 200_000_000) => 1.1174144036800955
|
54
|
+
PhysicsPlus::ElementsTheoryRelativity.inertial_system_time(60, 200_000_000) => 80.54308205048527
|
55
|
+
|
56
|
+
PhysicsPlus::Quantums.equivalence_of_mass_and_energy(0.0000000001) => 8987551.787368177
|
50
57
|
```
|
51
58
|
|
52
59
|
|
@@ -55,3 +62,4 @@ PhysicsPlus::Constants::Gravitational_constant => 6.02214076e+23
|
|
55
62
|
MIT
|
56
63
|
|
57
64
|
**Free Software, Hell Yeah!**
|
65
|
+
|
@@ -16,22 +16,22 @@ module PhysicsPlus
|
|
16
16
|
end
|
17
17
|
|
18
18
|
# @return [Integer]
|
19
|
-
Speed_light_vacuum = C = 299792458
|
19
|
+
Speed_light_vacuum = C = 299792458
|
20
20
|
|
21
21
|
# @return [Float]
|
22
|
-
Gravitational_constant = G = (6.674484 * ( 10 ** (11 * -1.0 ) ))
|
22
|
+
Gravitational_constant = G = (6.674484 * ( 10 ** (11 * -1.0 ) ))
|
23
23
|
|
24
24
|
# @return [Float]
|
25
|
-
Planck_constant = (6.62607015 * ( 10 ** (34 * -1.0 ) ))
|
25
|
+
Planck_constant = (6.62607015 * ( 10 ** (34 * -1.0 ) ))
|
26
26
|
|
27
27
|
# @return [Float]
|
28
|
-
Reduced_Planck_constant = (1.0545718 * ( 10 ** (34 * -1.0 ) ))
|
28
|
+
Reduced_Planck_constant = (1.0545718 * ( 10 ** (34 * -1.0 ) ))
|
29
29
|
|
30
30
|
# @return [Float]
|
31
|
-
Elementary_charge = (1.602176634 * ( 10 ** (19 * -1.0 ) ))
|
31
|
+
Elementary_charge = (1.602176634 * ( 10 ** (19 * -1.0 ) ))
|
32
32
|
|
33
33
|
# @return [Float]
|
34
|
-
Boltzmanns_constant = (1.380649 * ( 10 ** (23 * -1.0 ) ))
|
34
|
+
Boltzmanns_constant = (1.380649 * ( 10 ** (23 * -1.0 ) ))
|
35
35
|
|
36
36
|
|
37
37
|
# @return [String] List of planck quantities
|
@@ -45,16 +45,16 @@ module PhysicsPlus
|
|
45
45
|
end
|
46
46
|
|
47
47
|
# @return [Float]
|
48
|
-
Planck_mass = (2.176434 * ( 10 ** (8 * -1.0 ) ))
|
48
|
+
Planck_mass = (2.176434 * ( 10 ** (8 * -1.0 ) ))
|
49
49
|
|
50
50
|
# @return [Float]
|
51
|
-
Planck_length = (1.616255 * ( 10 ** (35 * -1.0 ) ))
|
51
|
+
Planck_length = (1.616255 * ( 10 ** (35 * -1.0 ) ))
|
52
52
|
|
53
53
|
# @return [Float]
|
54
|
-
Planck_time = (5.391247 * ( 10 ** (44 * -1.0 ) ))
|
54
|
+
Planck_time = (5.391247 * ( 10 ** (44 * -1.0 ) ))
|
55
55
|
|
56
56
|
# @return [Float]
|
57
|
-
Planck_temperature = (1.416784 * ( 10 ** (32 * 1.0 ) ))
|
57
|
+
Planck_temperature = (1.416784 * ( 10 ** (32 * 1.0 ) ))
|
58
58
|
|
59
59
|
# @return [String] List Constants linking different systems of units and conversion factors
|
60
60
|
def self.List_different_systems_quantities
|
@@ -70,25 +70,25 @@ module PhysicsPlus
|
|
70
70
|
end
|
71
71
|
|
72
72
|
# @return [Float]
|
73
|
-
Fine_structure_constant = (7.2973525693 * ( 10 ** (3 * -1.0 ) ))
|
73
|
+
Fine_structure_constant = (7.2973525693 * ( 10 ** (3 * -1.0 ) ))
|
74
74
|
|
75
75
|
# @return [Float]
|
76
|
-
Electrical_constant = (8.8541878128 * ( 10 ** (12 * -1.0 ) ))
|
76
|
+
Electrical_constant = (8.8541878128 * ( 10 ** (12 * -1.0 ) ))
|
77
77
|
|
78
78
|
# @return [Float]
|
79
|
-
Atomic_mass_unit = (1.66053906660 * ( 10 ** (27 * -1.0 ) ))
|
79
|
+
Atomic_mass_unit = (1.66053906660 * ( 10 ** (27 * -1.0 ) ))
|
80
80
|
|
81
81
|
# @return [Float]
|
82
|
-
Avogadros_constant = (6.02214076 * ( 10 ** (23 * 1.0 ) ))
|
82
|
+
Avogadros_constant = (6.02214076 * ( 10 ** (23 * 1.0 ) ))
|
83
83
|
|
84
84
|
# @return [Float]
|
85
|
-
Electron_volt = (1.602176634 * ( 10 ** (19 * -1.0 ) ))
|
85
|
+
Electron_volt = (1.602176634 * ( 10 ** (19 * -1.0 ) ))
|
86
86
|
|
87
87
|
# @return [Float]
|
88
|
-
Calorie = 4.1868
|
88
|
+
Calorie = 4.1868
|
89
89
|
|
90
90
|
# @return [Integer]
|
91
|
-
Liter_atmosphere = (101325)
|
91
|
+
Liter_atmosphere = (101325)
|
92
92
|
|
93
93
|
# @return [String] List electromagnetic constants
|
94
94
|
def self.List_electromagnetic_constants
|
@@ -101,13 +101,30 @@ module PhysicsPlus
|
|
101
101
|
end
|
102
102
|
|
103
103
|
# @return [Float]
|
104
|
-
Magnetic_constant = (1.25663706212 * ( 10 ** (6 * -1.0 ) ))
|
104
|
+
Magnetic_constant = (1.25663706212 * ( 10 ** (6 * -1.0 ) ))
|
105
105
|
|
106
106
|
# @return [Float]
|
107
107
|
Vacuum_impedance = 376.73
|
108
108
|
|
109
109
|
# @return [Float]
|
110
|
-
Coulombs_constant = (8.98755 * ( 10 ** (9 * 1.0 ) ))
|
110
|
+
Coulombs_constant = (8.98755 * ( 10 ** (9 * 1.0 ) ))
|
111
111
|
|
112
|
+
# @return [String] Some other physical constants
|
113
|
+
def Some_other_physical_constants
|
114
|
+
constants = <<~CONSTANTS
|
115
|
+
Electron_mass => 9.1093837015e-31 (Electron mass)
|
116
|
+
Proton_mass => 1.67262192369e-27 (Proton mass)
|
117
|
+
Neutron_mass => 1.67492749804e-27 (Neutron_mass)
|
118
|
+
CONSTANTS
|
119
|
+
end
|
120
|
+
|
121
|
+
# @return [Float]
|
122
|
+
Electron_mass = (9.1093837015 * ( 10 ** (31 * -1.0 ) ))
|
123
|
+
|
124
|
+
# @return [Float]
|
125
|
+
Proton_mass = (1.67262192369 * ( 10 ** (27 * -1.0 ) ))
|
126
|
+
|
127
|
+
# @return [Float]
|
128
|
+
Neutron_mass = (1.67492749804 * ( 10 ** (27 * -1.0 ) ))
|
112
129
|
end
|
113
130
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# This module elements theory relativity
|
2
|
+
module PhysicsPlus
|
3
|
+
# This class elements theory relativity formulas
|
4
|
+
class ElementsTheoryRelativity
|
5
|
+
def self.relativistic_velocity_addition(speed_1, speed_2)
|
6
|
+
(speed_1 + speed_2)/(1 + (speed_1 * speed_2.to_f)/Constants::C ** 2 )
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.inertial_system_length(length_0, speed)
|
10
|
+
length_0 * Math.sqrt(1-(speed.to_f ** 2)/(Constants::C ** 2))
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.inertial_system_time(time_0, speed)
|
14
|
+
time_0 / Math.sqrt(1 - (speed.to_f ** 2)/(Constants::C ** 2))
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.inertial_system_weight(weight_0, speed)
|
18
|
+
weight_0 / Math.sqrt(1 - (speed.to_f ** 2)/(Constants::C ** 2))
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.relationship_mass_energy(weight)
|
22
|
+
weight.to_f * (Constants::C ** 2)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
data/lib/physics_plus/optics.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
# This module
|
1
|
+
# This module optics
|
2
2
|
module PhysicsPlus
|
3
|
-
# This
|
3
|
+
# This class optics formulas
|
4
4
|
class Optics
|
5
5
|
def self.absolute_refractive_index(speed)
|
6
6
|
raise 'speed must not exceed the speed of light' if Constants::C < speed
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module PhysicsPlus
|
2
|
+
# This class quantums formulas
|
3
|
+
class Quantums
|
4
|
+
def self.photon_energy(frequency)
|
5
|
+
raise 'frequency must be greater than zero' if frequency <= 0
|
6
|
+
|
7
|
+
Constants::Planck_constant * frequency.to_f
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.photon_momentum(frequency)
|
11
|
+
raise 'frequency must be greater than zero' if frequency <= 0
|
12
|
+
|
13
|
+
Constants::Planck_constant * frequency.to_f / Constants::C
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.einstein_equation_photoelectric_effect(work_function, speed)
|
17
|
+
raise 'work function must be greater than zero' if work_function <= 0
|
18
|
+
|
19
|
+
work_function + (Constants::Electron_mass * speed ** 2)/2.to_f
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.work_function(frequency_min)
|
23
|
+
Constants::Planck_constant * frequency_min.abs
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.de_Broglie_wavelength(massa, speed)
|
27
|
+
Constants::Planck_constant/(massa.abs * speed.abs)
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.law_of_radioactive_decay(n0, t, half_life)
|
31
|
+
n0.to_f * 2 ** (-1 * ( t / half_life.to_f) )
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.equivalence_of_mass_and_energy(massa)
|
35
|
+
massa * (Constants::C ** 2)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/physics_plus/version.rb
CHANGED
data/lib/physics_plus.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
require_relative 'physics_plus/constants'
|
2
2
|
require_relative 'physics_plus/optics'
|
3
3
|
require_relative 'physics_plus/version'
|
4
|
+
require_relative 'physics_plus/elements_theory_relativity'
|
5
|
+
require_relative 'physics_plus/quantums'
|
4
6
|
|
5
7
|
# This module is the main one for the gem
|
6
8
|
|
7
9
|
module PhysicsPlus
|
8
|
-
end
|
10
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: physics_plus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AlexVikPast
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -35,7 +35,9 @@ files:
|
|
35
35
|
- README.md
|
36
36
|
- lib/physics_plus.rb
|
37
37
|
- lib/physics_plus/constants.rb
|
38
|
+
- lib/physics_plus/elements_theory_relativity.rb
|
38
39
|
- lib/physics_plus/optics.rb
|
40
|
+
- lib/physics_plus/quantums.rb
|
39
41
|
- lib/physics_plus/version.rb
|
40
42
|
homepage: https://github.com/AlexVikPast/physics_plus
|
41
43
|
licenses:
|
@@ -57,7 +59,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
59
|
- !ruby/object:Gem::Version
|
58
60
|
version: '0'
|
59
61
|
requirements: []
|
60
|
-
rubygems_version: 3.
|
62
|
+
rubygems_version: 3.5.1
|
61
63
|
signing_key:
|
62
64
|
specification_version: 4
|
63
65
|
summary: physics_plus
|