inline void update_particle(Particle& particle, double time, const RectangularPBC& pbc){ if(particle.time < time){ stream_position(particle, time); stream_rotation(particle, time); particle.xform.pos_ = pbc.apply(particle.xform.pos_); particle.time = time; } }
void run_positions::close() { if (m_open) { m_positions[0].close(); m_positions[1].close(); m_open = m_final = m_evacuated = false; m_finalExtraSet = false; m_finalExtra = stream_position(); m_finalPositions.resize(0); } }
void run_positions::open() { m_positions[0].open(m_positionsFile[0]); m_positions[1].open(m_positionsFile[1]); m_runs[0] = m_runs[1] = 0; m_levels = 1; m_open = true; m_final = m_evacuated = false; m_finalExtraSet = false; m_finalExtra = stream_position(); m_finalPositions.resize(0); }