tadd grain volume and mass calculations - granular - granular dynamics simulation
(HTM) git clone git://src.adamsgaard.dk/granular
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 47f03a2170cd92c674ac784fb1cf73b1df90f9aa
(DIR) parent 1dcf2dc7c9a6fa0c1782f141144002f84d90f4c6
(HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Thu, 18 Mar 2021 07:44:38 +0100
add grain volume and mass calculations
Diffstat:
M grain.c | 17 +++++++++++++++--
M grain.h | 1 +
2 files changed, 16 insertions(+), 2 deletions(-)
---
(DIR) diff --git a/grain.c b/grain.c
t@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <math.h>
#include "granular.h"
#include "util.h"
#include "grain.h"
t@@ -43,7 +44,7 @@ print_padded_nd_double(FILE *stream, const double *arr)
{
size_t i;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < ND; i++)
if (i < ND)
fprintf(stream, "%.17g\t", arr[i]);
else
t@@ -55,7 +56,7 @@ print_padded_nd_int(FILE *stream, const size_t *arr)
{
size_t i;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < ND; i++)
if (i < ND)
fprintf(stream, "%ld\t", arr[i]);
else
t@@ -147,3 +148,15 @@ check_grain_values(const struct grain *g)
return status;
}
+
+double
+grain_volume(const struct grain *g)
+{
+ return 4.0 / 3.0 * PI * pow(g->radius, 3);
+}
+
+double
+grain_mass(const struct grain *g)
+{
+ return grain_volume(g) * g->density;
+}
(DIR) diff --git a/grain.h b/grain.h
t@@ -37,5 +37,6 @@ void init_grain(struct grain *g);
void print_grain(FILE *stream, const struct grain *g);
int check_grain_values(const struct grain *g);
double grain_volume(const struct grain *g);
+double grain_mass(const struct grain *g);
#endif