|
| | AtomicWeakRate (const WeakRateInterpolator &interpolator, const size_t a, const size_t z, const WeakReactionType type) |
| | Construct the atomic operation for a specific (A,Z) and channel.
|
| |
| bool | forward (size_t p, size_t q, const CppAD::vector< bool > &vx, CppAD::vector< bool > &vy, const CppAD::vector< double > &tx, CppAD::vector< double > &ty) override |
| | Forward pass: compute rate and neutrino-loss values for AD. On failure to interpolate, throws a std::runtime_error with details; sets output sparsity such that both outputs depend on all inputs when any input is variable.
|
| |
| bool | reverse (size_t q, const CppAD::vector< double > &tx, const CppAD::vector< double > &ty, CppAD::vector< double > &px, const CppAD::vector< double > &py) override |
| | Reverse pass: propagate adjoints using tabulated derivatives. Uses d log10 columns, converting to linear-scale derivatives via ln(10) scaling and chain rule with the forward-pass outputs.
|
| |
| bool | for_sparse_jac (size_t q, const CppAD::vector< std::set< size_t > > &r, CppAD::vector< std::set< size_t > > &s) override |
| | Forward-mode sparsity for Jacobian.
|
| |
| bool | rev_sparse_jac (size_t q, const CppAD::vector< std::set< size_t > > &rt, CppAD::vector< std::set< size_t > > &st) override |
| | Reverse-mode sparsity for Jacobian.
|
| |
| bool | for_sparse_jac (size_t q, const CppAD::vector< bool > &r, CppAD::vector< bool > &s, const CppAD::vector< double > &x) override |
| |
| bool | rev_sparse_jac (size_t q, const CppAD::vector< bool > &rt, CppAD::vector< bool > &st, const CppAD::vector< double > &x) override |
| |
CppAD atomic that wraps weak-rate interpolation for AD evaluation.
Forward pass computes two outputs (λ, ν_loss) by interpolating the tables at the provided state; reverse pass uses derivative tables to backpropagate adjoints for all three inputs (T9, log10(rho*Ye), μe). Sparsity routines declare full dependence of both outputs on all inputs.