Trait SubDomainForce

Source
pub trait SubDomainForce<Pos, Vel, For, Inf> {
    // Required method
    fn calculate_custom_force(
        &self,
        pos: &Pos,
        vel: &Vel,
        inf: &Inf,
    ) -> Result<For, CalcError>;
}
Expand description

Apply a force on a cell depending on its position and velocity.

§Derivation

struct MyForce {
    damping: f64,
}

impl SubDomainForce<f64, f64, f64, f64> for MyForce {
    fn calculate_custom_force(&self, _: &f64, vel: &f64, _: &f64) -> Result<f64, CalcError> {
        Ok(- self.damping * vel)
    }
}

#[derive(SubDomain)]
struct MySubDomain {
    #[Force]
    force: MyForce,
}

Required Methods§

Source

fn calculate_custom_force( &self, pos: &Pos, vel: &Vel, inf: &Inf, ) -> Result<For, CalcError>

Calculates the force which acts on the cell agent

Implementors§