\( \require{mhchem} \)
Eulim or ilm is a chemistry library written in Ruby under the MIT license. It supports the calculation of molecular mass of compound, balancing chemical equations, efficient handling of states of chemical species and many more things.
Example
$ irb
irb(main):001:0> require 'eulim'
irb(main):002:0> Eulim::Chemistry::Reaction.new(equation: 'KMnO4 + HCl >> KCl + MnCl2 + H2O + Cl2').balanced_eqn
=> "2KMnO4 + 16HCl >> 2KCl + 2MnCl2 + 8H2O + 5Cl2"
irb(main):003:0> Eulim::Chemistry::Compound.new("CaCO3")
=> #<Eulim::Chemistry::Compound:0x00000002a65340 @formula="CaCO3", @constituents={"Ca"=>{:element=>#<Eulim::Chemistry::Element:0x00000002c805a8 @name="Calcium", @symbol="Ca", @atomic_number=20, @atomic_mass=#<Unitwise::Measurement value=40.078 unit=u>>, :atom_count=>1}, "C"=>{:element=>#<Eulim::Chemistry::Element:0x00000002c8f6e8 @name="Carbon", @symbol="C", @atomic_number=6, @atomic_mass=#<Unitwise::Measurement value=12.0107 unit=u>>, :atom_count=>1}, "O"=>{:element=>#<Eulim::Chemistry::Element:0x00000002c8dc30 @name="Oxygen", @symbol="O", @atomic_number=8, @atomic_mass=#<Unitwise::Measurement value=15.9996 unit=u>>, :atom_count=>3}}, @molecular_mass=#<Unitwise::Measurement value=100.0875 unit=u>>
irb(main):004:0> Eulim::Chemistry::Reaction.new(equation: '2Na(s) + 2HCl(aq) >> 2NaCl(aq) + H2(g)')
=> #<Eulim::Chemistry::Reaction:0x00000002ce22f8 @equation="2Na(s) + 2HCl(aq) >> 2NaCl(aq) + H2(g)", @species={:reactants=>{"Na"=>{:compound=>#<Eulim::Chemistry::Compound:0x00000002ce1d80 @formula="Na", @constituents={"Na"=>{:element=>#<Eulim::Chemistry::Element:0x00000002c88e10 @name="Sodium", @symbol="Na", @atomic_number=11, @atomic_mass=#<Unitwise::Measurement value=22.9897 unit=u>>, :atom_count=>1}}, @molecular_mass=#<Unitwise::Measurement value=22.9897 unit=u>>, :stoichiometry=>2, :state=>"solid"}, "HCl"=>{:compound=>#<Eulim::Chemistry::Compound:0x00000002cabdc0 @formula="HCl", @constituents={"H"=>{:element=>#<Eulim::Chemistry::Element:0x000000025e5ab8 @name="Hydrogen", @symbol="H", @atomic_number=1, @atomic_mass=#<Unitwise::Measurement value=1.0079 unit=u>>, :atom_count=>1}, "Cl"=>{:element=>#<Eulim::Chemistry::Element:0x00000002c82c90 @name="Chlorine", @symbol="Cl", @atomic_number=17, @atomic_mass=#<Unitwise::Measurement value=35.453 unit=u>>, :atom_count=>1}}, @molecular_mass=#<Unitwise::Measurement value=36.4609 unit=u>>, :stoichiometry=>2, :state=>"aqueous"}}, :products=>{"NaCl"=>{:compound=>#<Eulim::Chemistry::Compound:0x00000002c8cda8 @formula="NaCl", @constituents={"Na"=>{:element=>#<Eulim::Chemistry::Element:0x00000002c88e10 @name="Sodium", @symbol="Na", @atomic_number=11, @atomic_mass=#<Unitwise::Measurement value=22.9897 unit=u>>, :atom_count=>1}, "Cl"=>{:element=>#<Eulim::Chemistry::Element:0x00000002c82c90 @name="Chlorine", @symbol="Cl", @atomic_number=17, @atomic_mass=#<Unitwise::Measurement value=35.453 unit=u>>, :atom_count=>1}}, @molecular_mass=#<Unitwise::Measurement value=58.4427 unit=u>>, :stoichiometry=>2, :state=>"aqueous"},"H2"=>{:compound=>#<Eulim::Chemistry::Compound:0x00000002c6f938 @formula="H2", @constituents={"H"=>{:element=>#<Eulim::Chemistry::Element:0x000000025e5ab8 @name="Hydrogen", @symbol="H", @atomic_number=1, @atomic_mass=#<Unitwise::Measurement value=1.0079 unit=u>>, :atom_count=>2}}, @molecular_mass=#<Unitwise::Measurement value=2.0158 unit=u>>, :stoichiometry=>1, :state=>"gaseous"}}}, @is_valid=true, @is_balanced=true>
External links
Eulim source code
RubyGems Page
Documentation
References
"Releases". Github. Retrieved 1 September 2019.
"eulim | RubyGems.org | your community gem host". rubygems.org. Retrieved 2017-07-11.
"GitHub - syedfazilbasheer-quester/eulim-gem". github.com. Retrieved 2017-07-11.
Computational chemistry software
Cheminformatics
Free software
Avalon Cheminformatics Toolkit Bioclipse Blue Obelisk Chemistry Development Kit ECCE JOELib OELib Open Babel RDKit
Proprietary
Canvas Chemicalize Discovery Studio
Chemical kinetics
Free software
APBS Cantera KPP
Proprietary
Autochem Chemical WorkBench CHEMKIN COSILAB DelPhi Khimera
Molecular modelling
and
visualization
List of molecular graphics systems
Free software
Ascalaph Designer Avogadro BALL Biskit Gabedit Ghemical Jmol Molekel PyMOL QuteMol RasMol
Proprietary
Abalone ACD/ChemSketch Atomistix ToolKit ChemDraw ChemWindow EzMol Gaussian Maestro MarvinSketch MarvinView MODELLER Molecular Operating Environment SAMSON Spartan UCSF Chimera VMD
Molecular docking
List of protein-ligand docking software
Free software
AutoDock AutoDock Vina FlexAID rDock
Proprietary
Glide LeDock Molecular Operating Environment
Molecular dynamics
Free software
CP2K GROMACS LAMMPS OpenMM PLUMED
Proprietary
Abalone AMBER CHARMM CPMD Desmond GROMOS NAMD
Quantum chemistry
List of quantum chemistry and solid-state physics software
Free software
ABINIT ACES (CFOUR) AIMAll BigDFT COLUMBUS CONQUEST CP2K Dalton DIRAC DP code FLEUR FreeON MADNESS MPQC NWChem Octopus OpenMolcas PARSEC PSI PyQuante PySCF Quantum ESPRESSO (PWscf) RMG SIESTA VB2000 YAMBO code
Proprietary
ADF AMPAC DMol3 CADPAC CASINO CASTEP CPMD CRUNCH CRYSTAL Firefly GAMESS (UK) GAMESS (US) Gaussian Jaguar MOLCAS MOLPRO MOPAC ONETEP OpenAtom ORCA PLATO PQS Q-Chem Quantemol Scigress Spartan TeraChem TURBOMOLE VASP WIEN2k XMVB
Skeletal structure drawing
Free software
JChemPaint Molsketch XDrawChem
Proprietary
ACD/ChemSketch BIOVIA Draw ChemDoodle ChemDraw ChemWindow JME Molecule Editor MarvinSketch
Others
Aqion Eulim EXC code GenX GSim Mercury CrystalExplorer ICM (ICM-Browser) Materials Studio Molden OpenChrom SASHIMI
Hellenica World - Scientific Library
Retrieved from "http://en.wikipedia.org/"
All text is available under the terms of the GNU Free Documentation License