49 double poisson = 0.33;
52 if (mode == 0 && p1 == p2)
111 D = 0.75 * ((1.0 - poisson * poisson) / young +
112 (1.0 - poisson * poisson /
cells[p2].young));
117 dist * dist) / (2 * dist);
122 ((size * size * (size - r01) -
123 (size * size * size - r01 * r01 * r01) / 3) +
126 r02 * r02 * r02) / 3));
130 (2.0 * pow(xc, 5 / 2) / (5.0 * D)) * sqrt((size *
cells[p2].size) /
161 for (s = 0; s <
tnc; s++) {
166 if (!cellIntersectNode
193 for (s = 0; s <
tnc; s++) {
198 if (!cellIntersectNode
232 #pragma omp parallel for private(p,s,no)
233 for (p = 0; p <
lnc; p++) {
248 for (s = 0; s <
tnc; s++) {
253 if (cellIntersectNode
264 if (cellInsideNode(p, no))
275 for (rp = 0; rp <
numImp; rp++) {
291 printf(
" Potential computations...");
void computePotentialField()
double computeCCPotential(int p1, int p2, int mode)
contains various Timothy inline functions
struct partData * recvData
contains the most important global variables, arrays and defines
void potentialTraverseSubtree(int p, struct bht_node *no)
struct bht_node * child[8]
struct statisticsData statistics
struct bht_node * bht_root
void computeRemoteCellsPotential(int rp, struct bht_node *no)