teaching:progappchim:elements_molecules

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
teaching:progappchim:elements_molecules [2014/02/11 02:21] – créée villersdteaching:progappchim:elements_molecules [2020/03/09 11:38] villersd
Ligne 1: Ligne 1:
 ====== Éléments et molécules ====== ====== Éléments et molécules ======
 +
 +===== Librairies initiale de Christoph Gohlke (2005-2013)  =====
 +
 Les propriétés des éléments chimiques, de molécules peuvent être dressées, listées,... par un programme si on dispose des données. Les propriétés des éléments chimiques, de molécules peuvent être dressées, listées,... par un programme si on dispose des données.
-[[http://www.lfd.uci.edu/~gohlke/|Christoph Gohlke]] (University of California, Irvine), a écrit deux librairies, [[http://www.lfd.uci.edu/~gohlke/code/elements.py.html|elements.py]] et  [[http://www.lfd.uci.edu/~gohlke/code/molmass.py.html|molmass.py]], pour respectivement accéder aux propriétés des éléments, et calculer les masses moléculaires, compositions élémentaires, spectres de distribution des masses de molécules,... Gohlke fournit également un interface utilisateur graphique sous forme d'un [[http://www.lfd.uci.edu/~gohlke/code/elements_gui.py.html|tableau périodique]], et un [[http://www.lfd.uci.edu/~gohlke/code/molmass_cgi.py.html|interface web]] pour afficher les données sur les masses moléculaires. Tous ces programmes sont mis à disposition aux conditions de la [[http://fr.wikipedia.org/wiki/Licence_BSD|licence BSD]] (licence libre très permissive). Les 4 programmes, dans leur version de mars 2013 sont regroupés dans {{:teaching:progappchim:chimie-formules.zip|cette archive}}.+[[http://www.lfd.uci.edu/~gohlke/|Christoph Gohlke]] (University of California, Irvine), a écrit deux librairies, [[http://www.lfd.uci.edu/~gohlke/code/elements.py.html|elements.py]] et  [[http://www.lfd.uci.edu/~gohlke/code/molmass.py.html|molmass.py]], pour respectivement accéder aux propriétés des éléments, et calculer les masses moléculaires, compositions élémentaires, spectres de distribution des masses de molécules,... Gohlke fournit également un interface utilisateur graphique sous forme d'un [[http://www.lfd.uci.edu/~gohlke/code/elements_gui.py.html|tableau périodique]], et un [[http://www.lfd.uci.edu/~gohlke/code/molmass_cgi.py.html|interface web]] pour afficher les données sur les masses moléculaires. Tous ces programmes sont mis à disposition aux conditions de la [[http://fr.wikipedia.org/wiki/Licence_BSD|licence BSD]] (licence libre très permissive). **Les 4 programmes, dans leur version de mars 2013 sont regroupés dans {{:teaching:progappchim:chimie-formules.zip|cette archive}}**.
  
 Voici deux exemples simples de programmes utilisant ces librairies : Voici deux exemples simples de programmes utilisant ces librairies :
  
-<sxh python; title : molmass-elements-01.py>+<code python molmass-elements-01.py>
 #!/usr/bin/env python #!/usr/bin/env python
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
 # utilisations de elements.py & molmass.py # utilisations de elements.py & molmass.py
 # source : http://www.lfd.uci.edu/~gohlke/ # source : http://www.lfd.uci.edu/~gohlke/
 +# mars 2020 : adaptation python 3
 from elements import ELEMENTS from elements import ELEMENTS
  
Ligne 15: Ligne 19:
 str(ELEMENTS[109]) str(ELEMENTS[109])
 ele = ELEMENTS['C'] ele = ELEMENTS['C']
-print ele.number, ele.symbol, ele.name, ele.eleconfig +print(ele.number, ele.symbol, ele.name, ele.eleconfig) 
-print ele.eleconfig_dict +print(ele.eleconfig_dict) 
-print sum(ele.mass for ele in ELEMENTS)+print(sum(ele.mass for ele in ELEMENTS))
 for ele in ELEMENTS: for ele in ELEMENTS:
     ele.validate()     ele.validate()
     ele = repr(ele)     ele = repr(ele)
-    print ele, type(ele) +    print(ele, type(ele)
-    raw_input("next ?") +    input("next ?") 
-</sxh>+</code>
  
-<sxh python; title : molmass-elements-02.py>+<code python molmass-elements-02.py>
 #!/usr/bin/env python #!/usr/bin/env python
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
 # utilisations de elements.py & molmass.py # utilisations de elements.py & molmass.py
 # source : http://www.lfd.uci.edu/~gohlke/ # source : http://www.lfd.uci.edu/~gohlke/
 +# mars 2020 : adaptation python 3
 from molmass import Formula from molmass import Formula
  
Ligne 35: Ligne 40:
 #f = Formula("H2SO4") #f = Formula("H2SO4")
  
-print f.formula +print(f.formula
 + 
 +print(f.empirical) 
 + 
 +print(f.mass)  # average mass 
 +print(f.isotope.massnumber)  # nominal mass 
 +print(f.isotope.mass)  # monoisotopic mass 
 +print(f.atoms) 
 +print(f.composition()) 
 +print(f.spectrum()) 
 +</code> 
 + 
 +Un autre programme, testant plus de possibilités : 
 + 
 +<code python molmass-elements-03.py> 
 +#!/usr/bin/env python 
 +# -*- coding: utf-8 -*- 
 +# utilisations de elements.py & molmass.py 
 +# source : http://www.lfd.uci.edu/~gohlke/ 
 +# test des routines sur les formules chimiques 
 +# mars 2020 : adaptation python 3 
 +from molmass import * 
 + 
 +def info(object, spacing=10, collapse=1): 
 +    """Print methods and doc strings. 
 +     
 +    Takes module, class, list, dictionary, or string.""" 
 +    methodList = [method for method in dir(object) if callable(getattr(object, method))] 
 +    processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s) 
 +    print("\n".join(["%s %s" % 
 +                      (method.ljust(spacing), 
 +                       processFunc(str(getattr(object, method).__doc__))) 
 +                     for method in methodList])) 
 + 
  
-print f.empirical+= Formula('CHCl3'
 +#f = Formula('C2H2Cl6'
 +line='____________________________________________________________'
  
-print f.mass  # average mass +print(line) 
-print f.isotope.massnumber  # nominal mass +print(dir(f)) 
-print f.isotope.mass  # monoisotopic mass +print(line) 
-print f.atoms +print(info(f)) 
-print f.composition() +print(line) 
-print f.spectrum() +print(f.composition()) 
-</sxh>+print(line) 
 +print(f.isotope) 
 +print(line) 
 +print(f.isotope.mass) 
 +print(line) 
 +print(f.isotope.massnumber) 
 +print(line) 
 +print(f.mass) 
 +print(line) 
 +print(f.formula, f.gcd, f.empirical) 
 +print(line
 +print(f.spectrum()) 
 +print(line) 
 +print(f.atoms) 
 +print(line) 
 +print(analyze ('CHCl3')) 
 +print(line) 
 +print(f, type(f)) 
 +print(line
 +</code>
  • teaching/progappchim/elements_molecules.txt
  • Dernière modification : 2021/03/02 12:31
  • de villersd