tnormal-3d.c - slidergrid - grid of elastic sliders on a frictional surface
 (HTM) git clone git://src.adamsgaard.dk/slidergrid
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       tnormal-3d.c (1311B)
       ---
            1 #include "../../slidergrid/simulation.h"
            2 #include "../../slidergrid/grid.h"
            3 #include "../../slidergrid/slider.h"
            4 
            5 #include <stdio.h>
            6 
            7 // test a regular, 2d, orthogonal grid of sliders
            8 simulation setup_simulation()
            9 {
           10     // create empty simulation structure with default values
           11     simulation sim = create_simulation();
           12     sim.id = "normal-3d";
           13 
           14     // initialize grid of sliders
           15     int nx = 20;
           16     int ny = 20;
           17     int nz = 20;
           18     sim.N = nx*ny*nz;
           19     sim.sliders = create_regular_slider_grid(nx, ny, nz, 1.0, 1.0, 1.0);
           20 
           21     sim.bond_length_limit = 1.5;
           22 
           23     // set slider masses and moments of inertia
           24     int i;
           25     for (i=0; i<sim.N; i++) {
           26 
           27         // set default values
           28         initialize_slider_values(&sim.sliders[i]);
           29 
           30         // set custom values for certain parameters
           31         sim.sliders[i].mass = 10.0;
           32         sim.sliders[i].moment_of_inertia = 1.0e3;
           33         sim.sliders[i].bond_parallel_kv_stiffness = 1.0e4;
           34         //sim.sliders[i].bond_parallel_kv_viscosity = 1.0e2;
           35         sim.sliders[i].bond_shear_kv_stiffness = 1.0e5;
           36     }
           37 
           38     sim.sliders[200].vel.x = 1.0e1;
           39     sim.sliders[200].vel.z = 1.0e1;
           40 
           41     // set temporal parameters
           42     sim.time = 0.0;
           43     //sim.time_end = 100.0;
           44     //im.file_interval = 1.0;
           45     sim.time_end = 2.0;
           46     sim.file_interval = 1.0e-3;
           47 
           48     return sim;
           49 }