#[non_exhaustive]pub struct SimDrive {
pub veh: Vehicle,
pub cyc: Cycle,
pub sim_params: SimParams,
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.veh: Vehicle§cyc: Cycle§sim_params: SimParamsImplementations§
Source§impl SimDrive
impl SimDrive
pub fn new(veh: Vehicle, cyc: Cycle, sim_params: Option<SimParams>) -> Self
Sourcepub fn walk(&mut self) -> Result<()>
pub fn walk(&mut self) -> Result<()>
Run vehicle simulation, and, if applicable, apply powertrain-specific
corrections (e.g. iterate walk until SOC balance is achieved – i.e. initial
and final SOC are nearly identical)
Sourcepub fn solve_step(&mut self) -> Result<()>
pub fn solve_step(&mut self) -> Result<()>
Solves current time step
Sourcepub fn set_pwr_prop_for_speed(
&mut self,
speed: Velocity,
speed_prev: Velocity,
dt: Time,
) -> Result<()>
pub fn set_pwr_prop_for_speed( &mut self, speed: Velocity, speed_prev: Velocity, dt: Time, ) -> Result<()>
Sets power required for given prescribed speed
§Arguments
speed: prescribed or achieved speeddt: simulation time step size
Sourcepub fn set_ach_speed(&mut self, cyc_speed: Velocity, dt: Time) -> Result<()>
pub fn set_ach_speed(&mut self, cyc_speed: Velocity, dt: Time) -> Result<()>
Sets achieved speed based on known current max power
§Arguments
cyc_speed: prescribed speeddt: simulation time step size
pub fn to_fastsim2(&self) -> Result<RustSimDrive>
Trait Implementations§
Source§impl CheckAndResetState for SimDrive
impl CheckAndResetState for SimDrive
Source§impl<'de> Deserialize<'de> for SimDrive
impl<'de> Deserialize<'de> for SimDrive
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl SerdeAPI for SimDrive
impl SerdeAPI for SimDrive
const ACCEPTED_BYTE_FORMATS: &'static [&'static str] = _
const ACCEPTED_STR_FORMATS: &'static [&'static str] = _
const RESOURCE_PREFIX: &'static str = ""
Source§fn from_resource<P: AsRef<Path>>(
filepath: P,
skip_init: bool,
) -> Result<Self, Error>
fn from_resource<P: AsRef<Path>>( filepath: P, skip_init: bool, ) -> Result<Self, Error>
Read (deserialize) an object from a resource file packaged with the
fastsim-core crate Read moreSource§fn to_file<P: AsRef<Path>>(&self, filepath: P) -> Result<(), Error>
fn to_file<P: AsRef<Path>>(&self, filepath: P) -> Result<(), Error>
Write (serialize) an object to a file.
Supported file extensions are listed in
ACCEPTED_BYTE_FORMATS.
Creates a new file if it does not already exist, otherwise truncates the existing file. Read moreSource§fn from_file<P: AsRef<Path>>(
filepath: P,
skip_init: bool,
) -> Result<Self, Error>
fn from_file<P: AsRef<Path>>( filepath: P, skip_init: bool, ) -> Result<Self, Error>
Read (deserialize) an object from a file.
Supported file extensions are listed in
ACCEPTED_BYTE_FORMATS. Read moreSource§fn to_writer<W: Write>(&self, wtr: W, format: &str) -> Result<(), Error>
fn to_writer<W: Write>(&self, wtr: W, format: &str) -> Result<(), Error>
Write (serialize) an object into anything that implements
std::io::Write Read moreSource§fn from_reader<R: Read>(
rdr: &mut R,
format: &str,
skip_init: bool,
) -> Result<Self, Error>
fn from_reader<R: Read>( rdr: &mut R, format: &str, skip_init: bool, ) -> Result<Self, Error>
Deserialize an object from anything that implements
std::io::Read Read moreSource§fn to_str(&self, format: &str) -> Result<String>
fn to_str(&self, format: &str) -> Result<String>
Write (serialize) an object into a string Read more
Source§fn from_str<S: AsRef<str>>(
contents: S,
format: &str,
skip_init: bool,
) -> Result<Self>
fn from_str<S: AsRef<str>>( contents: S, format: &str, skip_init: bool, ) -> Result<Self>
Read (deserialize) an object from a string Read more
Source§fn from_json<S: AsRef<str>>(json_str: S, skip_init: bool) -> Result<Self>
fn from_json<S: AsRef<str>>(json_str: S, skip_init: bool) -> Result<Self>
Read (deserialize) an object from a JSON string Read more
Source§fn from_msg_pack(msg_pack: &[u8], skip_init: bool) -> Result<Self>
fn from_msg_pack(msg_pack: &[u8], skip_init: bool) -> Result<Self>
Read (deserialize) an object from a message pack Read more
impl StructuralPartialEq for SimDrive
Auto Trait Implementations§
impl Freeze for SimDrive
impl RefUnwindSafe for SimDrive
impl Send for SimDrive
impl Sync for SimDrive
impl Unpin for SimDrive
impl UnwindSafe for SimDrive
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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