API Reference
AcquaCalda.every — Method
every(n_steps) do sys ... endcreate a callback that fires every n_steps timesteps.
AcquaCalda.heat_flux — Method
heat_flux(model, p_i, p_j, p_j_data, contact, dt) -> Float64return the heat energy transferred across the contact this timestep [J]. positive = heat flows from i to j.
AcquaCalda.heat_flux — Method
heat_flux(::FourierContact, p_i, p_j, p_j_data, contact, dt) -> Float64steady-state conduction across a circular contact area. returns heat transferred this timestep [J].
AcquaCalda.normal_force — Method
normal_force(model, p_i, p_j, p_j_data, overlap, overlap_dot) -> Float64return the scalar normal force magnitude (positive = repulsive). p_j_data is nothing for particle-wall contacts.
AcquaCalda.run! — Method
run!(system; t_end=1.0, callbacks=Callback[]) -> systemrun the simulation from system.time to t_end.
AcquaCalda.step! — Method
step!(system, integrator, dt)update particle positions, velocities, and angular velocities for one timestep. forces must be computed before calling this.
AcquaCalda.tangential_force — Method
tangential_force(model, p_i, p_j, p_j_data, contact) -> SVector{3,Float64}return the tangential force vector at the contact. defaults to zero (frictionless).
AcquaCalda.update! — Method
update!(system, neighbor_search)rebuild the neighbor list and populate system.contacts with all particle-particle and particle-wall overlaps found this timestep.