mdcore  0.1.5
Defines | Functions | Variables
/home/pedro/work/mdcore/src/dihedral.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 "dihedral.h"

Defines

#define error(id)   ( dihedral_err = errs_register( id , dihedral_err_msg[-(id)] , __LINE__ , __FUNCTION__ , __FILE__ ) )

Functions

int dihedral_eval_div (struct dihedral *d, int N, int nr_threads, int cid_div, struct engine *e, double *epot_out)
 Evaluate a list of dihedraled interactions.
int dihedral_eval_mod (struct dihedral *d, int N, int nr_threads, int cid_mod, struct engine *e, double *epot_out)
 Evaluate a list of dihedraled interactions.
int dihedral_eval (struct dihedral *d, int N, struct engine *e, double *epot_out)
 Evaluate a list of dihedraled interactions.
int dihedral_evalf (struct dihedral *d, int N, struct engine *e, FPTYPE *f, double *epot_out)
 Evaluate a list of dihedraled interactions.

Variables

int dihedral_err = dihedral_err_ok
unsigned int dihedral_rcount = 0
char * dihedral_err_msg [2]

Define Documentation

#define error (   id)    ( dihedral_err = errs_register( id , dihedral_err_msg[-(id)] , __LINE__ , __FUNCTION__ , __FILE__ ) )

Function Documentation

int dihedral_eval ( struct dihedral d,
int  N,
struct engine e,
double *  epot_out 
)

Evaluate a list of dihedraled interactions.

Parameters:
bPointer to an array of dihedral.
NNr of dihedrals in b.
ePointer to the engine in which these dihedrals are evaluated.
epot_outPointer to a double in which to aggregate the potential energy.
Returns:
dihedral_err_ok or <0 on error (see dihedral_err)
int dihedral_eval_div ( struct dihedral d,
int  N,
int  nr_threads,
int  cid_div,
struct engine e,
double *  epot_out 
)

Evaluate a list of dihedraled interactions.

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

Computes only the interactions on particles inside cells c where c->id % nr_threads == cid_div.

int dihedral_eval_mod ( struct dihedral d,
int  N,
int  nr_threads,
int  cid_mod,
struct engine e,
double *  epot_out 
)

Evaluate a list of dihedraled interactions.

Parameters:
bPointer to an array of dihedral.
NNr of dihedrals in b.
nr_threadsNumber of computational threads.
cid_modcell id modulus.
ePointer to the engine in which these dihedrals are evaluated.
epot_outPointer to a double in which to aggregate the potential energy.
Returns:
dihedral_err_ok or <0 on error (see dihedral_err)

Computes only the interactions on particles inside cells c where c->id % nr_threads == cid_mod.

int dihedral_evalf ( struct dihedral d,
int  N,
struct engine e,
FPTYPE *  f,
double *  epot_out 
)

Evaluate a list of dihedraled interactions.

Parameters:
bPointer to an array of dihedral.
NNr of dihedrals in b.
ePointer to the engine in which these dihedrals are evaluated.
epot_outPointer to a double in which to aggregate the potential energy.

This function differs from dihedral_eval in that the forces are added to the array f instead of directly in the particle data.

Returns:
dihedral_err_ok or <0 on error (see dihedral_err)

Variable Documentation

The ID of the last error.

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