nuclear-engineering-ai999x — offline, verified nuclear engineering solver with step-by-step answers

Install · Capability guide · Evaluation · AI999X on Hugging Face · Website · Support: Buy Me a Coffee

License: Apache-2.0 · Author: Ibnul Jaif Farabi (creator and engineer) · Organization: AI999X · Version 1.0.0

Field: Engineering · Tasks: Question Answering, Token Classification, Text Classification, Sentence Similarity, Feature Extraction

nuclear-engineering-ai999x is an offline, deterministic Python solver that answers nuclear engineering questions with verified results from 83 certified capabilities, gives 554 documented answers identically on Windows and Linux, and refuses rather than guesses when an answer cannot be verified.

nuclear-engineering-ai999x is a compact, deterministic nuclear engineering engine for Python. It reads a question in plain English (or a typed call), picks a certified nuclear engineering capability, computes the answer exactly, checks it, and returns the result with its steps, units, LaTeX and assumptions — or an honest refusal that says what is missing. It runs fully offline on any CPU, needs no GPU, no API key and no internet, and is built to give zero wrong answers: when it is not sure, it refuses instead of guessing.

Buy me a coffee License Python Offline

Highlights

  • Verified, not generated. Every answer is computed by a certified nuclear engineering capability and checked (substituted back, dimension-checked or compared with an independent computation) before it is returned.
  • Zero wrong answers by design. Seven explicit outcomes — SOLVED, NEEDS_INPUT, AMBIGUOUS, INVALID_INPUT, OUT_OF_SCOPE, UNRECOGNIZED_FORMAT, INTERNAL_ERROR — never a silent guess. Every one of its 554 documented answers is reproduced exactly on every tested platform.
  • Plain-English questions and a guaranteed typed interface. ask() reads documented question forms; solve(capability_id, **inputs) always solves a supported task with valid inputs.
  • Explains itself. Steps, formulas in LaTeX, units, assumptions and the model used, ready for notebooks, tutoring apps and homework checkers.
  • Small and portable. Pure Python (sympy, mpmath); identical answers on Windows and Linux (Python 3.10, 3.11, 3.12, 3.13, 3.14).
  • Coverage: radioactive decay chains and activity, radiation shielding and dosimetry, detectors and counting, neutron physics, reactor criticality and kinetics, fission-product poisons, fuel depletion and enrichment, and fuel-rod heat transfer.

Model overview

Property Value
Package nuclear-engineering-ai999x 1.0.0 (import nuclear_engineering_ai999x)
Type Deterministic neuro-symbolic nuclear engineering engine (rule-based reading + certified symbolic capabilities)
Capabilities 83 certified procedures
Knowledge pack version 1.0.1
Golden answers 554 documented answers, identical on every tested platform
Platforms tested Windows (Python 3.13), Linux x86-64 (Python 3.10, 3.11, 3.12, 3.13, 3.14)
Runtime CPU only, offline; no GPU, no network, no API key
License Apache-2.0
Creator / engineer Ibnul Jaif Farabi
Organization AI999X

Quickstart

pip install nuclear-engineering-ai999x
# or straight from this repository:
pip install https://huggingface.co/AI999X/nuclear-engineering-ai999x/resolve/main/dist/nuclear_engineering_ai999x-1.0.0-py3-none-any.whl
import nuclear_engineering_ai999x as nuclear_engineering

nuclear_engineering.ask("Specific activity: nuclide = Co-60, m = 1 g").show()
# -> SOLVED — A = 4.18689e+13, A_Ci = 1131.59, a = 4.18689e+16, a_Ci_per_g = 1131.59  (nuc_specific_activity)
nuclear_engineering.ask("Point source dose rate: Gamma = 0.351 uSv*m^2/(MBq*h), A = 10 Ci, r = 2 m, mu = 0.0656 1/cm, x = 10 cm, buildup = linear").show()
# -> SOLVED — H_dot = 7.75014e-06, H_uSv_h = 27900.5, B = 1.656, T = 0.859336  (nuc_point_source_dose_rate)
nuclear_engineering.ask("Critical sphere: D = 0.9 cm, Sigma_a = 0.15 1/cm, nuSigma_f = 0.18 1/cm, extrapolation = 2.13D").show()
# -> SOLVED — R = 0.152891, R_ext = 0.172072, V = 0.0149705  (nuc_critical_sphere)
nuclear_engineering.ask("Xenon after shutdown: Sigma_f = 0.1 1/cm, phi = 3e13 1/(cm^2*s), gamma_I = 0.0639, gamma_X = 0.00237, sigma_X = 2.65e6 b, t = 10 h").show()
# -> SOLVED — X = 3.72338e+21, ratio = 1.88343, t_peak = 30167, peak_ratio = 1.90155  (nuc_xenon_after_shutdown)
nuclear_engineering.solve("nuc_enrichment_swu", x_p=0.045, x_f=0.00711, x_w=0.0025, P="1 kg").show()
# -> SOLVED — F = 9.21909, W = 8.21909, SWU = 6.87111, F_per_P = 9.21909  (nuc_enrichment_swu)
nuclear_engineering.ask("Who created you?").message
# -> nuclear-engineering-ai999x was created and engineered by Ibnul Jaif Farabi at AI999X.

Command line: nuclear-engineering-ai999x "<question>", nuclear-engineering-ai999x --capabilities. The outputs above were produced by running this exact code on nuclear-engineering-ai999x 1.0.0.

How every answer is verified

  1. Reading — the question is turned into typed quantities (value, unit, kind, role) and one asked quantity; every stated number must be used or the question is refused.
  2. Planning — only certified capabilities may answer; a capability applies only under the conditions the wording states (for example a pendulum, a liquid at rest, boiling).
  3. Computing — exact symbolic or high-precision numeric evaluation.
  4. Checking — dimensions, substitution back into the defining equation, and agreement between independent readings; any disagreement becomes a refusal, never a number.

Capabilities are certified before they ship: each must reproduce hand-worked reference cases, reject a deliberately wrong variant (a control), and leave every benchmark answer unchanged.

Capabilities

83 certified procedures. A few of them:

  • Procedures: Activation with target depletion and product burn-up; Activity and specific activity of a mass of a radionuclide; Activity of a radionuclide and its progeny after a decay time; Approach to criticality: inverse multiplication (1/M) extrapolation; Average logarithmic energy decrement and mean scattering cosine; Average number of collisions to slow a neutron down; Committed effective dose from a dose coefficient; Committed equivalent dose to an organ from an intake (retention compartments); Compton edge and backscatter peak of a gamma line; Coolant temperature along a channel with a chopped-cosine power shape; Counting time for a target precision of the net count rate; Counts recorded from a decaying source (decay during counting); Critical radius of a bare cylindrical reactor of given height (one group); Critical radius of a bare spherical reactor (one group); Critical thickness of a bare slab reactor (one group); Critical thickness of a reflected slab reactor and reflector savings (one group); Critical third side of a bare rectangular reactor (one group); Currie critical level, detection limit and minimum detectable activity; Dead-time correction, non-paralyzable detector; Dead-time correction, paralyzable detector; Decay heat after shutdown (Way-Wigner); Decay heat energy released between two times after shutdown; Diffusion length from an exponential pile measurement; Dose accumulated near a decaying source …

nuclear_engineering_ai999x.templates() lists every question form ask() reads; the capability guide (PDF, every example executed) is included in this repository.

All 83 formulas

Show every formula, by topic

Decay and activity / decay chains

Three-member decay chain with initial activities (Bateman)

N3=N30e−λ3t+λ2N20λ3−λ2(e−λ2t−e−λ3t)+λ1λ2N10∑ie−λit∏j≠i(λj−λi) N_3 = N_{30}e^{-\lambda_3 t} + \frac{\lambda_2 N_{20}}{\lambda_3-\lambda_2}(e^{-\lambda_2 t}-e^{-\lambda_3 t}) + \lambda_1\lambda_2 N_{10}\sum_{i}\frac{e^{-\lambda_i t}}{\prod_{j\ne i}(\lambda_j-\lambda_i)}

Decay and activity / decay chains and equilibrium

