physics_plus 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2188440493d1f12852ba9663965dbb544eeb82c923ccfc99f1b7ade5a5e00ab0
4
- data.tar.gz: ef9512f39a14e348a34c2eb06358bbf37b907ff50a9590b6dd0b2de8f2069576
3
+ metadata.gz: ed3bc4940a1f6174f52c7881e6f20d07f658e61d029fc8278a15cc7347eefecd
4
+ data.tar.gz: dae35ea4e274d89548bb47c9fe09569dce115f99cba128b01d0a383ca0e4b662
5
5
  SHA512:
6
- metadata.gz: ebc541ce7067a89b6a0d1eaca641d8cf0847ec9c276866da58ba81d26e4a389e6c47fc6801dcc2af38f523cc89e3ef926c9578b9efb4ecf356effef235ffb7e2
7
- data.tar.gz: b1f0673734422585dad4fc868692591ce7ffbebf9172f59688ad060d90ab0e7840410b9e093a97d92439910cd45fb6e030feb544aeeb7374dabb18b09521222a
6
+ metadata.gz: 81fb4da0a449e614e968f7232d1a62d6179909a6e24bdba16639d3f2e6d11655327abf9a0b009dba00ad76926bee61a01d948a8429b2b77b72e596d9bb639ce0
7
+ data.tar.gz: be4ed0df358284327773da85fe76eb2191cbfe9196683bc88bdfe4e245c7fd13e86c011a059d3ed42bfd7b8ad471881dc80c8c5edeb3a9a097ae96d8c94ace82
data/Gemfile CHANGED
@@ -1,3 +1,6 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
+ gem 'yard'
4
+ gem 'redcarpet'
5
+
3
6
  gemspec
data/README.md CHANGED
@@ -0,0 +1,42 @@
1
+ # gem 'physics_plus'
2
+ ## Evolving set for solving problems in physics
3
+
4
+ I will try every week to add new gem functionality.
5
+
6
+ ### features already implemented
7
+ - Fundamental Constants
8
+
9
+ ### plans to implement functions
10
+ - Mechanics
11
+ - Thermodynamics
12
+ - Optics
13
+ - Electrodynamics
14
+
15
+ ### Installation
16
+ GEMFILE:
17
+ ```
18
+ gem 'physics_plus'
19
+ ```
20
+
21
+ INSTALL:
22
+ ```
23
+ gem install physics_plus
24
+ ```
25
+
26
+ EXAMPLE (Fundamental Constants):
27
+ ```
28
+ require 'physics_plus' => true
29
+
30
+ puts PhysicsPlus.list_fundamental_constants
31
+ puts PhysicsPlus.list_planck_quantities
32
+
33
+ PhysicsPlus.C => 299792458
34
+ PhysicsPlus.Na => 6.02214076e+23
35
+ ```
36
+
37
+
38
+ ### License
39
+
40
+ MIT
41
+
42
+ **Free Software, Hell Yeah!**
@@ -1,47 +1,129 @@
1
+ # This module contains physical constants
1
2
  module Main
3
+ # This module contains physical constants
2
4
  module Constants
3
5
 
4
- # Example:
5
- # >> PhysicsPlus.C
6
- # => 299792458
7
- #
6
+ # @return [String] List fundamental constants
7
+ def list_fundamental_constants
8
+ constants = <<~CONSTANTS
9
+ C => 299792458 (speed of light)
10
+ G => 6.674484e-11 (gravitational constant)
11
+ h => 6.62607015e-34 (constant Plank)
12
+ h_line => 1.0545717999999998e-34 (Dirac constant)
13
+ e => 1.6021766340000001e-19 (elementary charge)
14
+ k => 1.380649e-23 (Boltzmann's constant)
15
+ CONSTANTS
16
+ end
8
17
 
9
- # Фундаментальные физические постоянные
18
+ # @return [Integer]
10
19
  def C
11
20
  299792458
12
21
  end
13
22
 
23
+ # @return [Float]
14
24
  def G
15
25
  6.674484 * ( 10 ** (11 * -1.0 ) )
16
26
  end
17
27
 
28
+ # @return [Float]
18
29
  def h
19
30
  6.62607015 * ( 10 ** (34 * -1.0 ) )
20
31
  end
21
32
 
33
+ # @return [Float]
34
+ def h_line
35
+ 1.0545718 * ( 10 ** (34 * -1.0 ) )
36
+ end
37
+
38
+ # @return [Float]
22
39
  def e
23
40
  1.602176634 * ( 10 ** (19 * -1.0 ) )
24
41
  end
25
42
 
43
+ # @return [Float]
26
44
  def k
27
45
  1.380649 * ( 10 ** (23 * -1.0 ) )
28
46
  end
29
47
 
30
- # Постоянные, связывающие разные системы единиц, и переводные множители
48
+
49
+ # @return [String] List of planck quantities
50
+ def list_planck_quantities
51
+ constants = <<~CONSTANTS
52
+ m_p => 2.176434e-08 (Planck mass)
53
+ l_p => 1.616255e-35 (Planck length)
54
+ t_p => 5.391246999999999e-44 (Planck time)
55
+ T_p => 1.4167840000000002e+32 (Planck temperature)
56
+ CONSTANTS
57
+ end
58
+
59
+ # @return [Float]
60
+ def m_p
61
+ 2.176434 * ( 10 ** (8 * -1.0 ) )
62
+ end
63
+
64
+ # @return [Float]
65
+ def l_p
66
+ 1.616255 * ( 10 ** (35 * -1.0 ) )
67
+ end
68
+
69
+ # @return [Float]
70
+ def t_p
71
+ 5.391247 * ( 10 ** (44 * -1.0 ) )
72
+ end
73
+
74
+ # @return [Integer]
75
+ def T_p
76
+ 1.416784 * ( 10 ** (32 * 1.0 ) )
77
+ end
78
+
79
+
80
+ # @return [String] List Constants linking different systems of units and conversion factors
81
+ def list_planck_quantities
82
+ constants = <<~CONSTANTS
83
+ alpha => 0.0072973525693 (fine structure constant)
84
+ epsilon_0 => 8.854187812799999e-12 (electrical constant)
85
+ a_e_m => 4.1868 (atomic mass unit)
86
+ Na => 6.02214076e+23 (Avogadro's constant)
87
+ eV => 1.6021766340000001e-19 (electron volt)
88
+ calorie => 4.1868 (calorie)
89
+ liter_atmosphere => 101325 (liter * atmosphere)
90
+ CONSTANTS
91
+ end
92
+
93
+ # @return [Float]
94
+ def alpha
95
+ 7.2973525693 * ( 10 ** (3 * -1.0 ) )
96
+ end
97
+
98
+ # @return [Float]
99
+ def epsilon_0
100
+ 8.8541878128 * ( 10 ** (12 * -1.0 ) )
101
+ end
102
+
103
+ # @return [Float]
31
104
  def a_e_m
32
105
  1.66053906660 * ( 10 ** (27 * -1.0 ) )
33
106
  end
34
107
 
108
+ # @return [Integer]
35
109
  def Na
36
110
  6.02214076 * ( 10 ** (23 * 1.0 ) )
37
111
  end
38
-
112
+
113
+ # @return [Float]
39
114
  def eV
40
115
  1.602176634 * ( 10 ** (19 * -1.0 ) )
41
116
  end
42
117
 
43
- def kal
118
+ # @return [Float]
119
+ def calorie
44
120
  4.1868
45
121
  end
122
+
123
+ # @return [Integer]
124
+ def liter_atmosphere
125
+ 101325
126
+ end
127
+
46
128
  end
47
129
  end
@@ -1,3 +1,5 @@
1
+ # This module VERSION gem
1
2
  module PhysicsPlus
2
- VERSION = '0.0.1'
3
+ # @return VERSION
4
+ VERSION = '0.0.3'
3
5
  end
data/lib/physics_plus.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require_relative 'physics_plus/main/constants'
2
2
 
3
+ # This module is the main one for the gem
4
+
3
5
  module PhysicsPlus
6
+ # Main module
4
7
  extend Main::Constants
5
8
  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.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - AlexVikPast
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-27 00:00:00.000000000 Z
11
+ date: 2023-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec