Laser–plasma models
Briareus.Backscatter — Type
Backscatter(fractions)Per-group backscattered power fraction (SRS + SBS), removed before deposition. fractions maps a beam group to a number, a function t -> fraction, or a (times, values) table (ns); groups not listed lose nothing. Typically set from measured FABS/NBI backscatter per cone.
Backscatter(:inner23 => 0.10, :inner30 => ([0, 5, 8], [0.0, 0.05, 0.12]))Briareus.CalibratedTransfer — Type
CalibratedTransfer(donors, receivers, fraction)Empirical cross-beam transfer: a fraction of the total power of the donors groups moves to the receivers groups (shared in proportion to each receiving beam's power). fraction(Δλ, t) is a calibration — e.g. fit to shot data — where Δλ = ⟨dlambda⟩_receivers − ⟨dlambda⟩_donors (Å, power-weighted means), so a positive Δλ means the receivers are red-shifted relative to the donors, the direction that drives transfer toward them. Total power is conserved.
Build fraction with linear_transfer or tabulated_transfer, or pass any differentiable function.
Briareus.LaserPlasmaModel — Type
LaserPlasmaModelSupertype of laser–plasma corrections. Implement apply_lpi(model, beams, time) returning beams with modified powers (same order, ports and pointing).
Briareus.apply_lpi — Function
apply_lpi(model, beams, time = 0.0) -> Vector{Beam}Effective beams after the laser–plasma model (nothing = no correction). A tuple or vector of models is applied in order.
Briareus.linear_transfer — Method
linear_transfer(f0, slope; range = (0, 1))fraction(Δλ, t) = clamp(f0 + slope·Δλ, range...) (slope per Å).
Briareus.lpi_summary — Method
lpi_summary(setup, effective) -> Dict{Symbol,NamedTuple}Per-group setup and effective power (TW) and their ratio.
Briareus.tabulated_transfer — Method
tabulated_transfer(Δλs, fractions)Piecewise-linear fraction(Δλ, t) through the table, constant beyond its ends.
Briareus.CH_IONS — Constant
Fully ionized CH (1:1): [(0.5, 6, 12.011), (0.5, 1, 1.008)].
Briareus.CBET — Type
CBET(; leh_z, ne_nc = 0.06, Te = 5000, Ti = 1500, ions = CH_IONS, mach = 1.0,
flow = nothing, length = 1.5, polarization = :smoothed, multiplier = 1.0,
nsteps = 20)Reduced steady-state CBET among the beams that share each laser entrance hole, applied as a laser–plasma model (apply_lpi, Scenario(...; lpi)).
leh_z— z (mm) of the LEH planes; beams whose ports havez > 0cross at+leh_z, the rest at-leh_z.- Plasma in the crossing region:
ne_nc(electron density over the critical density at the nominal wavelength),Te,Ti(eV), and ion speciesions((fraction, Z, A)number fractions; default fully ionized CH). Defaults are the NIF LEH conditions of Michel et al. 2009;Tiis not given there and is an assumption. flow— outflow speed along the hohlraum axis (km/s, away from the hohlraum), ormachtimes the ion sound speed√((Z̄ Te + 3 Ti)/(Ā m_p))whenflowis nothing.length— maximum interaction length (mm). A pair crossing at angle θ interacts overmin(length, w/sin θ), withwthe mean beam width at the LEH plane.polarization—:smoothed(NIF polarization smoothing, uncorrelated speckle: gain × (1+cos²θ)/4) or:parallel(co-polarized, gain × 1).multiplier— calibration factor on all gains. Fit it to shot data: published NIF designs tune CBET with saturation clamps and power multipliers.clamp— ion-wave saturation level δn/n (nothing= linear theory, which grossly overpredicts transfer at NIF intensities). Each pair's coupling is multiplied by1/√(1 + (δn/clamp)²), a smooth version of capping the linear δn/n atclamp. Published NIF calibrations range from 3×10⁻⁴ (2011) to 0.002 (foot) / 0.0075 (peak) for N221204 (Kritcher et al., PRE 109, 025204, 2024); default 0.002.
Any plasma parameter and multiplier may be a number, a function of time (ns), or a (times, values) table. Each pair's exchange uses the geometric-mean beam area at the LEH, so total power is conserved. The coupled exchange is integrated with nsteps RK4 steps. Beam detuning comes from Beam.dlambda (Å at the beam's own wavelength — NIF quotes Δλ at 1ω, so divide those values by 3 for 3ω beams).
Briareus.calibrate_cbet — Method
calibrate_cbet(model, beams, data; receivers, fit = (:multiplier,), time = 0.0,
bounds = Dict(:multiplier => (1e-3, 10.0), :mach => (0.0, 3.0),
:clamp => (1e-4, 0.05))) -> (model, result)Fit CBET calibration parameters to measured or reference transfer data. data is a list of (dlambda, ratio) pairs: with the receivers groups (e.g. the inner cones) detuned by dlambda (Å, beam wavelength — 1ω-quoted NIF values ÷ 3), their total power should be multiplied by ratio (e.g. 1.6 for "inner +60%"). Fits the constant-valued fields in fit (any of :multiplier, :mach, :clamp) by bounded L-BFGS-B on squared log-ratio residuals with automatic-differentiation gradients. Returns the calibrated model and the Optim result.
Briareus.cbet_coupling — Method
cbet_coupling(Ω, k, kdotu; ne, Te, Ti, ions) -> ΓIon-acoustic response Γ = χe(1+χi)/(1+χe+χi) for beat frequency Ω (rad/s), beat wavenumber k (1/m), Doppler shift k·u (rad/s), electron density ne (m⁻³), temperatures Te, Ti (eV), and ion species ions — (fraction, Z, A) tuples with number fractions summing to one; χi sums over species (each with its own Landau damping, which matters for CH: the protons dominate).
Briareus.cbet_gain — Function
cbet_gain(m, b, c, t) -> gLinear (unsaturated) spatial gain rate (1/mm per TW/mm² of beam c) of beam b due to beam c crossing at the LEH, at time t, including the polarization factor and multiplier. Antisymmetric: cbet_gain(m, c, b, t) == -cbet_gain(m, b, c, t).
Briareus.cbet_plasma — Method
Plasma parameters of m at time t as a NamedTuple (SI densities, eV, m/s flow).
Briareus.ion_wave_amplitude — Function
ion_wave_amplitude(m::CBET, b, c, t = 0.0) -> δn/nLinear ion-acoustic density perturbation driven by beams b and c at their LEH plane intensities — compare with m.clamp.
Briareus.plasma_dispersion — Method
plasma_dispersion(ξ) -> ComplexFried–Conte plasma dispersion function for real argument, Z(ξ) = −2 D(ξ) + i√π exp(−ξ²) (D: Dawson's integral). Differentiable.
Briareus.receiver_ratio — Method
receiver_ratio(model, beams, dlambda; receivers, time = 0.0)Ratio of the receivers groups' total power after/before model when those groups are detuned by dlambda (Å, beam wavelength) and all other beams by zero.