Simulation class
The base class for all simulations.
A simulation models an object, in a one-dimensional space, on which particular forces are being applied, and exposes:
A simulation is generally "done" if the object has, to a given tolerance, come to a complete rest.
The x, dx, and isDone functions take a time argument which specifies the time for which they are to be evaluated. In principle, simulations can be stateless, and thus can be queried with arbitrary times. In practice, however, some simulations are not, and calling any of these functions will advance the simulation to the given time.
As a general rule, therefore, a simulation should only be queried using times that are equal to or greater than all times previously used for that simulation.
Simulations do not specify units for distance, velocity, and time. Client should establish a convention and use that convention consistently with all related objects.
Constructors
- Simulation({Tolerance tolerance: Tolerance.defaultTolerance })
-
Initializes the
tolerance
field for subclasses.
Properties
- 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
- 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
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.
-
toString(
) → String -
Returns a string representation of this object.
override
-
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
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited