Lemina
A molecular dynamics package for network, granular material and point particles with a range of interaction potential.
 
Loading...
Searching...
No Matches
EvalVacf.c File Reference
#include <stdio.h>
#include "global.h"
+ Include dependency graph for EvalVacf.c:

Go to the source code of this file.

Functions

void AccumVacf ()
 
void EvalVacf ()
 

Function Documentation

◆ AccumVacf()

void AccumVacf ( )

Definition at line 27 of file AccumVacf.c.

27 {
28 double fac;
29 int j, nb;
30 for(nb = 1 ; nb <= nBuffAcf ; nb ++){
31 if(indexAcf[nb] == nValAcf){
32 for(j = 1 ; j <= nValAcf; j ++){
33 viscAcfAv[j] += viscAcf[nb][j];
34 }
35 indexAcf[nb] = 0;
36 countAcfAv ++;
38 fac = 1./(kinEnergy*region[1]*region[2]*limitAcfAv);
40 PrintVacf();
41 ZeroVacf();
42} } } }
void PrintVacf()
Definition PrintVacf.c:25
double Integrate(double *, int)
Definition Integrate.c:25
void ZeroVacf()
Definition ZeroVacf.c:25
double * viscAcfAv
Definition global.h:99
double viscAcfInt
Definition global.h:99
double region[2+1]
double kinEnergy
Definition global.h:20
int nValAcf
int nBuffAcf
Definition global.h:100
int stepAcf
Definition global.h:100
double * indexAcf
double deltaT
Definition global.h:20
double ** viscAcf
Definition global.h:99
int limitAcfAv
Definition global.h:100
int countAcfAv
Definition global.h:100

References countAcfAv, deltaT, indexAcf, Integrate(), kinEnergy, limitAcfAv, nBuffAcf, nValAcf, PrintVacf(), region, stepAcf, viscAcf, viscAcfAv, viscAcfInt, and ZeroVacf().

Referenced by EvalVacf().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EvalVacf()

void EvalVacf ( )

Definition at line 26 of file EvalVacf.c.

26 {
27 int n, nb, ni;
28 double viscVec = 0.;
29 double v[3];
30 for(n = 1 ; n <= nAtom ; n ++){
31 v[1] = vx[n] - 0.5*ax[n]*deltaT;
32 v[2] = vy[n] - 0.5*ay[n]*deltaT;
33 viscVec += v[1]*v[2];
34 }
35 viscVec += rfAtom;
36 for(nb = 1 ; nb <= nBuffAcf ; nb ++){
37 indexAcf[nb] ++;
38 if(indexAcf[nb] <= 0)continue;
39 if(indexAcf[nb] == 1){
40 viscAcfOrg[nb] = viscVec;
41 }
42 ni = indexAcf[nb];
43 viscAcf[nb][ni] = viscAcfOrg[nb]*viscVec;
44 }
45 AccumVacf();
46}
void AccumVacf()
Definition AccumVacf.c:27
int nAtom
Definition global.h:24
double rfAtom
double * ay
Definition global.h:17
double * vx
Definition global.h:17
double * ax
Definition global.h:17
double * viscAcfOrg
Definition global.h:99
double * vy
Definition global.h:17

References AccumVacf(), ax, ay, deltaT, indexAcf, nAtom, nBuffAcf, rfAtom, viscAcf, viscAcfOrg, vx, and vy.

+ Here is the call graph for this function: