tmove grain read from stdin to simulation.c and clean up includes - granular - granular dynamics simulation
(HTM) git clone git://src.adamsgaard.dk/granular
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 40ba40a9674ffd919a157cab8d4ea0089e0f5fe2
(DIR) parent ef24a161a54a064dd7afc2b6c6425e3bca3748dd
(HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Thu, 25 Mar 2021 22:03:32 +0100
move grain read from stdin to simulation.c and clean up includes
Diffstat:
M Makefile | 1 +
M granular.c | 42 +++++--------------------------
M granular2vtu.c | 18 +-----------------
M simulation.c | 17 +++++++++++++++++
M simulation.h | 1 +
5 files changed, 26 insertions(+), 53 deletions(-)
---
(DIR) diff --git a/Makefile b/Makefile
t@@ -9,6 +9,7 @@ MANPREFIX = ${PREFIX}/share/man
DOCPREFIX = ${PREFIX}/share/doc/${NAME}
BIN = \
+ granular\
granular2vtu\
granularpacking
SCRIPTS = \
(DIR) diff --git a/granular.c b/granular.c
t@@ -1,50 +1,20 @@
-#include <stdio.h>
#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-#include <err.h>
-
-#include "grain.h"
-
-#include "arg.h"
-
-/* relative tolerance criteria for the solvers */
-#define RTOL 1e-5
-#define MAX_ITER_1D_FD_SIMPLE_SHEAR 100000
-
-/* uncomment to print time spent per time step to stdout */
-/* #define BENCHMARK_PERFORMANCE */
-
-char *argv0;
-
-static void
-usage(void)
-{
- errx(1, "usage: %s "
- "[name]\n", argv0);
-}
+#include "simulation.h"
int
main(int argc, char *argv[])
{
- /* struct simulation sim; */
+ struct simulation sim = sim_new();
#ifdef __OpenBSD__
if (pledge("stdio wpath cpath", NULL) == -1)
err(2, "pledge failed");
#endif
- ARGBEGIN {
- default:
- usage();
- } ARGEND;
-
- /*if (argc == 1 && argv[0])
- snprintf(sim.name, sizeof(sim.name), "%s", argv[0]);
- else */if (argc > 1)
- usage();
+ sim_defaults(&sim);
+ sim_read_grains(&sim, stdin);
+ sim_print_grains_vtk(stdout, &sim);
+ sim_free(&sim);
return 0;
}
(DIR) diff --git a/granular2vtu.c b/granular2vtu.c
t@@ -1,21 +1,9 @@
-#ifndef __OpenBSD__
-#define _POSIX_C_SOURCE 200809L
-#endif
-#include <unistd.h>
-#include <stdio.h>
#include <stdlib.h>
-#include <err.h>
-#include "grain.h"
#include "simulation.h"
-#include "arrays.h"
-#include "util.h"
int
main(void)
{
- char *line = NULL;
- size_t linesize = 0;
- ssize_t linelen;
struct simulation sim = sim_new();
#ifdef __OpenBSD__
t@@ -23,13 +11,9 @@ main(void)
err(2, "pledge failed");
#endif
- while ((linelen = getline(&line, &linesize, stdin)) > 0)
- sim_add_grain(&sim, grain_read(line));
-
+ sim_read_grains(&sim, stdin);
sim_print_grains_vtk(stdout, &sim);
-
sim_free(&sim);
- free(line);
return 0;
}
(DIR) diff --git a/simulation.c b/simulation.c
t@@ -1,3 +1,7 @@
+#ifndef __OpenBSD__
+#define _POSIX_C_SOURCE 200809L
+#endif
+#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <err.h>
t@@ -74,6 +78,19 @@ sim_add_grain(struct simulation *sim, struct grain *g)
}
void
+sim_read_grains(struct simulation *sim, FILE *stream)
+{
+ char *line = NULL;
+ size_t linesize = 0;
+ ssize_t linelen;
+
+ while ((linelen = getline(&line, &linesize, stream)) > 0)
+ sim_add_grain(sim, grain_read(line));
+
+ free(line);
+}
+
+void
print_grains(FILE *stream, const struct grain *grains, size_t n)
{
size_t i;
(DIR) diff --git a/simulation.h b/simulation.h
t@@ -37,6 +37,7 @@ void sim_defaults(struct simulation *sim);
void sim_free(struct simulation *sim);
void sim_add_grain(struct simulation *sim, struct grain *g);
+void sim_read_grains(struct simulation *sim, FILE *stream);
void print_grains(FILE *stream, const struct grain *grains, size_t n);
void sim_print_grains(FILE *stream, const struct simulation *sim);