ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/applications/hydrodynamics/HydroCmd.c
(Generate patch)

Comparing trunk/OOPSE-4/src/applications/hydrodynamics/HydroCmd.c (file contents):
Revision 2596 by tim, Wed Feb 22 20:35:16 2006 UTC vs.
Revision 2675 by tim, Wed Mar 29 18:09:26 2006 UTC

# Line 35 | Line 35 | cmdline_parser_print_help (void)
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  
# Line 69 | Line 68 | cmdline_parser (int argc, char * const *argv, struct g
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();
# Line 95 | Line 94 | cmdline_parser (int argc, char * const *argv, struct g
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  
# Line 142 | Line 140 | cmdline_parser (int argc, char * const *argv, struct g
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                {
# Line 203 | Line 184 | cmdline_parser (int argc, char * const *argv, struct g
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);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines