RadCluster
Graph-based cluster dynamics for irradiated materials
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
py_utils.bin_moment_rates.BinMomentRateEquations Class Reference
+ Collaboration diagram for py_utils.bin_moment_rates.BinMomentRateEquations:

Public Member Functions

 __init__ (self, input_data, reaction_rates)
 
 compute_c_h_qss (self, c_v, Q_tot=None, Q_m=None)
 
 get_initial_conditions (self)
 
 ode_system (self, t, y)
 
 conservation_diagnostic (self, t, y, G_tot)
 

Public Attributes

 inp
 
 rr
 
 I
 
 V
 
 N
 
 M
 
 shape_function
 
 n_mom
 
 i_discrete
 
 v_discrete
 
 bins
 
 edges
 
 I_bin
 
 r
 
 K
 
 K_i
 
 n1
 
 vac_bins
 
 vac_edges
 
 V_bin
 
 K_v
 
 vac_mid
 
 he_kinetics
 
 qss_He
 
 beta_He
 
 i_MOM
 
 i_VAC
 
 he_mode
 
 i_Q
 
 i_He
 
 i_Qtot
 
 i_J_SIA_fixed
 
 i_J_SIA_mutual
 
 i_J_VAC_fixed
 
 i_J_VAC_mutual
 
 i_J_He_sink
 
 N_eq
 
 Pr_SIA
 
 Pr_VAC
 
 G_He
 

Protected Member Functions

 _unpack_moments (self, y_block, K_bin)
 
 _project_to_moments (self, dc, bins, N_max, dydt, offset, K_bin)
 
 _extract_mu1_content (self, y, offset, K_bin, bins)
 

Detailed Description

Chapter 9 bin-moment ODE system for both SIA and vacancy clusters.

Both populations are reduced to logarithmic size bins.  The intra-bin
shape function is controlled by ``shape_function``:

  "constant"  — piecewise-constant (1 moment/bin: μ₀)
  "linear"    — hat-function / dual-basis (2 moments/bin: μ₀, μ₁)
  "lognormal" — log-normal (3 moments/bin: μ₀, μ₁, μ₂)

State vector layout (example for Case 2, QSS He, P moments/bin):
  y[0..i_d-1]                          : discrete SIA
  y[i_d..i_d+P*I_bin-1]               : SIA bin moments
  y[i_d+P*I_bin..+v_d-1]              : discrete VAC
  y[..+v_d..+v_d+P*V_bin-1]           : VAC bin moments
  y[..]                                : He state (Q_tot or Q_k)

Parameters
----------
input_data     : InputData
reaction_rates : ReactionRates

Definition at line 565 of file bin_moment_rates.py.

Constructor & Destructor Documentation

◆ __init__()

py_utils.bin_moment_rates.BinMomentRateEquations.__init__ (   self,
  input_data,
  reaction_rates 
)

Definition at line 589 of file bin_moment_rates.py.

Member Function Documentation

◆ _extract_mu1_content()

py_utils.bin_moment_rates.BinMomentRateEquations._extract_mu1_content (   self,
  y,
  offset,
  K_bin,
  bins 
)
protected
Extract first-moment content from state vector.

For P >= 2, μ₁ is tracked explicitly (stride P, offset 1).
For P == 1 (constant closure), μ₁ is approximated as μ₀ × midpoint.

Definition at line 1073 of file bin_moment_rates.py.

◆ _project_to_moments()

py_utils.bin_moment_rates.BinMomentRateEquations._project_to_moments (   self,
  dc,
  bins,
  N_max,
  dydt,
  offset,
  K_bin 
)
protected
Project per-size rates dc onto P moments per bin in dydt.

Definition at line 785 of file bin_moment_rates.py.

◆ _unpack_moments()

py_utils.bin_moment_rates.BinMomentRateEquations._unpack_moments (   self,
  y_block,
  K_bin 
)
protected
Extract mu0, mu1, mu2 from a contiguous block of P*K_bin values.

Definition at line 777 of file bin_moment_rates.py.

◆ compute_c_h_qss()

py_utils.bin_moment_rates.BinMomentRateEquations.compute_c_h_qss (   self,
  c_v,
  Q_tot = None,
  Q_m = None 
)
QSS free He — same formula as RateEquations.compute_c_h_qss.

Definition at line 726 of file bin_moment_rates.py.

◆ conservation_diagnostic()

py_utils.bin_moment_rates.BinMomentRateEquations.conservation_diagnostic (   self,
  t,
  y,
  G_tot 
)
FP conservation diagnostic for hybrid discrete + bin-moment system.

δ_FP^bin = |SIA_content − VAC_content| / (G·t)

Definition at line 1090 of file bin_moment_rates.py.

◆ get_initial_conditions()

py_utils.bin_moment_rates.BinMomentRateEquations.get_initial_conditions (   self)
Return y0 — near-zero but consistent moments + concentrations.

Bin moments are initialized so that μ₁/μ₀ = midpoint and
μ₂/μ₀ = midpoint², ensuring the reconstruction places the
distribution inside the bin range.  Setting all moments to
C_floor would give μ₁/μ₀ = 1 (outside bin range), causing
garbage reconstruction and immediate CVODE failure.

The C_floor fallback default (1e-15) must match the value the
C++ solver clamps to, so the initial state is consistent with
the solver's floor.

Definition at line 737 of file bin_moment_rates.py.

◆ ode_system()

py_utils.bin_moment_rates.BinMomentRateEquations.ode_system (   self,
  t,
  y 
)
ODE RHS using hybrid discrete + bin-moment layout.

REFERENCE ONLY — not used by the solver; the production RHS is the
C++ implementation.  May be stale.  Scheduled for replacement by the
Stage-3 graph-walker.

Definition at line 800 of file bin_moment_rates.py.

Member Data Documentation

◆ beta_He

py_utils.bin_moment_rates.BinMomentRateEquations.beta_He

Definition at line 661 of file bin_moment_rates.py.

◆ bins

py_utils.bin_moment_rates.BinMomentRateEquations.bins

Definition at line 620 of file bin_moment_rates.py.

◆ edges

py_utils.bin_moment_rates.BinMomentRateEquations.edges

Definition at line 620 of file bin_moment_rates.py.

◆ G_He

py_utils.bin_moment_rates.BinMomentRateEquations.G_He

Definition at line 715 of file bin_moment_rates.py.

◆ he_kinetics

py_utils.bin_moment_rates.BinMomentRateEquations.he_kinetics

Definition at line 653 of file bin_moment_rates.py.

◆ he_mode

py_utils.bin_moment_rates.BinMomentRateEquations.he_mode

Definition at line 676 of file bin_moment_rates.py.

◆ I

py_utils.bin_moment_rates.BinMomentRateEquations.I

Definition at line 595 of file bin_moment_rates.py.

◆ I_bin

py_utils.bin_moment_rates.BinMomentRateEquations.I_bin

Definition at line 622 of file bin_moment_rates.py.

◆ i_discrete

py_utils.bin_moment_rates.BinMomentRateEquations.i_discrete

Definition at line 611 of file bin_moment_rates.py.

◆ i_He

py_utils.bin_moment_rates.BinMomentRateEquations.i_He

Definition at line 680 of file bin_moment_rates.py.

◆ i_J_He_sink

py_utils.bin_moment_rates.BinMomentRateEquations.i_J_He_sink

Definition at line 700 of file bin_moment_rates.py.

◆ i_J_SIA_fixed

py_utils.bin_moment_rates.BinMomentRateEquations.i_J_SIA_fixed

Definition at line 696 of file bin_moment_rates.py.

◆ i_J_SIA_mutual

py_utils.bin_moment_rates.BinMomentRateEquations.i_J_SIA_mutual

Definition at line 697 of file bin_moment_rates.py.

◆ i_J_VAC_fixed

py_utils.bin_moment_rates.BinMomentRateEquations.i_J_VAC_fixed

Definition at line 698 of file bin_moment_rates.py.

◆ i_J_VAC_mutual

py_utils.bin_moment_rates.BinMomentRateEquations.i_J_VAC_mutual

Definition at line 699 of file bin_moment_rates.py.

◆ i_MOM

py_utils.bin_moment_rates.BinMomentRateEquations.i_MOM

Definition at line 672 of file bin_moment_rates.py.

◆ i_Q

py_utils.bin_moment_rates.BinMomentRateEquations.i_Q

Definition at line 677 of file bin_moment_rates.py.

◆ i_Qtot

py_utils.bin_moment_rates.BinMomentRateEquations.i_Qtot

Definition at line 686 of file bin_moment_rates.py.

◆ i_VAC

py_utils.bin_moment_rates.BinMomentRateEquations.i_VAC

Definition at line 673 of file bin_moment_rates.py.

◆ inp

py_utils.bin_moment_rates.BinMomentRateEquations.inp

Definition at line 590 of file bin_moment_rates.py.

◆ K

py_utils.bin_moment_rates.BinMomentRateEquations.K

Definition at line 629 of file bin_moment_rates.py.

◆ K_i

py_utils.bin_moment_rates.BinMomentRateEquations.K_i

Definition at line 630 of file bin_moment_rates.py.

◆ K_v

py_utils.bin_moment_rates.BinMomentRateEquations.K_v

Definition at line 645 of file bin_moment_rates.py.

◆ M

py_utils.bin_moment_rates.BinMomentRateEquations.M

Definition at line 599 of file bin_moment_rates.py.

◆ N

py_utils.bin_moment_rates.BinMomentRateEquations.N

Definition at line 598 of file bin_moment_rates.py.

◆ n1

py_utils.bin_moment_rates.BinMomentRateEquations.n1

Definition at line 631 of file bin_moment_rates.py.

◆ N_eq

py_utils.bin_moment_rates.BinMomentRateEquations.N_eq

Definition at line 701 of file bin_moment_rates.py.

◆ n_mom

py_utils.bin_moment_rates.BinMomentRateEquations.n_mom

Definition at line 608 of file bin_moment_rates.py.

◆ Pr_SIA

py_utils.bin_moment_rates.BinMomentRateEquations.Pr_SIA

Definition at line 713 of file bin_moment_rates.py.

◆ Pr_VAC

py_utils.bin_moment_rates.BinMomentRateEquations.Pr_VAC

Definition at line 714 of file bin_moment_rates.py.

◆ qss_He

py_utils.bin_moment_rates.BinMomentRateEquations.qss_He

Definition at line 654 of file bin_moment_rates.py.

◆ r

py_utils.bin_moment_rates.BinMomentRateEquations.r

Definition at line 627 of file bin_moment_rates.py.

◆ rr

py_utils.bin_moment_rates.BinMomentRateEquations.rr

Definition at line 591 of file bin_moment_rates.py.

◆ shape_function

py_utils.bin_moment_rates.BinMomentRateEquations.shape_function

Definition at line 607 of file bin_moment_rates.py.

◆ V

py_utils.bin_moment_rates.BinMomentRateEquations.V

Definition at line 596 of file bin_moment_rates.py.

◆ V_bin

py_utils.bin_moment_rates.BinMomentRateEquations.V_bin

Definition at line 640 of file bin_moment_rates.py.

◆ v_discrete

py_utils.bin_moment_rates.BinMomentRateEquations.v_discrete

Definition at line 612 of file bin_moment_rates.py.

◆ vac_bins

py_utils.bin_moment_rates.BinMomentRateEquations.vac_bins

Definition at line 638 of file bin_moment_rates.py.

◆ vac_edges

py_utils.bin_moment_rates.BinMomentRateEquations.vac_edges

Definition at line 638 of file bin_moment_rates.py.

◆ vac_mid

py_utils.bin_moment_rates.BinMomentRateEquations.vac_mid

Definition at line 648 of file bin_moment_rates.py.


The documentation for this class was generated from the following file: