1 | /*
|
---|
2 | Project: CP
|
---|
3 | Jan Hamaekers
|
---|
4 | 1999
|
---|
5 |
|
---|
6 | File: CreateH2.c
|
---|
7 |
|
---|
8 | */
|
---|
9 | /*$Id: CreateH2.c,v 1.2 2007-09-03 16:28:58 heber Exp $*/
|
---|
10 |
|
---|
11 | #include<stdlib.h>
|
---|
12 | #include<stdio.h>
|
---|
13 | #include<math.h>
|
---|
14 |
|
---|
15 | int main(int argc, char** argv) {
|
---|
16 | int Steps, s;
|
---|
17 | double start[3];
|
---|
18 | double delta;
|
---|
19 | double Delta[3], h2[3];
|
---|
20 | FILE *target;
|
---|
21 | char dummy[255];
|
---|
22 | if(argc < 8) {
|
---|
23 | fprintf(stderr,"Not enough arguments\nUsage: CreateH2 target Steps startx starty startz delta xyz\n");
|
---|
24 | exit(1);
|
---|
25 | }
|
---|
26 | sprintf(dummy, "%s.h2", argv[1]);
|
---|
27 | target = fopen(dummy, "w");
|
---|
28 | if(target == 0) {
|
---|
29 | fprintf(stderr,"Could not open targetbox\n");
|
---|
30 | exit(1);
|
---|
31 | }
|
---|
32 |
|
---|
33 | Steps = atoi(argv[2]);
|
---|
34 | start[0] = atof(argv[3]);
|
---|
35 | start[1] = atof(argv[4]);
|
---|
36 | start[2] = atof(argv[5]);
|
---|
37 | delta = atof(argv[6]);
|
---|
38 | Delta[0] = 0.0; Delta[1] = 0.0; Delta[2] = 0.0;
|
---|
39 | Delta[atoi(argv[7])] = delta/(Steps-1);
|
---|
40 | h2[0] = 0.0; h2[1] = 0.0; h2[2] = 0.0;
|
---|
41 | h2[atoi(argv[8])] = 0.37042405;
|
---|
42 | fprintf(target, "2 1 1.0 1 1 0.1\n");
|
---|
43 | fprintf(target, "%e\t%e\t%e\t2\t%i\n", start[0]-h2[0], start[1]-h2[1], start[2]-h2[2], 2*Steps-2);
|
---|
44 | for (s=1; s<Steps; s++) {
|
---|
45 | fprintf(target, "%e\t%e\t%e\n", start[0]+s*Delta[0]-h2[0], start[1]+s*Delta[1]-h2[1], start[2]+s*Delta[2]-h2[2]);
|
---|
46 | }
|
---|
47 | for (s=Steps-2; s>=0; s--) {
|
---|
48 | fprintf(target, "%e\t%e\t%e\n", start[0]+s*Delta[0]-h2[0], start[1]+s*Delta[1]-h2[1], start[2]+s*Delta[2]-h2[2]);
|
---|
49 | }
|
---|
50 | fprintf(target, "%e\t%e\t%e\t2\t%i\n", start[0]+h2[0], start[1]+h2[1], start[2]+h2[2], 2*Steps-2);
|
---|
51 | for (s=1; s<Steps; s++) {
|
---|
52 | fprintf(target, "%e\t%e\t%e\n", start[0]+s*Delta[0]+h2[0], start[1]+s*Delta[1]+h2[1], start[2]+s*Delta[2]+h2[2]);
|
---|
53 | }
|
---|
54 | for (s=Steps-2; s>=0; s--) {
|
---|
55 | fprintf(target, "%e\t%e\t%e\n", start[0]+s*Delta[0]+h2[0], start[1]+s*Delta[1]+h2[1], start[2]+s*Delta[2]+h2[2]);
|
---|
56 | }
|
---|
57 | fclose(target);
|
---|
58 | return(0);
|
---|
59 | }
|
---|