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
- Object
- Simulation
- FrictionSimulation
- Implemented by
Constructors
- FrictionSimulation(double drag, double position, double velocity)
-
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
- hashCode → int
-
Get a 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
Operators
-
operator ==(
other) → bool -
The equality operator.
inherited
Methods
-
dx(
double time) → double -
The velocity of the object in the simulation at the given time.
-
isDone(
double time) → bool -
Whether the simulation is "done" at the given time.
-
x(
double time) → double -
The position of the object in the simulation at the given time.
-
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