1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
pub trait LatticeOps2d {
	fn collide(&mut self);
	
	fn periodic_stream(&mut self);

	fn bulk_stream(&mut self);

	fn bd_stream(&mut self);

	fn collide_and_stream(&mut self) {
		self.collide();
		self.bulk_stream();
		self.bd_stream();
	}
}

pub trait MultiLatticeOps2d : LatticeOps2d {
	fn communicate(&mut self);
}