Skip to main content 홈 크리에이터 ffsshhttiikk opencode-agents-skills nuclear-physics
nuclear-physics Nuclear physics fundamentals including radioactive decay, nuclear structure, fission, fusion, particle interactions, and nuclear models for energy and research applications.
설치로 이동 Skills Marketplace 커뮤니티가 만든 AI 스킬을 발견하고 탐색하세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ffsshhttiikk/opencode-agents-skills --skill nuclear-physics명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Zip 다운로드 다운로드 중... name nuclear-physics description Nuclear physics fundamentals including radioactive decay, nuclear structure, fission, fusion, particle interactions, and nuclear models for energy and research applications. category physics tags ["physics","nuclear-physics","radioactive-decay","fission","fusion","nuclear-structure","particle-physics"] difficulty advanced author neuralblitz
Nuclear Physics
What I do
I provide comprehensive expertise in nuclear physics, the branch of physics studying atomic nuclei and their constituents. I enable you to analyze radioactive decay processes, understand nuclear structure and binding energy, calculate fission and fusion reactions, apply nuclear models (shell model, liquid drop), compute reaction cross-sections, and model nuclear reactors and weapons. My knowledge spans from foundational nuclear properties to applications in energy production, medicine, and astrophysics.
When to use me
Use nuclear physics when you need to: calculate half-lives and decay rates, design or analyze nuclear reactors, compute fusion reaction rates in stars, model radioactive decay chains, calculate shielding and dosimetry, analyze nuclear data and cross-sections, understand stellar nucleosynthesis, or develop nuclear medicine applications.
Core Concepts
Nuclear Structure : Protons and neutrons (nucleons) bound by strong nuclear force with meson exchange.
Binding Energy and Mass Defect : Mass difference between nucleus and constituent nucleons (E=mc²).
Radioactive Decay : Alpha (helium emission), beta (electron/positron emission), gamma (photon emission) processes.
Decay Law : N(t) = N₀ exp(-λt) with half-life t½ = ln(2)/λ.
Nuclear Fission : Splitting of heavy nuclei releasing energy (U-235, Pu-239 fission).
Nuclear Fusion : Combining light nuclei to release energy (D-T, p-p chain in stars).
Shell Model and Magic Numbers : Single-particle orbits explaining nuclear structure and stability.
Liquid Drop Model : Semi-empirical mass formula describing binding energy trends.
Q-Value : Energy released/absorbed in nuclear reactions (mass difference × c²).
Cross-Section and Reaction Rate : Probability of interaction and resulting reaction rate (R = nσv).
Code Examples
Nuclear Properties
import numpy as np
c = 2.998e8
u = 1.66054e-27
e = 1.602e-19
MeV_to_J = 1.602e-13
def atomic_mass_excess (A, Z, mass_excess_MeV ):
"""Convert mass excess to atomic mass in u."""
return A + mass_excess_MeV / 931.494
def binding_energy (A, Z, mass_nucleus ):
"""Calculate binding energy from nuclear mass."""
mp = 1.007276
mn = 1.008665
mass_defect = Z * mp + (A - Z) * mn - mass_nucleus
return mass_defect * 931.494
def semi_empirical_mass (A, Z ):
"""
Semi-empirical mass formula (Weizsäcker formula).
B(A,Z) = a_v A - a_s A^(2/3) - a_c Z(Z-1)/A^(1/3) - a_a (A-2Z)²/A ± δ
"""
a_v = 15.75
a_s = 17.8
a_c = 0.711
a_a = 23.7
a_p = 11.18
if A % 2 == 0 and Z % 2 == 0 :
delta = a_p / np.sqrt(A)
elif A % == Z % == :
delta = -a_p / np.sqrt(A)
:
delta =
B = (a_v * A
- a_s * A**( / )
- a_c * Z * (Z - ) / A**( / )
- a_a * (A - *Z)** / A
+ delta)
B
( ):
B / A
( )
( )
B_Ca40 = semi_empirical_mass( , )
( )
( )
( )
B_Fe56 = semi_empirical_mass( , )
( )
( )
( )
B_U238 = semi_empirical_mass( , )
( )
( )
magic_numbers = [ , , , , , , ]
( )
( )
( )
( )
( )
( )
Radioactive Decay
import numpy as np
def decay_constant (half_life ):
"""λ = ln(2) / t_1/2"""
return np.log(2 ) / half_life
def activity (N, half_life ):
"""A = λN = (ln2/t_1/2) × N"""
return decay_constant(half_life) * N
def radioactive_decay (N0, half_life, t ):
"""N(t) = N₀ × 2^(-t/t_1/2) = N₀ × exp(-λt)"""
return N0 * np.exp(-decay_constant(half_life) * t)
def daughter_growth (N0, half_life_parent, half_life_daughter, t ):
"""Bateman equations for decay chain."""
lambda_p = decay_constant(half_life_parent)
lambda_d = decay_constant(half_life_daughter)
N_parent = N0 * np.exp(-lambda_p * t)
N_daughter = (lambda_p / (lambda_d - lambda_p)) * N0 * (
np.exp(-lambda_p * t) - np.exp(-lambda_d * t)
)
return N_parent, N_daughter
def secular_equilibrium (t, lambda_p, lambda_d ):
"""When t >> t_parent, N_daughter/N_parent ≈ λ_p/λ_d."""
return lambda_p / lambda_d
half_lives = {
'U-238' : 4.468e9 ,
'U-235' : 7.038e8 ,
'Ra-226' : 1600 ,
'C-14' : 5730 ,
'Co-60' : ,
: ,
: ,
: ,
}
( )
isotope, t_half (half_lives.items())[: ]:
lambda_decay = decay_constant(t_half)
( )
( )
( )
( ):
lambda_c14 = decay_constant(t_half * * * )
np.log(C14_ratio) / (-lambda_c14) / ( * * )
initial_ratio =
ratio [ , , , ]:
age = carbon14_age(ratio / initial_ratio)
( )
( )
U238_hl = * * *
Pb206_hl = np.inf
t_equilibrium = * * *
N_U238 =
ratio_Pb_U = np.exp(-decay_constant(U238_hl) * t_equilibrium)
( )
( )
( )
Nuclear Reactions and Q-Values
import numpy as np
def Q_value (m_initial, m_final, c2=931.494 ):
"""
Calculate Q-value of nuclear reaction.
Q = (m_initial - m_final) × c²
Positive Q: exothermic (releases energy)
Negative Q: endothermic (absorbs energy)
"""
return (m_initial - m_final) * c2
def threshold_energy (Q, A_target, A_projectile, c2=931.494 ):
"""
Minimum kinetic energy for endothermic reaction.
E_thresh = |Q| × (A_target + A_projectile) / A_target
"""
return abs (Q) * (A_target + A_projectile) / A_target
def reaction_rate (n1, n2, sigma, v ):
"""R = n₁n₂σv for two-body reactions."""
return n1 * n2 * sigma * v
def cross_section_beer_lambert (I0, I, x ):
"""σ = (1/nx) × ln(I₀/I) from Beer-Lambert law."""
return np.log(I0 / I) / x
masses_u = {
'n' : 1.008665 ,
'p' : 1.007825 ,
'D' : 2.014102 ,
'T' : 3.016049 ,
'He3' : 3.016029 ,
'He4' : 4.002602 ,
'U235' : 235.043930 ,
'U236' : 236.045568 ,
'Ba141' : ,
: ,
: + ,
}
( )
( )
m_init = masses_u[ ] + masses_u[ ]
m_final = masses_u[ ] + masses_u[ ]
Q_DT = Q_value(m_init - m_final)
( )
( )
m_init = * masses_u[ ]
m_final = masses_u[ ] + masses_u[ ]
Q_DDn = Q_value(m_init - m_final)
( )
( )
m_init = * masses_u[ ]
m_final = masses_u[ ] + masses_u[ ]
Q_DDp = Q_value(m_init - m_final)
( )
( )
m_init = masses_u[ ] + masses_u[ ]
m_final = masses_u[ ]
Q_fission = Q_value(m_init - m_final)
( )
( )
Q_fission_products = Q_value(masses_u[ ] - (masses_u[ ] + masses_u[ ] + *masses_u[ ]))
( )
( )
A_target, A_proj = ,
E_thresh = threshold_energy(- MeV), A_target, A_proj)
( )
( )
( )
Nuclear Reactors
import numpy as np
def neutron_diffusion (D, Σa, phi ):
"""Diffusion equation: D∇²φ - Σaφ = -S"""
L = np.sqrt(D / Σa)
return phi
def four_factor_formula (k_inf, epsilon, p, f ):
"""
Four-factor formula for infinite multiplication.
k∞ = η × f × ε × p
η = neutrons per absorption in fuel
f = thermal utilization factor
ε = fast fission factor
p = resonance escape probability
"""
return eta * f * epsilon * p
def effective_multiplication (k_inf, k_eff ):
"""k_eff = k∞ × P_non_leakage"""
return k_inf * (1 - k_non_leakage)
def reactor_period (T, rho ):
"""Reactor period from reactivity."""
return T / (1 - 1 /k_eff)
k_inf = 1.32
L = 0.10
k_eff = k_inf * L
print ("Nuclear reactor criticality:" )
print (f" k∞ = {k_inf:.2 f} " )
print (f" k_eff = {k_eff:.2 f} " )
print ( )
k_eff > :
( )
k_eff < :
( )
:
( )
neutron_generations = []
N_thermal =
gen ( ):
gen == :
N_thermal =
:
N_thermal *= k_eff
neutron_generations.append(N_thermal)
( )
i, N (neutron_generations[: ]):
( )
( ):
P_thermal / (E_fission * )
( ):
P / volume
P_gw =
fissions_per_sec = thermal_power(P_gw)
( )
( )
( )
( ):
N_235 * / (N_235 * + N_238 * ) *
N_235_perc [ , , , ]:
N_238_perc = - N_235_perc
wt_235 = enrichment(N_235_perc, N_238_perc)
( )
Stellar Nucleosynthesis
import numpy as np
def pp_chain_rate (T ):
"""
Proton-proton chain reaction rate.
Approximate: ε ∝ T⁴ for pp-I
"""
T9 = T / 1e9
if T9 < 0.01 :
return 1e-26 * T9**4
return 1e-6 * np.exp(-33.8 / T9**0.5 )
def CNO_cycle_rate (T ):
"""CNO cycle rate dominates at T > 1.5e7 K."""
T9 = T / 1e9
return 1e-25 * np.exp(-152 / T9**0.5 )
def triple_alpha_rate (T ):
"""
Triple-alpha reaction (3⁴He → ¹²C).
Rate ∝ T⁻³ for helium burning.
"""
T9 = T / 1e9
return 1e-8 * np.exp(-4.4 / T9**3 )
temps = [1.5e7 , 2e7 , 3e7 ]
print ("Stellar nucleosynthesis rates:" )
for T in temps:
T9 = T / 1e9
pp_rate = pp_chain_rate(T)
cno_rate = CNO_cycle_rate(T)
triple_alpha = triple_alpha_rate(T)
print (f"\n T = {T: e} K ( ×10⁹ K):" )
( )
( )
( )
( ):
T8 = T /
* T8**
( ):
T8 = T /
* T8**
( )
T [ , ]:
eps_pp = energy_generation_pp(T)
eps_cno = energy_generation_CNO(T)
( )
( )
( )
( ):
* M_solar**(- ) / L_solar
M [ , , , , ]:
L = M**
t = main_sequence_lifetime(M, L)
( )
():
( ):
k =
G =
m_H =
T_K = T
rho_kg = rho
( * k * T_K / (G * m_H))**( / ) * ( / ( * np.pi * rho_kg))**( / )
( )
T_Jeans =
rho_Jeans =
M_J = jeans_mass(T_Jeans, rho_Jeans)
( )
( )
Best Practices
Use consistent mass units (u or MeV/c²) when calculating Q-values and binding energies.
For half-life calculations, be careful with time unit conversions (seconds, years, etc.).
In reactor physics, distinguish between infinite multiplication factor (k∞) and effective multiplication factor (k_eff).
Account for both prompt and delayed neutrons in reactor kinetics; delayed neutrons make control possible.
For shielding calculations, consider gamma ray buildup factors and neutron moderation.
In decay chain calculations, use the Bateman equations for secular and transient equilibrium.
For stellar nucleosynthesis, remember that reaction rates depend strongly on temperature (Arrhenius behavior).
When calculating cross-sections, distinguish between microscopic (σ) and macroscopic (Σ) cross-sections.
Use Monte Carlo methods (MCNP, Geant4) for complex radiation transport problems.
Always consider radiation safety (ALARA principle) when working with radioactive materials.
2
1
and
2
1
else
0
2
3
1
1
3
2
2
return
def
binding_energy_per_nucleon
B, A
"""Calculate binding energy per nucleon."""
return
print
"Nuclear binding energy:"
print
f" Semi-empirical for ⁴⁰Ca (Z=20, A=40):"
40
20
print
f" Total B = {B_Ca40:.1 f} MeV"
print
f" B/A = {B_Ca40/40 :.3 f} MeV/nucleon"
print
f"\n Semi-empirical for ⁵⁶Fe (Z=26, A=56):"
56
26
print
f" Total B = {B_Fe56:.1 f} MeV"
print
f" B/A = {B_Fe56/56 :.3 f} MeV/nucleon"
print
f"\n Semi-empirical for ²³⁸U (Z=92, A=238):"
238
92
print
f" Total B = {B_U238:.1 f} MeV"
print
f" B/A = {B_U238/238 :.3 f} MeV/nucleon"
2
8
20
28
50
82
126
print
f"\nMagic numbers (shell closures): {magic_numbers} "
print
" Nuclei with magic numbers have:"
print
" - Extra binding energy"
print
" - Larger neutron separation energies"
print
" - Spherical ground states"
print
" - Higher first excited states"
5.27
'I-131'
8.02
'Cs-137'
30.17
'Rn-222'
3.82
print
"Radioactive decay:"
for
in
list
5
print
f" {isotope} : t_1/2 = {t_half:.2 e} "
print
f" λ = {lambda_decay:.2 e} s⁻¹"
print
f" 1/λ = {1 /lambda_decay:.2 e} s = {1 /lambda_decay/3600 :.2 e} hours"
def
carbon14_age
C14_ratio, t_half=5730
"""
Calculate age from C-14 ratio.
Assumes initial ratio was 1.25e-12 (living organism)
"""
365.25
24
3600
return
365.25
24
3600
1.25e-12
for
in
1.25e-12
0.625e-12
0.156e-12
0.039e-12
print
f"\n C-14 ratio = {ratio:.3 e} : age = {age:.0 f} years"
print
f" ~ {age/1000 :.1 f} thousand years"
4.468e9
365.25
24
3600
1e9
365.25
24
3600
1e6
print
f"\nU-238 → Pb-206 decay chain:"
print
f" After 1 billion years: Pb-206/U-238 ≈ {ratio_Pb_U:.2 e} "
print
f" Secular equilibrium reached when t >> 4.5 billion years"
140.914411
'Kr92'
91.926156
'fission_fragments'
140.9
91.9
print
"Nuclear reaction Q-values:"
print
"\n1. D + T → He-4 + n:"
'D'
'T'
'He4'
'n'
print
f" Q = {Q_DT:.1 f} MeV (releases energy!)"
print
"\n2. D + D → He-3 + n:"
2
'D'
'He3'
'n'
print
f" Q = {Q_DDn:.1 f} MeV"
print
"\n3. D + D → T + p:"
2
'D'
'T'
'p'
print
f" Q = {Q_DDp:.1 f} MeV"
print
"\n4. U-235 + n → U-236*:"
'U235'
'n'
'U236'
print
f" Q = {Q_fission:.1 f} MeV"
print
"\n5. U-236 fission products (typical):"
'U236'
'Ba141'
'Kr92'
3
'n'
print
f" Ba-141 + Kr-92 + 3n: Q = {Q_fission_products:.1 f} MeV"
print
f" Total fission Q ≈ 200 MeV"
12
1
5
print
f"\nThreshold energy (¹²C + n → ¹³C):"
print
f" Q = -1.95 MeV (endothermic)"
print
f" E_thresh = {E_thresh:.2 f} MeV"
f" Reactivity ρ = (k-1)/k = {(k_eff-1 )/k_eff*100 :.2 f} %"
if
1
print
f" Supercritical - power increasing!"
elif
1
print
f" Subcritical - power decreasing!"
else
print
f" Critical - steady power"
1
for
in
range
10
if
0
1
else
print
f"\nNeutron generations (k={k_eff:.2 f} ):"
for
in
enumerate
5
print
f" Generation {i} : {N:.2 f} neutrons"
def
thermal_power
P_thermal, E_fission=200
"""Calculate fission rate from thermal power."""
return
1.602e-13
def
power_density
P, volume
"""Power density in W/m³."""
return
1e9
print
f"\n1 GW thermal reactor:"
print
f" Fission rate: {fissions_per_sec:.2 e} fissions/s"
print
f" U-235 consumption: {fissions_per_sec * 235 / 6.022e23 * 1e6 :.1 f} kg/day"
def
enrichment
N_235, N_238
"""Calculate weight percent enrichment."""
return
235
235
238
100
for
in
3
5
20
90
100
print
f"\n {N_235_perc} % U-235 atoms = {wt_235:.2 f} % by weight"
.1
{T9:.2 f}
print
f" pp-chain: {pp_rate:.2 e} "
print
f" CNO: {cno_rate:.2 e} "
print
f" Dominant: {'CNO' if cno_rate > pp_rate else 'pp-chain' } "
def
energy_generation_pp
T
"""ε_pp ≈ 1.08×10⁻⁶ T⁶ in L☉/M☉ for pp-I."""
1e8
return
1.08e-6
6
def
energy_generation_CNO
T
"""ε_CNO ≈ 1.27×10⁻²⁷ T¹⁷ in L☉/M☉."""
1e8
return
1.27e-27
17
print
f"\nEnergy generation (erg/s/g):"
for
in
1.5e7
2e7
print
f" T = {T:.1 e} K:"
print
f" pp-chain: {eps_pp:.2 e} "
print
f" CNO: {eps_cno:.2 e} "
def
main_sequence_lifetime
M_solar, L_solar=1
"""t_MS ≈ 10¹⁰ × (M/M☉)^(-2.5) × (L☉/L) years."""
return
10e9
2.5
for
in
0.5
1
2
5
10
3.5
print
f"\n M = {M} M☉: L = {L:.1 f} L☉, t_MS = {t/1e9 :.1 f} billion years"
def
hydrostatic_equilibrium
"""dP/dr = -G M(r) ρ(r) / r²"""
pass
def
jeans_mass
T, rho
"""M_J ≈ (5kT/Gm_H)^(3/2) × (3/4πρ)^(1/2)"""
1.38e-23
6.674e-11
1.67e-27
return
5
3
2
3
4
1
2
print
f"\nJeans mass (cloud collapse):"
100
1e-21
print
f" T = {T_Jeans} K, ρ = {rho_Jeans:.1 e} kg/m³"
print
f" M_J = {M_J / 2e30 :.2 f} M☉"