35 |
|
printf("\n" |
36 |
|
"Usage: %s [OPTIONS]...\n", CMDLINE_PARSER_PACKAGE); |
37 |
|
printf("\n"); |
38 |
< |
printf(" -h, --help Print help and exit\n"); |
39 |
< |
printf(" -V, --version Print version and exit\n"); |
40 |
< |
printf(" -i, --input=filename input dump file\n"); |
41 |
< |
printf(" -o, --output=STRING output file prefix (default=`hydro')\n"); |
42 |
< |
printf(" --viscosity=DOUBLE viscosity of solvent\n"); |
43 |
< |
printf(" --sigma=DOUBLE diameter of beads(use with rough shell model)\n"); |
44 |
< |
printf(" --model=STRING hydrodynamics model (support RoughShell and \n BeadModel)\n"); |
38 |
> |
printf(" -h, --help Print help and exit\n"); |
39 |
> |
printf(" -V, --version Print version and exit\n"); |
40 |
> |
printf(" -i, --input=filename input dump file\n"); |
41 |
> |
printf(" -o, --output=STRING output file prefix (default=`hydro')\n"); |
42 |
> |
printf(" --model=STRING hydrodynamics model (support RoughShell and BeadModel)\n"); |
43 |
> |
printf(" -b, --beads generate the beads only, hydrodynamics will be \n performed (default=off)\n"); |
44 |
|
} |
45 |
|
|
46 |
|
|
68 |
|
args_info->version_given = 0 ; |
69 |
|
args_info->input_given = 0 ; |
70 |
|
args_info->output_given = 0 ; |
72 |
– |
args_info->viscosity_given = 0 ; |
73 |
– |
args_info->sigma_given = 0 ; |
71 |
|
args_info->model_given = 0 ; |
72 |
+ |
args_info->beads_given = 0 ; |
73 |
|
#define clear_args() { \ |
74 |
|
args_info->input_arg = NULL; \ |
75 |
|
args_info->output_arg = gengetopt_strdup("hydro") ;\ |
76 |
|
args_info->model_arg = NULL; \ |
77 |
+ |
args_info->beads_flag = 0;\ |
78 |
|
} |
79 |
|
|
80 |
|
clear_args(); |
94 |
|
{ "version", 0, NULL, 'V' }, |
95 |
|
{ "input", 1, NULL, 'i' }, |
96 |
|
{ "output", 1, NULL, 'o' }, |
98 |
– |
{ "viscosity", 1, NULL, 0 }, |
99 |
– |
{ "sigma", 1, NULL, 0 }, |
97 |
|
{ "model", 1, NULL, 0 }, |
98 |
+ |
{ "beads", 0, NULL, 'b' }, |
99 |
|
{ NULL, 0, NULL, 0 } |
100 |
|
}; |
101 |
|
|
102 |
|
stop_char = 0; |
103 |
< |
c = getopt_long (argc, argv, "hVi:o:", long_options, &option_index); |
103 |
> |
c = getopt_long (argc, argv, "hVi:o:b", long_options, &option_index); |
104 |
|
|
105 |
|
if (c == -1) break; /* Exit from `while (1)' loop. */ |
106 |
|
|
140 |
|
args_info->output_arg = gengetopt_strdup (optarg); |
141 |
|
break; |
142 |
|
|
143 |
+ |
case 'b': /* generate the beads only, hydrodynamics will be performed. */ |
144 |
+ |
if (args_info->beads_given) |
145 |
+ |
{ |
146 |
+ |
fprintf (stderr, "%s: `--beads' (`-b') option given more than once\n", CMDLINE_PARSER_PACKAGE); |
147 |
+ |
clear_args (); |
148 |
+ |
exit (EXIT_FAILURE); |
149 |
+ |
} |
150 |
+ |
args_info->beads_given = 1; |
151 |
+ |
args_info->beads_flag = !(args_info->beads_flag); |
152 |
+ |
break; |
153 |
|
|
154 |
+ |
|
155 |
|
case 0: /* Long option with no short option */ |
147 |
– |
/* viscosity of solvent. */ |
148 |
– |
if (strcmp (long_options[option_index].name, "viscosity") == 0) |
149 |
– |
{ |
150 |
– |
if (args_info->viscosity_given) |
151 |
– |
{ |
152 |
– |
fprintf (stderr, "%s: `--viscosity' option given more than once\n", CMDLINE_PARSER_PACKAGE); |
153 |
– |
clear_args (); |
154 |
– |
exit (EXIT_FAILURE); |
155 |
– |
} |
156 |
– |
args_info->viscosity_given = 1; |
157 |
– |
args_info->viscosity_arg = strtod (optarg, NULL); |
158 |
– |
break; |
159 |
– |
} |
160 |
– |
|
161 |
– |
/* diameter of beads(use with rough shell model). */ |
162 |
– |
else if (strcmp (long_options[option_index].name, "sigma") == 0) |
163 |
– |
{ |
164 |
– |
if (args_info->sigma_given) |
165 |
– |
{ |
166 |
– |
fprintf (stderr, "%s: `--sigma' option given more than once\n", CMDLINE_PARSER_PACKAGE); |
167 |
– |
clear_args (); |
168 |
– |
exit (EXIT_FAILURE); |
169 |
– |
} |
170 |
– |
args_info->sigma_given = 1; |
171 |
– |
args_info->sigma_arg = strtod (optarg, NULL); |
172 |
– |
break; |
173 |
– |
} |
174 |
– |
|
156 |
|
/* hydrodynamics model (support RoughShell and BeadModel). */ |
157 |
< |
else if (strcmp (long_options[option_index].name, "model") == 0) |
157 |
> |
if (strcmp (long_options[option_index].name, "model") == 0) |
158 |
|
{ |
159 |
|
if (args_info->model_given) |
160 |
|
{ |
184 |
|
fprintf (stderr, "%s: '--input' ('-i') option required\n", CMDLINE_PARSER_PACKAGE); |
185 |
|
missing_required_options = 1; |
186 |
|
} |
206 |
– |
if (! args_info->viscosity_given) |
207 |
– |
{ |
208 |
– |
fprintf (stderr, "%s: '--viscosity' option required\n", CMDLINE_PARSER_PACKAGE); |
209 |
– |
missing_required_options = 1; |
210 |
– |
} |
187 |
|
if (! args_info->model_given) |
188 |
|
{ |
189 |
|
fprintf (stderr, "%s: '--model' option required\n", CMDLINE_PARSER_PACKAGE); |