Introduction
Introduction Statistics Contact Development Disclaimer Help
tgrain.h - granular - granular dynamics simulation
git clone git://src.adamsgaard.dk/granular
Log
Files
Refs
README
LICENSE
---
tgrain.h (1776B)
---
1 #ifndef GRANULAR_GRAIN_
2 #define GRANULAR_GRAIN_
3
4 #include <stdio.h>
5 #include "contact.h"
6
7 #define MAXCONTACTS 32
8
9 struct grain {
10
11 double diameter;
12 double pos[3];
13 double vel[3];
14 double acc[3];
15 int acc_lock[3];
16 double force[3];
17 double angpos[3];
18 double angvel[3];
19 double angacc[3];
20 double torque[3];
21 double disp[3];
22 double forceext[3];
23 double density;
24 int fixed;
25 int rotating;
26 int enabled;
27 double youngs_modulus;
28 double poissons_ratio;
29 double friction_coeff;
30 double damping_n;
31 double damping_t;
32 double tensile_strength;
33 double shear_strength;
34 double fracture_toughness;
35 size_t gridpos[3];
36 size_t ncontacts;
37 struct contact contacts[MAXCONTACTS];
38 double contact_stress[3];
39 double thermal_energy;
40 int color;
41 };
42
43 struct grain grain_new(void);
44 void grain_defaults(struct grain *g);
45
46 void grain_print(FILE *stream, const struct grain *g);
47 struct grain * grain_read(char *line);
48
49 int grain_check_values(const struct grain *g);
50
51 double grain_volume(const struct grain *g);
52 double grain_mass(const struct grain *g);
53 double grain_moment_of_inertia(const struct grain *g);
54 void grain_zero_kinematics(struct grain *g);
55 void grain_force_reset(struct grain *g);
56 double grain_translational_kinetic_energy(const struct grain *g);
57 double grain_rotational_kinetic_energy(const struct grain *g);
58 double grain_kinetic_energy(const struct grain *g);
59 double grain_thermal_energy(const struct grain *g);
60 void grain_temporal_integration(struct grain *g, double dt);
61
62 void grain_register_contact(struct grain *g, size_t i, size_t j,
63 double centerdist[3], double overlap);
64
65 double grain_stiffness_normal(const struct grain *g);
66 double grain_stiffness_tangential(const struct grain *g);
67 double grain_collision_time(const struct grain *g);
68
69 #endif
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.