pub struct Spherical1DPoisson {
pub nr: usize,
pub dr: f64,
pub r_min: f64,
}Expand description
1D Poisson solver for spherically symmetric density on a uniform radial grid.
Fields§
§nr: usizeNumber of radial grid cells.
dr: f64Radial cell spacing.
r_min: f64Inner edge of the radial grid.
Implementations§
Trait Implementations§
Source§impl PoissonSolver for Spherical1DPoisson
impl PoissonSolver for Spherical1DPoisson
Source§fn solve(&self, density: &DensityField, g: f64) -> PotentialField
fn solve(&self, density: &DensityField, g: f64) -> PotentialField
Solve for the radial potential via the Thomas algorithm on the tridiagonal system.
Source§fn compute_acceleration(&self, potential: &PotentialField) -> AccelerationField
fn compute_acceleration(&self, potential: &PotentialField) -> AccelerationField
Compute radial gravitational acceleration via centered finite differences.
Source§fn set_progress(&mut self, _p: Arc<StepProgress>)
fn set_progress(&mut self, _p: Arc<StepProgress>)
Attach shared progress state for intra-phase cell-level reporting.
Auto Trait Implementations§
impl Freeze for Spherical1DPoisson
impl RefUnwindSafe for Spherical1DPoisson
impl Send for Spherical1DPoisson
impl Sync for Spherical1DPoisson
impl Unpin for Spherical1DPoisson
impl UnsafeUnpin for Spherical1DPoisson
impl UnwindSafe for Spherical1DPoisson
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more