granular

granular dynamics simulation
git clone git://src.adamsgaard.dk/granular # fast
git clone https://src.adamsgaard.dk/granular.git # slow
Log | Files | Refs | README | LICENSE Back to index

commit de5b411b0d19c619085a9895f352df8005eece08
parent e9d0900081d592028d4f522e50d22ddd51209c73
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Thu, 18 Mar 2021 00:18:43 +0100

add preliminary granular.c

Diffstat:
Agranular.c | 50++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+), 0 deletions(-)

diff --git a/granular.c b/granular.c @@ -0,0 +1,50 @@ +#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); +} + +int +main(int argc, char *argv[]) +{ + /* struct simulation sim; */ + +#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(); + + return 0; +}