Time of maximum daughter activity

tmax=ln⁡(λD/λP)λD−λP t_{max} = \frac{\ln(\lambda_D/\lambda_P)}{\lambda_D - \lambda_P}

Transient and secular equilibrium: activity ratio and approach

ADAP=λDλD−λP(1−e−(λD−λP)t) \frac{A_D}{A_P} = \frac{\lambda_D}{\lambda_D-\lambda_P}\left(1 - e^{-(\lambda_D-\lambda_P)t}\right)

Decay and activity / decay chains of real nuclides

Activity of a radionuclide and its progeny after a decay time

Ni(t)=∑jcij e−λjt,cij=∑pbpiλpcpjλi−λj N_i(t) = \sum_j c_{ij}\,e^{-\lambda_j t},\quad c_{ij} = \frac{\sum_p b_{pi}\lambda_p c_{pj}}{\lambda_i - \lambda_j}

Decay and activity / generators

Radionuclide generator: daughter activity after elution (with branching)

AD(t)=b AP0λDλD−λP(e−λPt−e−λDt) A_D(t) = b\,A_{P0}\frac{\lambda_D}{\lambda_D-\lambda_P}\left(e^{-\lambda_P t}-e^{-\lambda_D t}\right)

Decay and activity / neutron activation

Activation with target depletion and product burn-up

NP=NT0σTϕΛP−ΛT(e−ΛTt−e−ΛPt), ΛT=σTϕ, ΛP=λ+σPϕ N_P = \frac{N_{T0}\sigma_T\phi}{\Lambda_P-\Lambda_T}\left(e^{-\Lambda_T t}-e^{-\Lambda_P t}\right),\ \Lambda_T=\sigma_T\phi,\ \Lambda_P=\lambda+\sigma_P\phi

Irradiation time to reach a fraction of saturation activity

tirr=−T1/2ln⁡2ln⁡(1−f) t_{irr} = -\frac{T_{1/2}}{\ln 2}\ln(1-f)

Neutron activation: activity after irradiation and decay

A=Nσϕ(1−e−λtirr)e−λtd A = N\sigma\phi\left(1-e^{-\lambda t_{irr}}\right)e^{-\lambda t_d}

Decay and activity / specific activity

Activity and specific activity of a mass of a radionuclide

A=λN=ln⁡2T1/2 m NAM A = \lambda N = \frac{\ln 2}{T_{1/2}}\,\frac{m\,N_A}{M}

Mass and number of atoms of a radionuclide with a given activity

m=A T1/2ln⁡2 MNA m = \frac{A\,T_{1/2}}{\ln 2}\,\frac{M}{N_A}

Detectors and counting / activation foils

Neutron flux from a measured foil activation

ϕ=Ad eλtdNσ(1−e−λtirr) \phi = \frac{A_d\,e^{\lambda t_d}}{N\sigma\left(1-e^{-\lambda t_{irr}}\right)}

Detectors and counting / counting statistics

Counting time for a target precision of the net count rate

T=(Rg+Rb)2(Rg−Rb)2 r2 T = \frac{(\sqrt{R_g}+\sqrt{R_b})^2}{(R_g-R_b)^2\,r^2}

Optimal division of counting time between sample and background

tgtb=RgRb,σnet=Rg+RbT \frac{t_g}{t_b} = \sqrt{\frac{R_g}{R_b}},\quad \sigma_{net} = \frac{\sqrt{R_g}+\sqrt{R_b}}{\sqrt{T}}

Detectors and counting / dead time

Dead-time correction, non-paralyzable detector

n=m1−mτ n = \frac{m}{1 - m\tau}

Dead-time correction, paralyzable detector

m=n e−nτ m = n\,e^{-n\tau}

Detectors and counting / decay corrections

Counts recorded from a decaying source (decay during counting)

N=ε y A0e−λtd1−e−λtcλ N = \varepsilon\,y\,A_0e^{-\lambda t_d}\frac{1-e^{-\lambda t_c}}{\lambda}

Detectors and counting / decay-curve analysis

Half-life from a measured decay curve (weighted log-linear fit)

min⁡∑iCi(ln⁡Ci−ln⁡C0+λti)2 \min\sum_i C_i\left(\ln C_i - \ln C_0 + \lambda t_i\right)^2

Two-component decay curve: amplitudes of two known half-lives

min⁡∑i(Ci−C1e−λ1ti−C2e−λ2ti)2Ci \min\sum_i\frac{\left(C_i - C_1e^{-\lambda_1t_i} - C_2e^{-\lambda_2t_i}\right)^2}{C_i}

Detectors and counting / detection limits

Currie critical level, detection limit and minimum detectable activity

LC=k2B,LD=k2+2k2B,MDA=LDε y t L_C = k\sqrt{2B},\quad L_D = k^2 + 2k\sqrt{2B},\quad MDA = \frac{L_D}{\varepsilon\,y\,t}

Detectors and counting / efficiency

Expected count rate from a point source on a detector's axis

R=A y εint 12(1−dd2+a2) R = A\,y\,\varepsilon_{int}\,\frac{1}{2}\left(1-\frac{d}{\sqrt{d^2+a^2}}\right)

Total and intrinsic efficiency of a slab detector for a point source on axis

ε=12∫cos⁡θmax1(1−e−μt/u)du \varepsilon = \frac12\int_{\cos\theta_{max}}^{1}\left(1-e^{-\mu t/u}\right)du

Detectors and counting / gamma spectra

Compton edge and backscatter peak of a gamma line

Tmax=2E2mec2+2E,Ebs=E1+2E/mec2 T_{max} = \frac{2E^2}{m_ec^2 + 2E},\quad E_{bs} = \frac{E}{1+2E/m_ec^2}

Detectors and counting / gamma spectroscopy

Single and double escape peaks of a gamma ray

ESE=Eγ−mec2,EDE=Eγ−2mec2 E_{SE} = E_\gamma - m_ec^2,\quad E_{DE} = E_\gamma - 2m_ec^2

Detectors and counting / geometry

Solid angle and geometric efficiency of a disk detector (source on axis)

Ω=2π(1−dd2+a2) \Omega = 2\pi\left(1-\frac{d}{\sqrt{d^2+a^2}}\right)

Solid angle of a disk detector for an off-axis point source

Ω=∫02π(1−dd2+re(φ)2)dφ \Omega = \int_0^{2\pi}\left(1-\frac{d}{\sqrt{d^2+r_e(\varphi)^2}}\right)d\varphi

Dosimetry / effective dose

Effective dose from organ equivalent doses and tissue weighting factors

E=∑TwT HT E = \sum_T w_T\,H_T

Dosimetry / internal dose

Committed effective dose from a dose coefficient

E(50)=e(50) I E(50) = e(50)\,I

Dosimetry / internal emitters

Committed equivalent dose to an organ from an intake (retention compartments)

HT(τ)=wREm I∑ifi1−e−(λp+λb,i)τλp+λb,i H_T(\tau) = \frac{w_R E}{m}\,I\sum_i f_i\frac{1-e^{-(\lambda_p+\lambda_{b,i})\tau}}{\lambda_p+\lambda_{b,i}}

Effective half-life (physical and biological removal)

1Teff=1Tp+1Tb \frac{1}{T_{eff}} = \frac{1}{T_p} + \frac{1}{T_b}

Dosimetry / units

Radiation unit conversion (Bq and Ci, Gy and rad, Sv and rem)

1 Ci=3.7×1010 Bq,1 rad=0.01 Gy,1 rem=0.01 Sv 1\ \mathrm{Ci} = 3.7\times10^{10}\ \mathrm{Bq},\quad 1\ \mathrm{rad} = 0.01\ \mathrm{Gy},\quad 1\ \mathrm{rem} = 0.01\ \mathrm{Sv}

Fuel cycle / enrichment

Uranium enrichment: feed, tails and separative work (SWU)

SWU=P V(xp)+W V(xw)−F V(xf),V(x)=(2x−1)ln⁡x1−x SWU = P\,V(x_p) + W\,V(x_w) - F\,V(x_f),\quad V(x) = (2x-1)\ln\frac{x}{1-x}

