This package provides classes to manage a grid that manages a objects within a two dimensional rectangle for molecular and granular dynamics simulations. Each object is assigned to a grid cell based on its coordinates, making the location of nearby objects much faster than searching all objects in the grid.

- AbstractGrid2D
- The base class for grid that may contain objects . Contained objects must be derived from
`GridMember`

. - BasedVectorGridMember2.java
- A basic grid member based on
`BasedVector2`

. - DynamicGridMember2D
- A base class for objects that may be contained in a 2-dimensional grid. Each object has an X and Y position, a radius, and a grid address.
- EnumElementType
- The possible element types in a simulation.
- FastLennardJones
- A class that precomputes Lennard-Jones forces and energies at some number of discrete points then returns an energy or force magnitude based on a square of the ratio of actual distance to equilibrium distance. This class adjusts the forces and energies so they go smoothly to zero at a distance of 2.5 * the equilibrium distance. For any distance ratio greater than 2.5, the class returns zero energy and force.
- FastSoftSphere
- A class that precomputes soft-sphere forces and energies at some number of discrete points then returns an energy or force magnitude based on a square of the ratio of actual distance to equilibrium distance. For any distance ratio greater than 1, the class returns zero energy and force.
- Granular2D
- Run a time evolution of a collection of granules.
- Granule
- A granule that interacts with Lennard-Jones potential.
- Grid2D
- A two-dimensional grid that may contain objects . Contained objects must be derived from
`GridMember`

. This class provides a fast way to iterate over the set of potential neighbors of an object. - GridIterator2D
- An iterator that will iterate over a grid's elements.
- GridMember2Int
- A base class for objects that may be contained in a 2-dimensional grid. Each object has an X and Y position, a radius, and a grid address.
- GridPanel2D
- A panel that renders the state of a grid.
- GridTest2D
- A class to test the
`Grid`

class by constructing a grid and randomly adding and removing many objects, then testing the grid state for correctness and ensuring that neighbor lists returned are valid. - LinkedListGridMember2D
- A base class for objects that may be contained in a 2-dimensional grid. Each object has an X and Y position, a radius, and a grid address.
- PointGridMember2
- A basic grid member based on
`Point2`

.

As the author of the source code available by following the links above, I hereby place this source code in the public domain. You can use, modify, and distribute the source code and executable programs based on the source code. However, note the following:

**DISCLAIMER OF WARRANTY**

This source code is provided "as is" and without any express or implied warranties whatsoever. The user must assume the entire risk of using the source code.