Static
Private
add_Add a block and run the simulation till the given time.
the AdvanceStrategy for advancing the simulation
the simulation time to run until
true means make a square block, false means make a round ball
the elapsed real time that it took to run the simulation to the given time
Static
additive_Static
Private
additive_Setup for additive_pile_test. The name ends with underscore to prevent this test from showing up in the TestViewer menu of available tests (because the additive_pile_test is added to over time). *
Static
additive_Static
Private
additive_Adds same sized square or round blocks to a pile until performance degrades to the point that the sim is barely keeping up with real time.
true means make a square block, false means make a round ball
the number of blocks to quickly add at the start, which helps to speed up the running time of this test
the number of blocks at the point where performance started to degrade
Static
connected_Two blocks are rigidly connected by two double joints, so that the blocks cannot move relative to each other, these fall with a few other blocks into V shaped walls; the connected blocks rotate very quickly after colliding with the wall.
Static
connected_Test that the joints on the connected blocks stay reasonably tight, despite rapid rotation. Turns out that they do slip a bit from rapid rotation. Because we check that energy is constant after the pile settles down, it is important that there are no rocking blocks (because damping is non-zero, rocking results in loss of energy).
The problem is contact forces are not calculated well enough during rapid rotation; taking smaller steps pretty much eliminates the problem.
To do: make a test showing that smaller steps results in tight joints.
History: Dec 2012 changed results due to the slight change in contact force calculation; had to recalculate the results. Also changed the initial conditions slightly so that the result was not a situation where there was a rocking block which loses energy over time
Static
near_Close to stable resting configuration of blocks derived from a particular run of test/PileTest.PileTest.connected_blocks_pile_setup (just moments before the pile settles down).
Static
near_Test of close-to-stable resting configuration derived from a particular run of test/PileTest.PileTest.connected_blocks_pile_setup (just moments before the pile settles down). So that we can compare running identical configuration across different browsers and changes to myPhysicsLab software.
Static
pile_Static
pile_Static
pile_Static
pile_Performance test that runs pile_20_random_blocks; this is a stress test for contact force calculation.
Note that the performance measurement is only valid for comparing different versions of code if the same results are found in each run. Slight changes in collision handling or other algorithms can completely change the resulting positions of the blocks. This can result in different runs having different numbers of contacts which is the factor that most affects performance because the number of contacts determines the size of the matrix that is solve for finding contact forces, and this is currently an O(n^3) process.
Java vs. Javascript: The test results (and setup) are different than in the Java version for a couple of reasons. 1) because Java and Javascript give slightly different results from Math.cos (see DoubleMath_test.js) and because this test is so sensitive with all the collisions, there is no way to match the Java results. 2) The setup was changed so that the blocks are not moving after 7 or 8 seconds.
Static
pile_Static
pile_Static
pile_This configuration caused a 'checkNoneCollide' exception in versions prior to May 12, 2016. Originally found in PileApp after clicking the 'random' button once.
Static
pile_Static
Private
pile_Makes a V-shaped set of walls for shapes to fall into, and sets various simulation parameters. *
Static
pile_Static
pile_Static
stable_Stable resting configuration of blocks derived from a particular run of test/PileTest.PileTest.connected_blocks_pile_setup.
Static
stable_Test of stable resting configuration derived from a particular run of test/PileTest.PileTest.connected_blocks_pile_setup. So that we can compare running identical configuration across different browsers and changes to myPhysicsLab software.
Generated using TypeDoc
Tests involving piles of many objects with engine2D physics engine.