Neutron physics / cross sections

Maxwellian-averaged 1/v cross section

σˉ=π2 σ0E0kT \bar\sigma = \frac{\sqrt\pi}{2}\,\sigma_0\sqrt{\frac{E_0}{kT}}

Number densities and macroscopic cross sections of UO2 fuel

N25=ρNAMU+2MO a5,Σa=∑iNiσa,i N_{25} = \frac{\rho N_A}{M_U + 2M_O}\,a_5,\quad \Sigma_a = \sum_i N_i\sigma_{a,i}

Neutron physics / diffusion

Diffusion length from an exponential pile measurement

γ2=1L2+(πa)2+(πb)2 \gamma^2 = \frac{1}{L^2} + \left(\frac{\pi}{a}\right)^2 + \left(\frac{\pi}{b}\right)^2

Flux from a plane neutron source at the centre of a slab

ϕ(x)=SL2D sinh⁡[(a/2−∣x∣)/L]cosh⁡[a/(2L)] \phi(x) = \frac{SL}{2D}\,\frac{\sinh\left[(a/2-\vert x\vert )/L\right]}{\cosh\left[a/(2L)\right]}

Flux from a point neutron source at the centre of a sphere

ϕ(r)=S4πDr sinh⁡[(R−r)/L]sinh⁡(R/L) \phi(r) = \frac{S}{4\pi D r}\,\frac{\sinh[(R-r)/L]}{\sinh(R/L)}

Thermal diffusion length and migration length

L=DΣa,M2=L2+τ L = \sqrt{\frac{D}{\Sigma_a}},\quad M^2 = L^2 + \tau

Neutron physics / moderation

Average logarithmic energy decrement and mean scattering cosine

ξ=1+αln⁡α1−α,α=(A−1A+1)2 \xi = 1 + \frac{\alpha\ln\alpha}{1-\alpha},\quad \alpha = \left(\frac{A-1}{A+1}\right)^2

Average number of collisions to slow a neutron down

nˉ=ln⁡(E0/Ef)ξ \bar n = \frac{\ln(E_0/E_f)}{\xi}

Moderating power and ratio of a compound moderator

ξˉ=∑iξiΣs,i∑iΣs,i,MR=ξˉΣsΣa \bar\xi = \frac{\sum_i\xi_i\Sigma_{s,i}}{\sum_i\Sigma_{s,i}},\quad MR = \frac{\bar\xi\Sigma_s}{\Sigma_a}

Neutron energy and lab angle after an elastic collision

