X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=course%2Fsemester2%2Fpprog%2Fassignment1%2Fsingle-thread%2Fnbody.h;h=2ff81d7bfadc28375f8aa6f7c674d72d8897e98e;hb=HEAD;hp=a9bfec44fd218360e0518b8e6617d54f1bd42a3e;hpb=20979b1c07eda73b7f86b2fe8cb66eb58d959e04;p=matches%2Fhonours.git diff --git a/course/semester2/pprog/assignment1/single-thread/nbody.h b/course/semester2/pprog/assignment1/single-thread/nbody.h index a9bfec44..2ff81d7b 100644 --- a/course/semester2/pprog/assignment1/single-thread/nbody.h +++ b/course/semester2/pprog/assignment1/single-thread/nbody.h @@ -105,18 +105,22 @@ typedef struct int verbosity; // print statistics every number of steps indicated by this variable clock_t start_clock; // clock cycles done when simulation starts struct timeval start_time; // time at which simulation starts + float theta; // Parameter used for Barns Hut algorithm + int random; //Used to randomly create bodies } Options; void Body_Print(Body * a, FILE * out); //Print body a -void Body_Force(Body * a, System * s); //Compute force on body a due to system of bodies s +void Body_Forces(Body * a, System * s); //Compute force on body a due to system of bodies s +void Body_Force(Body * a, Body * b); // Compute force on body a due to body b void Body_Velocity(Body * a); //Compute velocity of body a void Body_Position(Body * a); //Compute position of body a void System_Init(System * s, const char * fileName); //Initialise System (array of bodies) from a text file +void System_Random(System * s, int r); //Randomly create bodies void System_Compute(System * s); void System_Forces(System * s1, System * s2); //Compute forces for bodies in s1 due to bodies in s2 (also updates velocities) void System_Positions(System * s); //Update positions for bodies in s1 - +System * Split_System(System * s, unsigned n); // Splits one system into a number of other systems, returns an array of size n void Universe_Cleanup(); //Cleanup universe and write bodies to file