@@ -6,55 +6,56 @@ void verlet(double *time, double pos, double acc, double dt) {
6
6
* time = 0.0 ;
7
7
8
8
while (pos > 0 ) {
9
- ( * time ) += dt ;
9
+ * time += dt ;
10
10
temp_pos = pos ;
11
11
pos = pos * 2 - prev_pos + acc * dt * dt ;
12
12
prev_pos = temp_pos ;
13
13
}
14
14
}
15
15
16
- void stormer_verlet (double * time , double * vel , double pos , double acc , double dt ) {
16
+ void stormer_verlet (double * time , double * vel ,
17
+ double pos , double acc , double dt ) {
17
18
double prev_pos , temp_pos ;
18
19
prev_pos = pos ;
19
20
* vel = 0.0 ;
20
21
* time = 0.0 ;
21
22
22
23
while (pos > 0 ) {
23
- ( * time ) += dt ;
24
+ * time += dt ;
24
25
temp_pos = pos ;
25
26
pos = pos * 2 - prev_pos + acc * dt * dt ;
26
27
prev_pos = temp_pos ;
27
28
28
- ( * vel ) += acc * dt ;
29
+ * vel += acc * dt ;
29
30
}
30
31
}
31
32
32
- void velocity_verlet (double * time , double * vel , double pos , double acc , double dt ) {
33
+ void velocity_verlet (double * time , double * vel ,
34
+ double pos , double acc , double dt ) {
33
35
* vel = 0.0 ;
34
36
* time = 0.0 ;
35
37
36
38
while (pos > 0 ) {
37
- ( * time ) += dt ;
39
+ * time += dt ;
38
40
pos += (* vel ) * dt + 0.5 * acc * dt * dt ;
39
- ( * vel ) += acc * dt ;
41
+ * vel += acc * dt ;
40
42
}
41
43
}
42
44
43
45
int main () {
44
- double time_v ;
45
- double time_sv , vel_sv ;
46
- double time_vv , vel_vv ;
47
-
48
- verlet (& time_v , 5.0 , -10 , 0.01 );
49
- stormer_verlet (& time_sv , & vel_sv , 5.0 , -10 , 0.01 );
50
- velocity_verlet (& time_vv , & vel_vv , 5.0 , -10 , 0.01 );
46
+ double time , vel ;
51
47
48
+ verlet (& time , 5.0 , -10 , 0.01 );
52
49
printf ("Time for Verlet integration is: %lf\n" ,
53
- time_v );
50
+ time );
51
+
52
+ stormer_verlet (& time , & vel , 5.0 , -10 , 0.01 );
54
53
printf ("Time and velocity for Stormer Verlet integration is: %lf, %lf\n" ,
55
- time_sv , vel_sv );
54
+ time , vel );
55
+
56
+ velocity_verlet (& time , & vel , 5.0 , -10 , 0.01 );
56
57
printf ("Time and velocity for velocity Verlet integration is: %lf, %lf\n" ,
57
- time_vv , vel_vv );
58
+ time , vel );
58
59
59
60
return 0 ;
60
61
}
0 commit comments