FrictionSimulation class

A simulation that applies a drag to slow a particle down.

Models a particle affected by fluid drag, e.g. air resistance.

The simulation ends when the velocity of the particle drops to zero (within the current velocity tolerance).

Inheritance
Implementers

Constructors

FrictionSimulation(double drag, double position, double velocity, { Tolerance tolerance: Tolerance.defaultTolerance })
Creates a FrictionSimulation with the given arguments, namely: the fluid drag coefficient, a unitless value; the initial position, in the same length units as used for x; and the initial velocity, in the same velocity units as used for dx.
FrictionSimulation.through(double startPosition, double endPosition, double startVelocity, double endVelocity)
Creates a new friction simulation with its fluid drag coefficient set so as to ensure that the simulation starts and ends at the specified positions and velocities. [...]
factory

Properties

finalX double
The value of x at double.infinity.
read-only
hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
tolerance Tolerance
How close to the actual end of the simulation a value at a particular time must be before isDone considers the simulation to be "done". [...]
read / write, inherited

Methods

dx(double time) double
The velocity of the object in the simulation at the given time.
override
isDone(double time) bool
Whether the simulation is "done" at the given time.
override
timeAtX(double x) double
The time at which the value of x(time) will equal x. [...]
x(double time) double
The position of the object in the simulation at the given time.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toString() String
Returns a string representation of this object.
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited