Introduction
Introduction Statistics Contact Development Disclaimer Help
tgranulargrain.c - granular - granular dynamics simulation
git clone git://src.adamsgaard.dk/granular
Log
Files
Refs
README
LICENSE
---
tgranulargrain.c (1055B)
---
1 #include <stdlib.h>
2 #include <err.h>
3 #include <unistd.h>
4 #include "granular.h"
5 #include "arg.h"
6
7 char *argv0;
8
9 static void
10 usage(void)
11 {
12 errx(1, "usage: %s "
13 "[-d diameter] "
14 "[-f] "
15 "[-h] "
16 "[-R] "
17 "[-u vx] "
18 "[-v vy] "
19 "[-w vz] "
20 "[-x x] "
21 "[-y y] "
22 "[-z z]", argv0);
23 }
24
25 int
26 main(int argc, char *argv[])
27 {
28 struct grain g = grain_new();
29
30 #ifdef __OpenBSD__
31 if (pledge("stdio", NULL) == -1)
32 err(2, "pledge");
33 #endif
34
35 ARGBEGIN {
36 case 'd':
37 g.diameter = atof(EARGF(usage()));
38 break;
39 case 'f':
40 g.fixed = 1;
41 break;
42 case 'h':
43 usage();
44 break;
45 case 'R':
46 g.rotating = 0;
47 break;
48 case 'u':
49 g.vel[0] = atof(EARGF(usage()));
50 break;
51 case 'v':
52 g.vel[1] = atof(EARGF(usage()));
53 break;
54 case 'w':
55 g.vel[2] = atof(EARGF(usage()));
56 break;
57 case 'x':
58 g.pos[0] = atof(EARGF(usage()));
59 break;
60 case 'y':
61 g.pos[1] = atof(EARGF(usage()));
62 break;
63 case 'z':
64 g.pos[2] = atof(EARGF(usage()));
65 break;
66 default:
67 usage();
68 } ARGEND;
69
70 if (argc > 1)
71 usage();
72
73 grain_print(stdout, &g);
74
75 return 0;
76 }
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.