summaryrefslogtreecommitdiff
path: root/src/spheres_poly/event.h
diff options
context:
space:
mode:
authorpants <jaron@kent-dobias.com>2016-12-07 13:29:51 -0500
committerpants <jaron@kent-dobias.com>2016-12-07 13:29:51 -0500
commit5ba4109f0021e7b2c9c66821461742a339e07355 (patch)
tree484ff12ba10a58a21bc3048c07757bb3f4fb6f3e /src/spheres_poly/event.h
parentcdb18338d3ae54785f311608d303420d5b47d698 (diff)
downloadfuse_networks-5ba4109f0021e7b2c9c66821461742a339e07355.tar.gz
fuse_networks-5ba4109f0021e7b2c9c66821461742a339e07355.tar.bz2
fuse_networks-5ba4109f0021e7b2c9c66821461742a339e07355.zip
added support for hyperuniform lattices using existing hard-sphere jamming routine
Diffstat (limited to 'src/spheres_poly/event.h')
-rw-r--r--src/spheres_poly/event.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/spheres_poly/event.h b/src/spheres_poly/event.h
new file mode 100644
index 0000000..55dd1fc
--- /dev/null
+++ b/src/spheres_poly/event.h
@@ -0,0 +1,58 @@
+#ifndef EVENT_H
+#define EVENT_H
+
+#include "vector.h"
+#define INF 100000000
+#define dblINF 100000000.
+
+class event {
+
+ public:
+
+ // constructor and destructor
+ event(double time_i, int i_i, int j_i, vector<DIM,int> v_i);
+ event(double time_i, int i_i, int j_i);
+ event(const event& e);
+ event();
+
+ ~event();
+
+ bool operator<(const event&) const;
+ bool operator>(const event&) const;
+ void erase();
+
+ //variables
+
+
+ double time; // time of next collision
+ int i; // collision partner with lower number
+ int j; // collision partner with higher number
+ vector<DIM,int> v; // virtual image
+
+ /* 0<=j<=N binary collision between i and j
+ j=N+DIM+1+x transfer where x=-(k+1) for left wall
+ and x=k+1 for right wall
+ j=INF both check after event that did not altered motion of i and check after event that altered motion of i, i.e rescaling of velocities. I currently don't see need t o separate the two
+
+ j=-1 check after collision
+
+ Virtual identifiers as scalars...I think bad idea, but here's my work
+ there will be easily fixed problems if DIM>=10
+ -x<=v<=x x=k+1, image in k direction
+ v=xy x,y
+ =-xy -x,y
+ =-yx x,-y
+ =yx -x,-y
+ v=xyz x,y,z
+ =-xyz -x,y,z
+ =-yxz x,-y,z
+ =-zxy x,y,-z
+ =zyx -x,-y,z
+ =xzy x,-y,-z
+ =yzx -x,y,-z
+ =-zyx -x,-y,-z
+ */
+
+};
+
+#endif