tchange naming of sim functions, and use function for new structs - granular - granular dynamics simulation
(HTM) git clone git://src.adamsgaard.dk/granular
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 7d5760dc6d678e68b3f8c177da45149e94358d23
(DIR) parent 6330f3f7cea1e7aad5da9192277f9631aee4e056
(HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Sun, 21 Mar 2021 08:12:09 +0100
change naming of sim functions, and use function for new structs
Diffstat:
M granular2vtu.c | 10 ++++------
M granularpacking.c | 7 +++----
M simulation.c | 18 +++++++++++++-----
M simulation.h | 11 ++++++-----
4 files changed, 26 insertions(+), 20 deletions(-)
---
(DIR) diff --git a/granular2vtu.c b/granular2vtu.c
t@@ -13,16 +13,14 @@ main(void)
char *line = NULL;
size_t linesize = 0;
ssize_t linelen;
- struct simulation sim;
+ struct simulation sim = sim_new();
- init_sim(&sim);
-
while ((linelen = getline(&line, &linesize, stdin)) > 0)
- add_grain(&sim, grain_read(line));
+ sim_add_grain(&sim, grain_read(line));
- print_grains_vtk(stdout, sim.grains, sim.np);
+ sim_print_grains_vtk(stdout, sim.grains, sim.np);
- free_sim(&sim);
+ sim_free(&sim);
free(line);
return 0;
(DIR) diff --git a/granularpacking.c b/granularpacking.c
t@@ -8,16 +8,15 @@
int
main(void)
{
- struct simulation sim;
-
size_t n[3], np = 0;
n[0] = 10; n[1] = 5; n[2] = 1;
double *origo = zeros(3);
+ struct simulation sim = sim_new();
/* np = rectangular_packing(&sim.grains, n, 1.0, 1.0, random_value_uniform, 0.0, &origo); */
np = triangular_packing(&sim.grains, n, 0.2, 1.0, random_value_uniform, 0.0, &origo);
- print_grains(stdout, sim.grains, np);
+ sim_print_grains(stdout, sim.grains, np);
free(origo);
- free_sim(&sim);
+ sim_free(&sim);
}
(DIR) diff --git a/simulation.c b/simulation.c
t@@ -6,8 +6,16 @@
#include "arrays.h"
#include "util.h"
+struct simulation
+sim_new(void)
+{
+ struct simulation sim;
+ sim_defaults(&sim);
+ return sim;
+}
+
void
-init_sim(struct simulation *sim)
+sim_defaults(struct simulation *sim)
{
snprintf(sim->name, sizeof(sim->name), DEFAULT_SIMULATION_NAME);
sim->np = 0;
t@@ -23,7 +31,7 @@ init_sim(struct simulation *sim)
}
void
-free_sim(struct simulation *sim)
+sim_free(struct simulation *sim)
{
free(sim->gravacc);
free(sim->origo);
t@@ -32,7 +40,7 @@ free_sim(struct simulation *sim)
}
void
-add_grain(struct simulation *sim, const struct grain *g)
+sim_add_grain(struct simulation *sim, const struct grain *g)
{
if (!(sim->grains = realloc(sim->grains, sim->np * sizeof(struct grain))))
errx(1, "%s: sim.grains realloc", __func__);
t@@ -41,7 +49,7 @@ add_grain(struct simulation *sim, const struct grain *g)
}
void
-print_grains(FILE *stream, const struct grain *grains, size_t n)
+sim_print_grains(FILE *stream, const struct grain *grains, size_t n)
{
size_t i;
t@@ -50,7 +58,7 @@ print_grains(FILE *stream, const struct grain *grains, size_t n)
}
void
-print_grains_vtk(FILE *stream, const struct grain *grains, size_t n)
+sim_print_grains_vtk(FILE *stream, const struct grain *grains, size_t n)
{
size_t i;
(DIR) diff --git a/simulation.h b/simulation.h
t@@ -32,12 +32,13 @@ struct simulation {
struct grain *grains;
};
-void init_sim(struct simulation *sim);
-void free_sim(struct simulation *sim);
+struct simulation sim_new(void);
+void sim_defaults(struct simulation *sim);
+void sim_free(struct simulation *sim);
-void add_grain(struct simulation *sim, const struct grain *g);
+void sim_add_grain(struct simulation *sim, const struct grain *g);
-void print_grains(FILE *stream, const struct grain *grains, size_t n);
-void print_grains_vtk(FILE *stream, const struct grain *grains, size_t n);
+void sim_print_grains(FILE *stream, const struct grain *grains, size_t n);
+void sim_print_grains_vtk(FILE *stream, const struct grain *grains, size_t n);
#endif