E′E=A2+2Acos⁡θ+1(A+1)2 \frac{E'}{E} = \frac{A^2+2A\cos\theta+1}{(A+1)^2}

Neutron physics / thermal neutrons

Speeds and mean energy of thermal neutrons (Maxwell distribution)

vp=2kTmn,vˉ=2πvp v_p = \sqrt{\frac{2kT}{m_n}},\quad \bar v = \frac{2}{\sqrt\pi}v_p

Reactor kinetics / control rods

Integral and differential control-rod worth (sine-squared weighting)

ρ(x)ρtot=xH−12πsin⁡2πxH \frac{\rho(x)}{\rho_{tot}} = \frac{x}{H} - \frac{1}{2\pi}\sin\frac{2\pi x}{H}

Reactor kinetics / inhour equation

Reactivity from a measured stable period or doubling time (inhour)

ρ=ΛT+∑iβi1+λiT \rho = \frac{\Lambda}{T} + \sum_i\frac{\beta_i}{1+\lambda_iT}

Stable period and prompt root of the inhour equation (six delayed groups)

ρ=ωΛ+∑iβi ωω+λi \rho = \omega\Lambda + \sum_i\frac{\beta_i\,\omega}{\omega+\lambda_i}

Reactor kinetics / point kinetics

Power after a reactivity step (one delayed group, exact)

P(t)P0=∑jAjeωjt \frac{P(t)}{P_0} = \sum_j A_je^{\omega_jt}

Power after a reactivity step (six delayed groups, exact)

ρ=ωΛ+∑iβi ωω+λi,PP0=∑jAjeωjt \rho = \omega\Lambda + \sum_i\frac{\beta_i\,\omega}{\omega+\lambda_i},\quad \frac{P}{P_0} = \sum_j A_je^{\omega_jt}

Stable reactor period after a reactivity step (one delayed group)

ρ=ωΛ+β ωω+λ \rho = \omega\Lambda + \frac{\beta\,\omega}{\omega+\lambda}

Reactor physics / approach to criticality

Approach to criticality: inverse multiplication (1/M) extrapolation

1M=C0C,xcrit:1M(xcrit)=0 \frac{1}{M} = \frac{C_0}{C},\quad x_{crit}: \frac{1}{M}(x_{crit}) = 0

Reactor physics / criticality of bare reactors

Critical radius of a bare cylindrical reactor of given height (one group)

(2.405Rext)2+(πHext)2=Bm2 \left(\frac{2.405}{R_{ext}}\right)^2 + \left(\frac{\pi}{H_{ext}}\right)^2 = B_m^2

Critical radius of a bare spherical reactor (one group)

(πRext)2=νΣf−ΣaD \left(\frac{\pi}{R_{ext}}\right)^2 = \frac{\nu\Sigma_f-\Sigma_a}{D}

Critical thickness of a bare slab reactor (one group)

(πaext)2=νΣf−ΣaD \left(\frac{\pi}{a_{ext}}\right)^2 = \frac{\nu\Sigma_f-\Sigma_a}{D}

Critical third side of a bare rectangular reactor (one group)

(πaext)2+(πbext)2+(πcext)2=Bm2 \left(\frac{\pi}{a_{ext}}\right)^2+\left(\frac{\pi}{b_{ext}}\right)^2+\left(\frac{\pi}{c_{ext}}\right)^2 = B_m^2

Minimum-volume critical bare cylinder (one group)

Hext=3 πBm,Rext=32 2.405Bm H_{ext} = \frac{\sqrt3\,\pi}{B_m},\quad R_{ext} = \sqrt{\tfrac32}\,\frac{2.405}{B_m}

k-effective and geometric buckling of a bare reactor (one group)

keff=νΣfΣa+DBg2 k_{eff} = \frac{\nu\Sigma_f}{\Sigma_a + D B_g^2}

Reactor physics / decay heat

Decay heat after shutdown (Way-Wigner)

PdP0=0.0622[t−0.2−(t+T)−0.2] \frac{P_d}{P_0} = 0.0622\left[t^{-0.2} - (t+T)^{-0.2}\right]

Decay heat energy released between two times after shutdown

E=0.0622 P0[t0.8−(t+T)0.80.8]t1t2 E = 0.0622\,P_0\left[\frac{t^{0.8}-(t+T)^{0.8}}{0.8}\right]_{t_1}^{t_2}

Reactor physics / fission-product poisons

Equilibrium iodine-135 and xenon-135 concentrations

X∞=(γI+γX)ΣfϕλX+σXϕ X_\infty = \frac{(\gamma_I+\gamma_X)\Sigma_f\phi}{\lambda_X+\sigma_X\phi}

Samarium-149 poisoning: equilibrium and after shutdown

S∞=γPmΣfσSm,P∞=γPmΣfϕλPm S_\infty = \frac{\gamma_{Pm}\Sigma_f}{\sigma_{Sm}},\quad P_\infty = \frac{\gamma_{Pm}\Sigma_f\phi}{\lambda_{Pm}}

Xenon-135 after shutdown: concentration and peak

X(t)=X0e−λXt+λII0λX−λI(e−λIt−e−λXt) X(t) = X_0e^{-\lambda_Xt} + \frac{\lambda_II_0}{\lambda_X-\lambda_I}\left(e^{-\lambda_It}-e^{-\lambda_Xt}\right)

Reactor physics / flux shapes

Fundamental-mode flux shape of a bare reactor at a point

ϕϕmax=J0 ⁣(2.405 rR)cos⁡πzH \frac{\phi}{\phi_{max}} = J_0\!\left(\frac{2.405\,r}{R}\right)\cos\frac{\pi z}{H}

Reactor physics / fuel depletion and burnup

U-235 depletion and energy released at constant flux

N(t)=N0e−σaϕt,E=Efσfσa(N0−N) N(t) = N_0e^{-\sigma_a\phi t},\quad E = E_f\frac{\sigma_f}{\sigma_a}\left(N_0-N\right)

U-235 depletion at constant power

N(t)=N0−P tEfσaσf,ϕ(t)ϕ0=N0N(t) N(t) = N_0 - \frac{P\,t}{E_f}\frac{\sigma_a}{\sigma_f},\quad \frac{\phi(t)}{\phi_0} = \frac{N_0}{N(t)}

Reactor physics / neutron life cycle

Multiplication factor by the four- and six-factor formulas

keff=ηfpε PFNLPTNL k_{eff} = \eta f p \varepsilon\,P_{FNL}P_{TNL}

Reactor physics / power and flux

Power density and power from the fission reaction rate

q′′′=EfNσfϕ,P=q′′′V q''' = E_f N \sigma_f \phi,\quad P = q''' V

Reactor physics / power and flux shapes

Reactor power from the peak flux (or peak flux from power) of a bare core

P=EfΣf∫Vϕ dV=EfΣf ϕmax ϕˉϕmax V P = E_f\Sigma_f\int_V\phi\,dV = E_f\Sigma_f\,\phi_{max}\,\frac{\bar\phi}{\phi_{max}}\,V

Reactor physics / reflected reactors

Critical thickness of a reflected slab reactor and reflector savings (one group)

DcBtan⁡Ba2=DrLrcoth⁡Tr+dLr D_cB\tan\frac{Ba}{2} = \frac{D_r}{L_r}\coth\frac{T_r+d}{L_r}

Reactor physics / two-group theory

k-effective of a bare reactor in two-group diffusion theory

k=νΣf1+νΣf2Σ12D2B2+Σa2D1B2+Σa1+Σ12 k = \frac{\nu\Sigma_{f1} + \nu\Sigma_{f2}\frac{\Sigma_{12}}{D_2B^2+\Sigma_{a2}}}{D_1B^2+\Sigma_{a1}+\Sigma_{12}}

Shielding / attenuation

Half-value and tenth-value layers

HVL=ln⁡2μ,TVL=ln⁡10μ HVL = \frac{\ln 2}{\mu},\quad TVL = \frac{\ln 10}{\mu}

Shielding and dose / attenuation

Linear attenuation coefficient from narrow-beam transmission measurements

ln⁡I=ln⁡I0−μx \ln I = \ln I_0 - \mu x

Narrow-beam transmission through a multilayer shield

T=exp⁡(−∑iμixi) T = \exp\Big(-\sum_i \mu_i x_i\Big)

Shielding and dose / dose over time

Dose accumulated near a decaying source

D=H˙0 e−λtd 1−e−λtλ D = \dot H_0\,e^{-\lambda t_d}\,\frac{1-e^{-\lambda t}}{\lambda}

Dose received passing a point source

D=ΓAd v 2arctan⁡L2d D = \frac{\Gamma A}{d\,v}\,2\arctan\frac{L}{2d}

Stay time to a dose limit near a decaying source

t=−1λln⁡(1−λDlimH˙0) t = -\frac{1}{\lambda}\ln\left(1-\frac{\lambda D_{lim}}{\dot H_0}\right)

Shielding and dose / extended sources

Uncollided flux from a shielded line source (Sievert integral)

ϕ=SL4πh[F(θ2,μt)−F(θ1,μt)], F(θ,b)=∫0θe−bsec⁡u du \phi = \frac{S_L}{4\pi h}\left[F(\theta_2,\mu t) - F(\theta_1,\mu t)\right],\ F(\theta,b)=\int_0^{\theta}e^{-b\sec u}\,du

Uncollided flux on the axis of a shielded disk source

ϕ=SA2[E1(μt)−E1(μtsec⁡θ)] \phi = \frac{S_A}{2}\left[E_1(\mu t) - E_1(\mu t\sec\theta)\right]

Shielding and dose / photon interactions

Klein-Nishina Compton cross sections per electron

σ=2πre2{1+kk2[2(1+k)1+2k−ln⁡(1+2k)k]+ln⁡(1+2k)2k−1+3k(1+2k)2} \sigma = 2\pi r_e^2\left\{\frac{1+k}{k^2}\left[\frac{2(1+k)}{1+2k}-\frac{\ln(1+2k)}{k}\right]+\frac{\ln(1+2k)}{2k}-\frac{1+3k}{(1+2k)^2}\right\}

Shielding and dose / point sources

Dose rate from a shielded point gamma source with buildup

H˙=ΓAr2 B(μx) e−μx \dot H = \frac{\Gamma A}{r^2}\,B(\mu x)\,e^{-\mu x}

Shielding and dose / shield design

Shield thickness for a target dose rate (point source, buildup)

ΓAr2B(μx)e−μx=H˙target \frac{\Gamma A}{r^2}B(\mu x)e^{-\mu x} = \dot H_{target}

Thermal hydraulics / coolant channels

Coolant temperature along a channel with a chopped-cosine power shape

T(z)=Tin+q0Heπm˙cp[sin⁡πzHe+sin⁡πH2He] T(z) = T_{in} + \frac{q_0H_e}{\pi\dot mc_p}\left[\sin\frac{\pi z}{H_e} + \sin\frac{\pi H}{2H_e}\right]

Location and value of the maximum cladding surface temperature

tan⁡πzmaxHe=2RohHem˙cp \tan\frac{\pi z_{max}}{H_e} = \frac{2R_ohH_e}{\dot mc_p}

Thermal hydraulics / fuel rods

Fuel centreline temperature with temperature-dependent conductivity

∫TsT0k(T) dT=q′4π \int_{T_s}^{T_0}k(T)\,dT = \frac{q'}{4\pi}

Fuel-rod radial temperatures: centreline, pellet surface and cladding

T0−Tb=q′[14πkf+12πRfhg+ln⁡(Ro/Rf)2πkc+12πRoh] T_0 - T_b = q'\left[\frac{1}{4\pi k_f} + \frac{1}{2\pi R_fh_g} + \frac{\ln(R_o/R_f)}{2\pi k_c} + \frac{1}{2\pi R_oh}\right]

Out of scope

  • Open-ended explanation, essay writing or tutoring dialogue: it is a solver, not a chatbot.
  • Questions outside its certified nuclear engineering capabilities, and any question whose stated numbers it cannot all use — it refuses with the reason instead.
  • High-stakes engineering, medical or legal decisions without independent review.

Limitations

  • It answers what its certified capabilities cover (radioactive decay chains and activity, radiation shielding and dosimetry, detectors and counting, neutron physics, reactor criticality and kinetics, fission-product poisons, fuel depletion and enrichment, and fuel-rod heat transfer); anything else is refused with a reason.
  • ask() reads documented question forms and common phrasings; unusual wording may be refused — use solve() for guaranteed results.
  • Results are as correct as the certified relations and their stated conditions; a certified relation is a checked model, not a claim about every physical situation.

Citation

@software{nuclear_engineering_ai999x_1_0_0,
  title  = {nuclear-engineering-ai999x: an offline, verified nuclear engineering solver},
  author = {Farabi, Ibnul Jaif}, organization = {AI999X},
  year   = {2026}, version = {1.0.0},
  url    = {https://huggingface.co/AI999X/nuclear-engineering-ai999x}
}

Contact

Questions, bug reports and requests: open a discussion on https://huggingface.co/AI999X/nuclear-engineering-ai999x/discussions or visit https://ai999x.com.

Support the project

nuclear-engineering-ai999x is free and open source. If it helps you, you can support further development on Buy Me a Coffee.

Created and engineered by Ibnul Jaif Farabi · AI999X · ai999x.com

Downloads last month
28
Safetensors
Model size
4.72M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collections including AI999X/nuclear-engineering-ai999x

Evaluation results

  • identical on every platform on Golden answers (554 documented questions, Windows + Linux Python 3.10-3.14)
    self-reported
    1.000