NaiveDynamics API

NaiveDynamics.collect_objectsMethod
collect_objects(Collector::GenericRandomCollector)

Return a GenericObjectCollection with positions and speeds randomly seeded, as specified by the Collector object

source
NaiveDynamics.generate_positionsMethod
generate_positions(Collector::GenericRandomCollector)

Return a position vector of 3-dimensional mutable vectors when given box dimensions from the GenericRandomCollector object.

source
NaiveDynamics.SimSpecType
struct SimSpec{T, K}
    duration::T
    stepwidth::T
    currentstep::T
    logChunkLength::T
    velocityDampening::K #idk a better way to handle this
    threshold::K

Return a SimSpec to pass into simulate!

source
NaiveDynamics.simulate!Method
simulate!(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.

source
NaiveDynamics.simulate_bvh!Method
simulate_bvh!(sys::GenericObjectCollection, spec::SimSpec, 
bvhspec::SpheresBVHSpecs, clct::GenericRandomCollector{T}) where T

NO forces simulation emphasizing neighbor list time using bvh traversal to generate a neighbor list

source
NaiveDynamics.SpheresBVHSpecsType

struct 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$`.

source
NaiveDynamics.build_traverse_bvhMethod
function build_traverse_bvh(position::Vec3D{T}, spec::SpheresBVHSpecs{T, K}) where {T, K}

Build and then traverse a BVH, returning only a neighbor list

source