pub struct SolarPanel {
pub short_circuit_current_a: f64,
pub open_circuit_voltage_v: f64,
pub fill_factor: f64,
}Expand description
A solar panel on a simplified single-knee I-V curve (I_sc scales with irradiance;
fill_factor sets the knee sharpness ∝ panel/impedance quality).
Fields§
§short_circuit_current_a: f64§open_circuit_voltage_v: f64§fill_factor: f64Implementations§
Source§impl SolarPanel
impl SolarPanel
Sourcepub fn current_at(&self, v: f64) -> f64
pub fn current_at(&self, v: f64) -> f64
Current (A) at an operating voltage on the I-V curve I = I_sc·(1 − (V/V_oc)^p),
with p derived from the fill factor (higher FF ⇒ squarer knee).
Trait Implementations§
Source§impl Clone for SolarPanel
impl Clone for SolarPanel
Source§fn clone(&self) -> SolarPanel
fn clone(&self) -> SolarPanel
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SolarPanel
impl Debug for SolarPanel
impl Copy for SolarPanel
Auto Trait Implementations§
impl Freeze for SolarPanel
impl RefUnwindSafe for SolarPanel
impl Send for SolarPanel
impl Sync for SolarPanel
impl Unpin for SolarPanel
impl UnsafeUnpin for SolarPanel
impl UnwindSafe for SolarPanel
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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