ornlneutronimaging / ImagingReso

Resonance Imaging
http://imagingreso.readthedocs.io
BSD 3-Clause "New" or "Revised" License
4 stars 3 forks source link

By defining a new isotopic ratio atoms_per_cm3 still calculated using the untouched layer density #3

Closed zhangy6x closed 7 years ago

zhangy6x commented 7 years ago

Change the isotopic ratios of 'Ag' from natural abundance to [0.1, 0.9]. Code to check related terms:

Before:

>>> pprint.pprint(o_reso.get_stochiometric_ratio(compound='Ag', element='Ag'))
ratios: {'107-Ag': 0.51839, '109-Ag': 0.48161000000000004}
>>> pprint.pprint(o_reso.get_density(compound='Ag', element='Ag'))
density: 10.5
>>> pprint.pprint(o_reso.stack['Ag']['atoms_per_cm3'])
atoms_per_cm3: {'Ag': 5.8620129934957666e+22}
>>> pprint.pprint(o_reso.stack['Ag']['Ag']['molar_mass'])`
molar_mass: {'units': 'g/mol', 'value': 107.8682}

After:

ratios: {'107-Ag': 0.1, '109-Ag': 0.9}
density: 10.581434489960898
atoms_per_cm3: {'Ag': 5.8168990688457211e+22}
molar_mass: {'units': 'g/mol', 'value': 108.7047897}

Check whether the number matches:

5.8168990688457211e+22/Avogadro * 108.7047897`
(updated atoms_per_cm3)/Avogadro * (updated molar mass) should be (updated density)
Returns: 10.5 (should be 10.581434489960898)