Class DecayChain

java.lang.Object
org.episteme.natural.physics.nuclear.DecayChain

public class DecayChain extends Object
Solves decay chain problems using Bateman equations. For chain: N₁ → N₂ → N₃ → ... → Stable
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • DecayChain

      public DecayChain(List<DecayChain.Nuclide> nuclides, Vector<Real> initialAmounts)
      Creates a decay chain.
      Parameters:
      nuclides - Ordered list of nuclides in the chain
      initialAmounts - Initial number of atoms for each nuclide
  • Method Details

    • getAmount

      public Real getAmount(int nuclideIndex, Real time)
      Bateman equation solution for the amount of nuclide i at time t. N_i(t) = Σ_{j=1}^{i} c_{ij} * exp(-λ_j * t) For simplicity, this implementation handles the common case where only the parent nuclide is initially present.
      Parameters:
      nuclideIndex - Index of nuclide in chain (0 = parent)
      time - Time elapsed (seconds)
      Returns:
      Number of atoms of the specified nuclide
    • getActivity

      public Real getActivity(int nuclideIndex, Real time)
      Get activity of a specific nuclide at time t. A = λ * N
    • twoNuclide

      public static DecayChain twoNuclide(String parent, Real parentHalfLife, String daughter, Real daughterHalfLife, Real initialParent)
      Creates a simple two-nuclide decay chain.
    • uranium238Chain

      public static DecayChain uranium238Chain(Real initialU238)
      Creates the Uranium-238 decay chain (simplified). U-238 → Th-234 → Pa-234 → U-234 → ... → Pb-206 (stable)
    • getChain

      public List<DecayChain.Nuclide> getChain()