mdcore
0.1.5
|
#include "../config.h"
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include <math.h>
#include <float.h>
#include <string.h>
#include <limits.h>
#include "cycle.h"
#include "errs.h"
#include "fptype.h"
#include "lock.h"
#include "part.h"
#include "potential.h"
#include "potential_eval.h"
#include "cell.h"
#include "fifo.h"
#include "space.h"
#include "engine.h"
#include "angle.h"
Defines | |
#define | error(id) ( angle_err = errs_register( id , angle_err_msg[-(id)] , __LINE__ , __FUNCTION__ , __FILE__ ) ) |
Functions | |
int | angle_eval_div (struct angle *a, int N, int nr_threads, int cid_div, struct engine *e, double *epot_out) |
Evaluate a list of angleed interactions. | |
int | angle_eval (struct angle *a, int N, struct engine *e, double *epot_out) |
Evaluate a list of angleed interactions. | |
int | angle_evalf (struct angle *a, int N, struct engine *e, FPTYPE *f, double *epot_out) |
Evaluate a list of angleed interactions. | |
Variables | |
int | angle_err = angle_err_ok |
unsigned int | angle_rcount = 0 |
char * | angle_err_msg [2] |
#define error | ( | id | ) | ( angle_err = errs_register( id , angle_err_msg[-(id)] , __LINE__ , __FUNCTION__ , __FILE__ ) ) |
int angle_eval | ( | struct angle * | a, |
int | N, | ||
struct engine * | e, | ||
double * | epot_out | ||
) |
Evaluate a list of angleed interactions.
b | Pointer to an array of angle. |
N | Nr of angles in b . |
e | Pointer to the engine in which these angles are evaluated. |
epot_out | Pointer to a double in which to aggregate the potential energy. |
int angle_eval_div | ( | struct angle * | a, |
int | N, | ||
int | nr_threads, | ||
int | cid_div, | ||
struct engine * | e, | ||
double * | epot_out | ||
) |
Evaluate a list of angleed interactions.
b | Pointer to an array of angle. |
N | Nr of angles in b . |
nr_threads | Number of computational threads. |
cid_div | cell id modulus. |
e | Pointer to the engine in which these angles are evaluated. |
epot_out | Pointer to a double in which to aggregate the potential energy. |
Computes only the interactions on particles inside cells c
where c->id
% nr_threads == cid_div.
int angle_evalf | ( | struct angle * | a, |
int | N, | ||
struct engine * | e, | ||
FPTYPE * | f, | ||
double * | epot_out | ||
) |
Evaluate a list of angleed interactions.
b | Pointer to an array of angle. |
N | Nr of angles in b . |
e | Pointer to the engine in which these angles are evaluated. |
epot_out | Pointer to a double in which to aggregate the potential energy. |
This function differs from angle_eval in that the forces are added to the array f
instead of directly in the particle data.
int angle_err = angle_err_ok |
The ID of the last error.
char* angle_err_msg[2] |
{ "Nothing bad happened.", "An unexpected NULL pointer was encountered." }
unsigned int angle_rcount = 0 |