Neutron activation calculator for the web.
This is a web interface to the periodictable available on github.
The backend service can be used directly for low volume traffic. For high volume, just install and use periodictable directly from Python.
To request a calculation, send a POST request with the following fields to https://www.ncnr.nist.gov/cgi-bin/nact.py. The fields are documented in the live version. The defaults for missing fields are indicated below. Note that the "Time off beam" field on the input form is appended as the final value for the rest field. decay and abundance are not directly controlled on the web form, but are instead set using data fields in the web client url.
request = {
calculate: target, // target is "scattering" or "activation" or "all"
sample: '', // Material
flux: '100000', // Thermal flux
Cd: '0', // Cd ratio
fast: '0', // Thermal/fast ratio
mass: '0', // Mass
exposure: '1', // Time on beam
rest: '[0,1,24,360]', // Time off beam
density: '0', // Density
thickness: '1', // Thickness
wavelength: '1', // Source neutrons
xray: 'Cu Ka', // Source Xrays
decay: '0.001', // target for "Time to decay below"
abundance: 'IAEA' // natural abundance tables (IAEA or NIST)
}
The response is a JSON object with the following fields
response = {
'success': True,
'sample': {
'name': sample,
'formula': str(chem),
'mass': mass,
'density': chem.density,
'thickness': thickness,
'natural_density': chem.natural_density
}
'activation': { // if calculate is 'activation' or 'all'
'flux': fluence,
'fast': fast_ratio,
'Cd': Cd_ratio,
'exposure': exposure,
'rest': rest_times,
'activity': [
{
'isotope': el.isotope, 'reaction': el.reaction,
'product': el.daughter, 'halflife': el.Thalf_str,
'comments': el.comments, 'levels': activity_el,
}
// ...
],
'total': total,
'decay_level': decay_level,
'decay_time': decay_time
}
'scattering': { // if calculate is 'scattering' or 'all'
'neutron': {
'wavelength': wavelength,
'energy': nsf.neutron_energy(wavelength),
'velocity': nsf.VELOCITY_FACTOR/wavelength
},
'xs': {'coh': xs[0], 'abs': xs[1], 'incoh': xs[2]},
'sld': {'real': sld[0], 'imag': sld[1], 'incoh': sld[2]},
'penetration': penetration,
'transmission': 100*exp(-thickness/penetration)
}
'xray_scattering': { // if calculate is 'scattering' or 'all'
'xray': {
'wavelength': xray_wavelength,
'energy': xsf.xray_energy(xray_wavelength)
},
'sld': {'real': xsld[0], 'imag': xsld[1]}
}
}
and on failure:
response = {
'success': False,
'error': 'unexpected exception',
'detail':{'query': stack traceback}
}
$ curl -s -d "sample=Co" -X POST https://www.ncnr.nist.gov/cgi-bin/nact.py | python -m json.tool
{
"sample": {
"name": "Co",
"density": 8.9,
"natural_density": 8.9,
"thickness": 1.0,
"mass": 1.0,
"formula": "Co"
},
"activation": {
"flux": 100000.0,
"decay_level": 0.001,
"total": [
0.5088248094656863,
0.009706843055148993,
1.550197781340068e-05,
1.5423998799711213e-05
],
"rest": [
0,
1,
24,
360
],
"activity": [
{
"reaction": "act",
"product": "Co-60",
"halflife": "5.272 y",
"comments": "s for 10m isomer added to ground state",
"levels": [
1.550756280503848e-05,
1.5507330056885684e-05,
1.5501977813400642e-05,
1.5423998799711213e-05
],
"isotope": "Co-59"
},
{
"reaction": "act",
"product": "Co-60m+",
"halflife": "10.5 m",
"comments": "",
"levels": [
0.5088093019028804,
0.009691335725091536,
2.6450954673146495e-42,
0.0
],
"isotope": "Co-59"
},
{
"reaction": "2n",
"product": "Co-61",
"halflife": "1.65 h",
"comments": "Co-61 prod from Co-60m only",
"levels": [
7.306767120646388e-16,
4.800459878001244e-16,
3.055674902007567e-20,
1.5291619557875176e-81
],
"isotope": "Co-59"
},
{
"reaction": "2n",
"product": "Co-61",
"halflife": "1.65 h",
"comments": "Co-61 prod assuming all Co-60m has decayed to Co-60",
"levels": [
1.3649499897275873e-16,
8.967560554449202e-17,
5.7081926346341585e-21,
2.8565705754412276e-82
],
"isotope": "Co-59"
}
],
"exposure": 1.0,
"decay_time": 1.5773675158317233,
"fast": 0.0,
"Cd": 0.0
},
"scattering": {
"sld": {
"real": 2.2645416201426363,
"imag": 0.009403091502484154,
"incoh": 5.632988294016107
},
"xs": {
"coh": 0.07085810248318081,
"abs": 1.8806183004968307,
"incoh": 0.43843639843243204
},
"penetration": 0.4184253079898973,
"neutron": {
"wavelength": 1.0,
"energy": 81.80420235572412,
"velocity": 3956.0339760560055
},
"transmission": 9.163767420488476
},
"xray_scattering": {
"xray": {
"wavelength": 1.5418,
"energy": 8.041522080237366
},
"sld": {
"real": 63.020248367719645,
"imag": 9.14097379704212
}
},
"success": true
}