made some useful changes
This commit is contained in:
parent
fb7c109e0b
commit
0a734b8266
|
@ -1,8 +1,8 @@
|
|||
#include "interaction.h"
|
||||
#include "math.h"
|
||||
|
||||
#define WARN_NAN_OCCUR
|
||||
#define WARN_CORRECTED_R_0
|
||||
//#define WARN_NAN_OCCUR
|
||||
//#define WARN_CORRECTED_R_0
|
||||
|
||||
#define raise2(x) (x)*(x)
|
||||
|
||||
|
@ -87,6 +87,7 @@ interaction_ufunc_float2D
|
|||
, npy_intp * steps
|
||||
, void * data)
|
||||
{
|
||||
NPY_BEGIN_THREADS_DEF;
|
||||
npy_intp i;
|
||||
npy_intp j;
|
||||
npy_intp n = dimensions[0];
|
||||
|
@ -124,6 +125,7 @@ interaction_ufunc_float2D
|
|||
float this_x_j;
|
||||
float this_y_j;
|
||||
|
||||
NPY_BEGIN_THREADS;
|
||||
|
||||
for(i = 0; i < n; i++)
|
||||
{
|
||||
|
@ -152,9 +154,9 @@ interaction_ufunc_float2D
|
|||
else
|
||||
{
|
||||
long int rand = random();
|
||||
float random_angle = (((float)rand) / ((float)LONG_MAX)) * 2 * M_PI;
|
||||
float random_angle = (((float)rand) / ((float)RAND_MAX)) * 2 * M_PI;
|
||||
#ifdef WARN_CORRECTED_R_0
|
||||
printf("Warning: corrected r = 0 with random angle pi*%f (from %ld, %f)\n", random_angle / M_PI, rand, random_angle);
|
||||
printf("Warning: corrected r = 0 with random angle pi*%f\n", random_angle / M_PI);
|
||||
#endif
|
||||
delta_x_e = cosf(random_angle);
|
||||
delty_y_e = sinf(random_angle);
|
||||
|
@ -181,6 +183,7 @@ interaction_ufunc_float2D
|
|||
*(float *)(p_y_new + j*p_y_new_steps) -= dt*delta_p_y;
|
||||
}
|
||||
}
|
||||
NPY_END_THREADS;
|
||||
}
|
||||
static char interaction_types[] =
|
||||
{ NPY_FLOAT, NPY_FLOAT, NPY_FLOAT, NPY_FLOAT, NPY_FLOAT, NPY_FLOAT};
|
||||
|
|
12
particles.py
12
particles.py
|
@ -11,12 +11,12 @@ from coefficients import c
|
|||
#force_function = UFuncWrapper(0, c)
|
||||
#interaction2D = UFuncWrapper(1, c)
|
||||
|
||||
borders_x = [-100, 100]
|
||||
borders_y = [-100, 100]
|
||||
borders_x = [-10, 10]
|
||||
borders_y = [-10, 10]
|
||||
n_particles = 600
|
||||
frames = 1000
|
||||
frames = 100
|
||||
spawn_restriction = 1.1
|
||||
dt = 0.1
|
||||
dt = 0.001
|
||||
c[-1] = dt
|
||||
|
||||
x_coords = np.random.uniform(borders_x[0] / spawn_restriction, borders_x[1] / spawn_restriction, n_particles).astype(np.float16)
|
||||
|
@ -43,8 +43,8 @@ center_of_mass_history_y = deque([y_coords.mean()])
|
|||
brown = BrownIterator(-1, c
|
||||
, x_coords, y_coords
|
||||
, y_momenta, y_momenta
|
||||
#, borders_x, borders_y
|
||||
, [], []
|
||||
, borders_x, borders_y
|
||||
#, [], []
|
||||
, border_dampening=1
|
||||
, dt=dt)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user