source: util/src/CreateGaAs.c@ 7b991d

Last change on this file since 7b991d was ef87ee, checked in by Frederik Heber <heber@…>, 16 years ago

Added versioning to each executable.

  • credits to Ralf Wildenhues for writing the Makefile.am code
  • version.c section added to Makefile.am (pcp, molecuilder and util)
  • src/version.h to each pcp, molecuilder and util
  • each of the executables includes version.h and prints version in main()

Signed-off-by: Frederik Heber <heber@…>

  • Property mode set to 100644
File size: 2.4 KB
Line 
1/*
2 Project: CP
3 Jan Hamaekers
4 1999
5
6 File: CreateGaAs.c
7
8*/
9/*$Id: CreateGaAs.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#include "version.h"
16
17int main(int argc, char** argv) {
18 int n[3], N[3];
19 double L[3], O[3];
20 double Fac;
21 FILE *targetbox, *targetpsi, *targetion;
22 char dummy[255];
23 L[0] = 10.47;
24 L[1] = 10.47;
25 L[2] = 10.47;
26
27 fprintf(stdout, "%s\n", ESPACKVersion);
28
29 if(argc < 6) {
30 fprintf(stderr,"Not enough arguments\nUsage: CreateGaAs source target nmax\n");
31 exit(1);
32 }
33 sprintf(dummy, "%s.box", argv[1]);
34 targetbox = fopen(dummy, "w");
35 if(targetbox == 0) {
36 fprintf(stderr,"Could not open targetbox\n");
37 exit(1);
38 }
39 sprintf(dummy, "%s.psi", argv[1]);
40 targetpsi = fopen(dummy, "w");
41 if(targetpsi == 0) {
42 fprintf(stderr,"Could not open targetpsi\n");
43 exit(1);
44 }
45 sprintf(dummy, "%s.ion", argv[1]);
46 targetion = fopen(dummy, "w");
47 if(targetion == 0) {
48 fprintf(stderr,"Could not open targetion\n");
49 exit(1);
50 }
51 N[0] = atoi(argv[2]);
52 N[1] = atoi(argv[3]);
53 N[2] = atoi(argv[4]);
54 Fac = atof(argv[5]);
55 fprintf(targetbox, "%e\n0.0\t%e\n0.0\t0.0\t%e\n", N[0]*L[0], N[1]*L[1], N[2]*L[2]);
56 fprintf(targetpsi, "MaxPsiDouble\t%i\n", 16*N[0]*N[1]*N[2]);
57 fprintf(targetion, "%i 31 1.0 3 3 %e\n", 4*N[0]*N[1]*N[2],Fac);
58 for (n[0]=0; n[0]<N[0];n[0]++)
59 for (n[1]=0; n[1]<N[1];n[1]++)
60 for (n[2]=0; n[2]<N[2];n[2]++) {
61 O[0] = n[0]*L[0];
62 O[1] = n[1]*L[1];
63 O[2] = n[2]*L[2];
64 fprintf(targetion, "%e\t%e\t%e\t0\n", O[0]+0.0, O[1]+0.0, O[2]+0.0);
65 fprintf(targetion, "%e\t%e\t%e\t0\n", O[0]+L[0]*0.5, O[1]+L[1]*0.5, O[2]+0.0);
66 fprintf(targetion, "%e\t%e\t%e\t0\n", O[0]+L[0]*0.5, O[1]+0.0, O[2]+L[2]*0.5);
67 fprintf(targetion, "%e\t%e\t%e\t0\n", O[0]+0.0, O[1]+L[1]*0.5, O[2]+L[2]*0.5);
68 }
69 fprintf(targetion, "%i 33 1.0 3 3 %e\n", 4*N[0]*N[1]*N[2],Fac);
70 for (n[0]=0; n[0]<N[0];n[0]++)
71 for (n[1]=0; n[1]<N[1];n[1]++)
72 for (n[2]=0; n[2]<N[2];n[2]++) {
73 O[0] = n[0]*L[0]+L[0]*0.25;
74 O[1] = n[1]*L[1]+L[1]*0.25;
75 O[2] = n[2]*L[2]+L[2]*0.25;
76 fprintf(targetion, "%e\t%e\t%e\t0\n", O[0]+0.0, O[1]+0.0, O[2]+0.0);
77 fprintf(targetion, "%e\t%e\t%e\t0\n", O[0]+L[0]*0.5, O[1]+L[1]*0.5, O[2]+0.0);
78 fprintf(targetion, "%e\t%e\t%e\t0\n", O[0]+L[0]*0.5, O[1]+0.0, O[2]+L[2]*0.5);
79 fprintf(targetion, "%e\t%e\t%e\t0\n", O[0]+0.0, O[1]+L[1]*0.5, O[2]+L[2]*0.5);
80 }
81 fclose(targetion);
82 fclose(targetbox);
83 fclose(targetpsi);
84 return(0);
85}
Note: See TracBrowser for help on using the repository browser.