Class: LittleElementor::Orbital

Inherits:
Object
  • Object
show all
Defined in:
lib/little-elementor/orbital.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(n, l, electrons_count) ⇒ Orbital

Returns a new instance of Orbital.



8
9
10
11
12
# File 'lib/little-elementor/orbital.rb', line 8

def initialize(n, l, electrons_count)
  @n = n
  @l = l
  @electrons_count = electrons_count
end

Instance Attribute Details

#electrons_countObject (readonly)

Returns the value of attribute electrons_count.



7
8
9
# File 'lib/little-elementor/orbital.rb', line 7

def electrons_count
  @electrons_count
end

#lObject (readonly)

Returns the value of attribute l.



7
8
9
# File 'lib/little-elementor/orbital.rb', line 7

def l
  @l
end

#nObject (readonly)

Returns the value of attribute n.



7
8
9
# File 'lib/little-elementor/orbital.rb', line 7

def n
  @n
end

Class Method Details

.gen_orbitalsObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/little-elementor/orbital.rb', line 18

def self.gen_orbitals 
  i = 0
  n = 1
  al_lay = []
  while n < 9
    break if n > 7 
    l = 0
    while l < n
      max = l*4 + 2
      break if n > 7 or l >= n 
      al_lay << Orbital.new(n, l, max)
      i += max
      l+=1
    end
    n+=1
  end
  al_lay.sort_by{|o| [o.n + o.l, o.n]}
end

Instance Method Details

#to_sObject



14
15
16
# File 'lib/little-elementor/orbital.rb', line 14

def to_s
  "#{@n}#{Helpers::L[@l]}#{@electrons_count}"
end