Struct SolverOpts

Source
pub struct SolverOpts {
Show 16 fields pub z_start: Option<f64>, pub z_end: f64, pub dy_max: Option<f64>, pub dtau_max: Option<f64>, pub n_points: Option<usize>, pub disable_dcbr: bool, pub split_dcbr: bool, pub cn_dcbr: bool, pub number_conserving: bool, pub nc_stride: Option<usize>, pub nc_z_min: Option<f64>, pub production_grid: bool, pub dn_planck: Option<f64>, pub no_auto_refine: bool, pub n_threads: Option<usize>, pub dtau_max_photon_source: Option<f64>,
}
Expand description

Solver tuning parameters.

Fields§

§z_start: Option<f64>

Starting redshift --z-start. None lets each subcommand pick a default.

§z_end: f64

Ending redshift --z-end (default 500.0).

§dy_max: Option<f64>

Cap on adaptive y-step --dy-max.

§dtau_max: Option<f64>

Cap on adaptive optical-depth step --dtau-max.

§n_points: Option<usize>

Frequency-grid point count --n-points. Overrides the built-in fast / production presets.

§disable_dcbr: bool

Disable double-Compton + bremsstrahlung emission/absorption (--no-dcbr).

§split_dcbr: bool

Split the DC/BR step into separate DC and BR substeps (--split-dcbr).

§cn_dcbr: bool

Use Crank-Nicolson (instead of backward Euler) for the DC/BR solve (--cn-dcbr). Diagnostic only — known to fail at low x.

§number_conserving: bool

Keep the photon-number-conserving Kompaneets correction enabled (default true; disabled with --no-number-conserving).

§nc_stride: Option<usize>

Apply the number-conserving correction every nc_stride steps (--nc-stride).

§nc_z_min: Option<f64>

Lower-z cutoff --nc-z-min below which the number-conserving correction is suppressed.

§production_grid: bool

Use the high-resolution production grid preset (--production-grid).

§dn_planck: Option<f64>

Override the initial-condition Δn at z_start (--dn-planck); used for adiabatic / baseline diagnostics.

§no_auto_refine: bool

Disable automatic grid refinement for photon-injection scenarios (--no-auto-refine).

§n_threads: Option<usize>

Thread count for parallel sweep execution (--threads).

§dtau_max_photon_source: Option<f64>

Maximum dtau per step during photon-source injection (--dtau-max-photon-source); tightens the timestep near a delta-line source.

Trait Implementations§

Source§

impl Debug for SolverOpts

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SolverOpts

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.