Skip to content
Snippets Groups Projects
Commit ffb98265 authored by Benjamin-Sitbon's avatar Benjamin-Sitbon
Browse files

galaxy

parent 91a75108
No related branches found
No related tags found
No related merge requests found
......@@ -11,13 +11,12 @@
<component name="ChangeListManager">
<list default="true" id="43aff179-c306-46b9-b69f-eca5306fbf96" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Box.c" beforeDir="false" afterPath="$PROJECT_DIR$/Box.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Star.c" beforeDir="false" afterPath="$PROJECT_DIR$/Star.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Star.h" beforeDir="false" afterPath="$PROJECT_DIR$/Star.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Star.o" beforeDir="false" afterPath="$PROJECT_DIR$/Star.o" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Vector.c" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Vector.h" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Vector.o" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.o" afterDir="false" />
<change beforePath="$PROJECT_DIR$/galaxy_simulation" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/galaxy_simulation" beforeDir="false" afterPath="$PROJECT_DIR$/galaxy_simulation" afterDir="false" />
<change beforePath="$PROJECT_DIR$/galaxy_simulation.c" beforeDir="false" afterPath="$PROJECT_DIR$/galaxy_simulation.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/makefile" beforeDir="false" afterPath="$PROJECT_DIR$/makefile" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
......@@ -27,7 +26,7 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="true">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Vector.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="427">
......@@ -66,8 +65,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Star.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="291">
<caret line="75" column="79" selection-start-line="75" selection-start-column="79" selection-end-line="75" selection-end-column="79" />
<state relative-caret-position="-867">
<caret line="12" lean-forward="true" selection-start-line="12" selection-end-line="12" />
</state>
</provider>
</entry>
......@@ -75,33 +74,46 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Star.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="323">
<caret line="19" selection-start-line="19" selection-end-line="22" selection-end-column="44" />
<state relative-caret-position="340">
<caret line="20" lean-forward="true" selection-start-line="20" selection-end-line="20" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/galaxy.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="15" column="87" selection-start-line="15" selection-start-column="87" selection-end-line="15" selection-end-column="87" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/galaxy_simulation.c">
<entry file="file://$PROJECT_DIR$/galaxy.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="51">
<caret line="3" column="17" selection-start-line="3" selection-start-column="17" selection-end-line="3" selection-end-column="17" />
<state relative-caret-position="17">
<caret line="1" column="15" lean-forward="true" selection-start-line="1" selection-start-column="15" selection-end-line="1" selection-end-column="15" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/makefile">
<entry file="file://$PROJECT_DIR$/galaxy_simulation.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="31" selection-start-line="9" selection-start-column="31" selection-end-line="9" selection-end-column="31" />
<state relative-caret-position="68">
<caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../C/Projet/makefile">
<provider selected="true" editor-type-id="text-editor" />
<entry file="file://$PROJECT_DIR$/makefile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="2" column="49" selection-start-line="2" selection-start-column="49" selection-end-line="2" selection-end-column="49" />
</state>
</provider>
</entry>
</file>
</leaf>
......@@ -115,13 +127,15 @@
<option value="$PROJECT_DIR$/Vector_Test.h" />
<option value="$PROJECT_DIR$/Vector_Test.c" />
<option value="$PROJECT_DIR$/Box.h" />
<option value="$PROJECT_DIR$/galaxy_simulation.c" />
<option value="$PROJECT_DIR$/Star.h" />
<option value="$PROJECT_DIR$/Box.c" />
<option value="$PROJECT_DIR$/makefile" />
<option value="$PROJECT_DIR$/Vector.h" />
<option value="$PROJECT_DIR$/Star.c" />
<option value="$PROJECT_DIR$/Vector.c" />
<option value="$PROJECT_DIR$/Star.c" />
<option value="$PROJECT_DIR$/galaxy_simulation.c" />
<option value="$PROJECT_DIR$/Star.h" />
<option value="$PROJECT_DIR$/galaxy.h" />
<option value="$PROJECT_DIR$/makefile" />
<option value="$PROJECT_DIR$/galaxy.c" />
</list>
</option>
</component>
......@@ -179,12 +193,12 @@
<option name="presentableId" value="Default" />
<updated>1559227081243</updated>
<workItem from="1559227084365" duration="53793000" />
<workItem from="1560336527698" duration="9022000" />
<workItem from="1560336527698" duration="16824000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="62815000" />
<option name="totallyTimeSpent" value="70617000" />
</component>
<component name="ToolWindowManager">
<frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
......@@ -231,13 +245,6 @@
<entry file="file://$PROJECT_DIR$/Vector.o">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/makefile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="31" selection-start-line="9" selection-start-column="31" selection-end-line="9" selection-end-column="31" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../C/Projet/makefile">
<provider selected="true" editor-type-id="text-editor" />
</entry>
......@@ -255,10 +262,24 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Star.h">
<entry file="file://$PROJECT_DIR$/Vector.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="427">
<caret line="39" column="18" selection-start-line="39" selection-start-column="18" selection-end-line="39" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/galaxy_simulation.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="68">
<caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Star.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="323">
<caret line="19" selection-start-line="19" selection-end-line="22" selection-end-column="44" />
<state relative-caret-position="-867">
<caret line="12" lean-forward="true" selection-start-line="12" selection-end-line="12" />
</state>
</provider>
</entry>
......@@ -269,24 +290,31 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/galaxy_simulation.c">
<entry file="file://$PROJECT_DIR$/Star.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="51">
<caret line="3" column="17" selection-start-line="3" selection-start-column="17" selection-end-line="3" selection-end-column="17" />
<state relative-caret-position="340">
<caret line="20" lean-forward="true" selection-start-line="20" selection-end-line="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Star.c">
<entry file="file://$PROJECT_DIR$/galaxy.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="291">
<caret line="75" column="79" selection-start-line="75" selection-start-column="79" selection-end-line="75" selection-end-column="79" />
<state relative-caret-position="17">
<caret line="1" column="15" lean-forward="true" selection-start-line="1" selection-start-column="15" selection-end-line="1" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Vector.c">
<entry file="file://$PROJECT_DIR$/makefile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="427">
<caret line="39" column="18" selection-start-line="39" selection-start-column="18" selection-end-line="39" selection-end-column="18" />
<state relative-caret-position="34">
<caret line="2" column="49" selection-start-line="2" selection-start-column="49" selection-end-line="2" selection-end-column="49" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/galaxy.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="15" column="87" selection-start-line="15" selection-start-column="87" selection-end-line="15" selection-end-column="87" />
</state>
</provider>
</entry>
......
......@@ -59,15 +59,13 @@ void reset_acceleration(star *s){
void update_acceleration(star *s, const star *const s2) {
double G = 6.67e-11;
vec sub = sub_vect(s2->pos_t,s->pos_t);
vec F = mul_vect(G * s->mass * s2->mass, sub);
double n = pow(norme(sub),3);
vec F = mul_vect(6.67e-11 * s->mass * s2->mass, sub);
F = mul_vect(1/n,F);
print_vect(F);
s->acc = mul_vect(1/s->mass,F);
}
......@@ -122,25 +120,7 @@ int Test_reset_acc(){
free(star_test);
}
int Test_update_acc(){
vec terre = (vec){0.0,0.0};
vec v = (vec){2.0,0.5};
vec a = (vec){1.0,1.0};
vec lune = (vec){0.0,384400000.0};
star *star1 = new_star_vel(terre,v,a,5.9722e24,0.0);
star *star2 = new_star_vel(lune,v,a,7.342e22,0.0);
update_acceleration(star2,star1);
free(star1);
free(star2);
}
int star_tests(){
Test_new_star();
Test_reset_acc();
Test_update_acc();
}
\ No newline at end of file
......@@ -19,9 +19,5 @@ void update_acceleration(star *s, const star *const s2);
//Mise à jour de la position d’une étoile, avec dt la discrétisation temporelle:
void update_position(star *s, double dt);
//En pseudo-code cette mise à jour est de la forme:
//pos_t = 2*pos_t - pos_t_dt + acc * dt * dt
// Affichage des champs d’une étoile pour aider au débogage:
void print_star(const star *const s);
\ No newline at end of file
No preview for this file type
galaxy.c 0 → 100644
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include "galaxy.h"
galaxy *create_and_init_galaxy(int num_bodies, box b,double dt){
galaxy* new_gal = malloc(sizeof(galaxy));
new_gal->num_bodies = num_bodies;
new_gal->b = b;
star* tab[num_bodies];
for(int i = 0; i<num_bodies;i++){
tab[i] = new_star_vel((vec){0.0,0.0},(vec){1.0,1.0},(vec){0.0,0.0},100000,1.0);
}
new_gal->stars = tab;
return new_gal;
}
//FONCTION TEST//
\ No newline at end of file
galaxy.h 0 → 100644
#include "Star.h"
typedef struct galaxy {
int num_bodies;
star *stars;
box b;
} galaxy;
//L’allocation et initialisation de la galaxie:
galaxy *create_and_init_galaxy(int num_bodies, box b,double dt);
//La remise à zéro de toutes les accélérations des étoiles de la galaxie:
void reset_accelerations(galaxy *g);
//La mise à jour des positions de toutes les étoiles de la galaxie:
void update_positions(galaxy *g, double dt);
//La libération de la mémoire de la galaxie:
void free_galaxy(galaxy *g);
//Lorsqu’une étoile, s, sort de la box de la galaxie, celle-ci doit être s doit effacée du tableau d’étoiles contenu dans la galaxie et sa mémoire libérée:
void resize_galaxy(galaxy *g);
galaxy.o 0 → 100644
File added
No preview for this file type
......@@ -2,7 +2,7 @@
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include "Star.h"
#include "galaxy.h"
int main(int argc, char *argv[]) {
if (argc == 2) {
......
galaxy_simulation: vector.o Box.o Star.o galaxy_simulation.o
gcc -o galaxy_simulation Vector.o Box.o Star.o galaxy_simulation.o -lm
galaxy_simulation: vector.o Box.o Star.o galaxy.o galaxy_simulation.o
gcc -o galaxy_simulation Vector.o Box.o Star.o galaxy.o galaxy_simulation.o -lm
galaxy_simulation.o: galaxy_simulation.c
gcc -o galaxy_simulation.o -c galaxy_simulation.c
......@@ -12,3 +12,5 @@ Box.o: Box.c
gcc -o Box.o -c Box.c
Star.o: Star.c
gcc -o Star.o -c Star.c
galaxy.o: galaxy.c
gcc -o galaxy.o -c galaxy.c
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment