mdcore  0.1.5
Defines | Functions | Variables
/home/pedro/work/mdcore/src/angle.c File Reference
#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 Documentation

#define error (   id)    ( angle_err = errs_register( id , angle_err_msg[-(id)] , __LINE__ , __FUNCTION__ , __FILE__ ) )

Function Documentation

int angle_eval ( struct angle a,
int  N,
struct engine e,
double *  epot_out 
)

Evaluate a list of angleed interactions.

Parameters:
bPointer to an array of angle.
NNr of angles in b.
ePointer to the engine in which these angles are evaluated.
epot_outPointer to a double in which to aggregate the potential energy.
Returns:
angle_err_ok or <0 on error (see angle_err)
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.

Parameters:
bPointer to an array of angle.
NNr of angles in b.
nr_threadsNumber of computational threads.
cid_divcell id modulus.
ePointer to the engine in which these angles are evaluated.
epot_outPointer to a double in which to aggregate the potential energy.
Returns:
angle_err_ok or <0 on error (see angle_err)

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.

Parameters:
bPointer to an array of angle.
NNr of angles in b.
ePointer to the engine in which these angles are evaluated.
epot_outPointer 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.

Returns:
angle_err_ok or <0 on error (see angle_err)

Variable Documentation

The ID of the last error.

char* angle_err_msg[2]
Initial value:
 {
        "Nothing bad happened.",
    "An unexpected NULL pointer was encountered."
        }
unsigned int angle_rcount = 0
 All Data Structures Files Functions Variables Typedefs Enumerator Defines