Class Nucleus

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

public class Nucleus extends Object
Represents an atomic nucleus with proton/neutron counts.

Provides nuclear physics calculations including binding energy, nuclear radius, and stability assessment using proper Real arithmetic.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Field Details

    • PROTON_MASS

      public static final Real PROTON_MASS
      Proton mass in kg
    • NEUTRON_MASS

      public static final Real NEUTRON_MASS
      Neutron mass in kg
    • AMU

      public static final Real AMU
      Atomic mass unit in kg
    • C_SQUARED

      public static final Real C_SQUARED
      Speed of light squared in m²/s²
    • R0_METERS

      public static final Real R0_METERS
      Nuclear radius constant râ‚€ in meters
    • HYDROGEN_1

      public static final Nucleus HYDROGEN_1
    • DEUTERIUM

      public static final Nucleus DEUTERIUM
    • TRITIUM

      public static final Nucleus TRITIUM
    • HELIUM_4

      public static final Nucleus HELIUM_4
    • CARBON_12

      public static final Nucleus CARBON_12
    • IRON_56

      public static final Nucleus IRON_56
    • URANIUM_235

      public static final Nucleus URANIUM_235
    • URANIUM_238

      public static final Nucleus URANIUM_238
  • Constructor Details

    • Nucleus

      public Nucleus(int protons, int neutrons, String symbol)
  • Method Details

    • getMassNumber

      public int getMassNumber()
      Mass number: A = Z + N
    • getMassNumberReal

      public Real getMassNumberReal()
      Returns mass number as Real for calculations.
    • getProtonsReal

      public Real getProtonsReal()
      Returns proton count as Real for calculations.
    • getNeutronsReal

      public Real getNeutronsReal()
      Returns neutron count as Real for calculations.
    • getNuclearRadius

      public Quantity<Length> getNuclearRadius()
      Approximate nuclear radius: R = r₀ A^(1/3) where r₀ ≈ 1.2 fm.
      Returns:
      nuclear radius as Length quantity
    • getNuclearRadiusReal

      public Real getNuclearRadiusReal()
      Nuclear radius as Real (meters).
    • getBindingEnergy

      public Real getBindingEnergy()
      Semi-empirical binding energy (Weizsäcker formula).

      B = aᵥA - aₛA^(2/3) - aᴄZ(Z-1)/A^(1/3) - aₐ(N-Z)²/A + δ

      Returns:
      binding energy in MeV as Real
    • getBindingEnergyQuantity

      public Quantity<Energy> getBindingEnergyQuantity()
      Binding energy as Energy quantity.
    • getBindingEnergyPerNucleon

      public Real getBindingEnergyPerNucleon()
      Binding energy per nucleon: B/A in MeV.
    • isLikelyStable

      public boolean isLikelyStable()
      Checks if this nucleus is stable based on neutron-proton ratio.
    • getProtons

      public int getProtons()
    • getNeutrons

      public int getNeutrons()
    • getSymbol

      public String getSymbol()
    • toString

      public String toString()
      Overrides:
      toString in class Object