NaiveDynamics API
NaiveDynamics.collect_objects — Methodcollect_objects(Collector::GenericRandomCollector)Return a GenericObjectCollection with positions and speeds randomly seeded, as specified by the Collector object
NaiveDynamics.generate_positions — Methodgenerate_positions(Collector::GenericRandomCollector)Return a position vector of 3-dimensional mutable vectors when given box dimensions from the GenericRandomCollector object.
NaiveDynamics.SimSpec — Typestruct SimSpec{T, K}
duration::T
stepwidth::T
currentstep::T
logChunkLength::T
velocityDampening::K #idk a better way to handle this
threshold::KReturn a SimSpec to pass into simulate!
NaiveDynamics.simulate! — Methodsimulate!(simulation::GenericSimulation, collector)Using MVectors containing dimensional data, simulate by performing calculations for each property of particles and waiting until completion to advance to the next property/interaction. At June 29th, best performing and minimal allocations per time step. better performing for SVecs but does not interoperate with other functions like boundary_reflect!() or forces.
NaiveDynamics.simulate_bvh! — Methodsimulate_bvh!(sys::GenericObjectCollection, spec::SimSpec,
bvhspec::SpheresBVHSpecs, clct::GenericRandomCollector{T}) where TNO forces simulation emphasizing neighbor list time using bvh traversal to generate a neighbor list
NaiveDynamics.simulate_naive! — Methodsimulate_naive!No forces simulation emphasizing time component of naive pair listing.
NaiveDynamics.SpheresBVHSpecs — Typestruct SpheresBVHSpecs{T, K} neighbordistance::T atomcount::Int64 leavescount::Int64 branchescount::Int64 atomsperleaf::Int64
Instantiate a specification towards a BVH of sphere primitives. The neighbor_distance is the distance at which two point primitives will be evaluated as neighbors when generating a neighbor list, using the proximity_test!function. The$leaves_count$is the number of leaves, determined as the ratio of$atom_count$and$atomsperleaf$`.
NaiveDynamics.build_traverse_bvh — Methodfunction build_traverse_bvh(position::Vec3D{T}, spec::SpheresBVHSpecs{T, K}) where {T, K}Build and then traverse a BVH, returning only a neighbor list