Introduction
Introduction Statistics Contact Development Disclaimer Help
tAdded command line argument parsing - ns2dfd - 2D finite difference Navier Sto…
git clone git://src.adamsgaard.dk/ns2dfd
Log
Files
Refs
LICENSE
---
commit 712b7d25f92ae5ecd752f39c2d1578a39d973457
parent 323315d2db64d9b54393d45009b1f8ad3c75930c
Author: Anders Damsgaard <[email protected]>
Date: Sun, 2 Mar 2014 20:31:10 +0100
Added command line argument parsing
Diffstat:
M src/main.c | 47 ++++++++++++++++++++++++++++-…
1 file changed, 43 insertions(+), 4 deletions(-)
---
diff --git a/src/main.c b/src/main.c
t@@ -1,7 +1,12 @@
#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <unistd.h>
#include "file_io.h"
#include "utility.h"
+#define VERSION 0.1
+
int main(int argc, char** argv)
{
double t, t_end, tau;
t@@ -13,10 +18,44 @@ int main(int argc, char** argv)
int nx, ny;
double **P, **U, **V;
- read_file("unnamed.dat", &t, &t_end, &tau, &itermax,
- &epsilon, &omega, &gamma,
- &gx, &gy, &re, &w_left, &w_right, &w_top, &w_bottom,
- &dx, &dy, &nx, &ny, &P, &U, &V);
+ int c;
+ while ((c = getopt(argc, argv, "hv")) != -1)
+ switch (c)
+ {
+ case 'h':
+ printf("usage: %s [OPTIONS] FILENAME\n"
+ "where FILENAME is a valid input file.\n"
+ "-h\tDisplay help\n"
+ "-v\tDisplay version information\n", argv[0]);
+ return 0;
+ break;
+ case 'v':
+ printf("%s: Navier Stokes solver in 2D using finite differences, "
+ "version %.1f\n"
+ "Written by Anders Damsgaard, "
+ "https://github.com/anders-dc/ns2dfd\n", argv[0], VERSION);
+ return 0;
+ break;
+ case '?':
+ if (isprint(optopt))
+ fprintf(stderr, "Unknown option `-%c`.\n", optopt);
+ else
+ fprintf(stderr, "Unknown option character `\\x%x`.\n", optopt);
+ return 1;
+
+ default:
+ abort();
+ }
+
+ if (optind == argc - 1) {
+ read_file(argv[optind], &t, &t_end, &tau, &itermax,
+ &epsilon, &omega, &gamma,
+ &gx, &gy, &re, &w_left, &w_right, &w_top, &w_bottom,
+ &dx, &dy, &nx, &ny, &P, &U, &V);
+ } else {
+ fprintf(stderr, "%s: no input file specified.\n", argv[0]);
+ return 1;
+ }
printf("omega = %f\n", omega);
printf("P[0][0] = %f\n", P[0][0]);
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.