Class: AsciiChem::Model::ElectronConfiguration
- Defined in:
- lib/asciichem/model/electron_configuration.rb
Overview
Orbital occupancy: 1s^2 2s^2 2p^6. Each entry is [orbital, occupancy] where orbital is the string label ("1s", "2p") and
occupancy is the electron count as a string.
Term symbols (^multiplicityL_J) live on the optional
term_symbol field.
Defined Under Namespace
Classes: TermSymbol
Instance Attribute Summary collapse
-
#orbitals ⇒ Object
Returns the value of attribute orbitals.
-
#term_symbol ⇒ Object
Returns the value of attribute term_symbol.
Instance Method Summary collapse
-
#initialize(orbitals:, term_symbol: nil) ⇒ ElectronConfiguration
constructor
A new instance of ElectronConfiguration.
- #to_s ⇒ Object
- #value_attributes ⇒ Object
Methods inherited from Node
#==, #accept, #children, #diagnostic_label, #hash, short_name, #to_cml, #to_html, #to_latex, #to_mathml, #to_svg, #to_text
Constructor Details
#initialize(orbitals:, term_symbol: nil) ⇒ ElectronConfiguration
Returns a new instance of ElectronConfiguration.
20 21 22 23 |
# File 'lib/asciichem/model/electron_configuration.rb', line 20 def initialize(orbitals:, term_symbol: nil) @orbitals = orbitals @term_symbol = term_symbol end |
Instance Attribute Details
#orbitals ⇒ Object
Returns the value of attribute orbitals.
18 19 20 |
# File 'lib/asciichem/model/electron_configuration.rb', line 18 def orbitals @orbitals end |
#term_symbol ⇒ Object
Returns the value of attribute term_symbol.
18 19 20 |
# File 'lib/asciichem/model/electron_configuration.rb', line 18 def term_symbol @term_symbol end |
Instance Method Details
#to_s ⇒ Object
29 30 31 32 33 |
# File 'lib/asciichem/model/electron_configuration.rb', line 29 def to_s parts = orbitals.map { |o, n| "#{o}^#{n}" } parts << term_symbol.to_s if term_symbol "ElectronConfig(#{parts.join(' ')})" end |
#value_attributes ⇒ Object
25 26 27 |
# File 'lib/asciichem/model/electron_configuration.rb', line 25 def value_attributes { orbitals: orbitals, term_symbol: term_symbol } end |