Skip to content

Commit e6040d8

Browse files
author
Martin D. Weinberg
committed
Comments only
1 parent a344e50 commit e6040d8

File tree

1 file changed

+31
-18
lines changed

1 file changed

+31
-18
lines changed

expui/BiorthBasis.cc

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ namespace BasisClasses
601601
}
602602

603603
double densfac = 1.0/(scale*scale*scale) * 0.25/M_PI;
604-
double potlfac = G/scale;
604+
double potlfac = G/scale; // Grav constant G is 1 by default
605605

606606
return
607607
{den0 * densfac, // 0
@@ -707,7 +707,7 @@ namespace BasisClasses
707707
}
708708
}
709709

710-
double potlfac = G/scale;
710+
double potlfac = G/scale; // Grav constant G is 1 by default
711711

712712
potr *= (-potlfac)/scale;
713713
pott *= (-potlfac);
@@ -1494,8 +1494,8 @@ namespace BasisClasses
14941494

14951495
sl->accumulated_eval(R, z, phi, tpotl0, tpotl, tpotR, tpotz, tpotp);
14961496

1497-
tpotl0 *= G;
1498-
tpotl *= G;
1497+
tpotl0 *= G; // Apply gravitational constant to
1498+
tpotl *= G; // potential and forces
14991499
tpotR *= G;
15001500
tpotz *= G;
15011501
tpotp *= G;
@@ -1520,7 +1520,7 @@ namespace BasisClasses
15201520

15211521
sl->accumulated_eval(R, z, phi, tpotl0, tpotl, tpotR, tpotz, tpotp);
15221522

1523-
tpotl0 *= G;
1523+
tpotl0 *= G; // Apply G to potential and forces
15241524
tpotl *= G;
15251525
tpotR *= G;
15261526
tpotz *= G;
@@ -1551,6 +1551,7 @@ namespace BasisClasses
15511551
double tpotx = tpotR*x/R - tpotp*y/R ;
15521552
double tpoty = tpotR*y/R + tpotp*x/R ;
15531553

1554+
// Apply G to forces on return
15541555
return {tpotx*G, tpoty*G, tpotz*G};
15551556
}
15561557

@@ -1562,7 +1563,7 @@ namespace BasisClasses
15621563
sl->accumulated_eval(R, z, phi, tpotl0, tpotl, tpotR, tpotz, tpotp);
15631564
tdens = sl->accumulated_dens_eval(R, z, phi, tdens0);
15641565

1565-
tpotl0 *= G;
1566+
tpotl0 *= G; // Apply G to potential and forces
15661567
tpotl *= G;
15671568
tpotR *= G;
15681569
tpotz *= G;
@@ -2053,6 +2054,7 @@ namespace BasisClasses
20532054
if (R>ortho->getRtable() or fabs(z)>ortho->getRtable()) {
20542055
double r2 = R*R + z*z;
20552056
double r = sqrt(r2);
2057+
// Apply G to potential and forces
20562058
pot0 = -G*totalMass/r;
20572059
rpot = -G*totalMass*R/(r*r2 + 10.0*std::numeric_limits<double>::min());
20582060
zpot = -G*totalMass*z/(r*r2 + 10.0*std::numeric_limits<double>::min());
@@ -2128,7 +2130,7 @@ namespace BasisClasses
21282130

21292131
den0 *= -1.0;
21302132
den1 *= -1.0;
2131-
pot0 *= -G;
2133+
pot0 *= -G; // Apply G to potential and forces
21322134
pot1 *= -G;
21332135
rpot *= -G;
21342136
zpot *= -G;
@@ -2158,6 +2160,7 @@ namespace BasisClasses
21582160
double r2 = R*R + z*z;
21592161
double r = sqrt(r2);
21602162

2163+
// Apply G to forces
21612164
rpot = -G*totalMass*R/(r*r2 + 10.0*std::numeric_limits<double>::min());
21622165
zpot = -G*totalMass*z/(r*r2 + 10.0*std::numeric_limits<double>::min());
21632166

@@ -2218,7 +2221,7 @@ namespace BasisClasses
22182221
}
22192222
}
22202223

2221-
rpot *= -G;
2224+
rpot *= -G; // Apply G to forces
22222225
zpot *= -G;
22232226
ppot *= -G;
22242227

@@ -2910,7 +2913,7 @@ namespace BasisClasses
29102913

29112914
den0 *= -1.0;
29122915
den1 *= -1.0;
2913-
pot0 *= -G;
2916+
pot0 *= -G; // Apply G to potential and forces
29142917
pot1 *= -G;
29152918
rpot *= -G;
29162919
ppot *= -G;
@@ -2977,10 +2980,10 @@ namespace BasisClasses
29772980
}
29782981
}
29792982

2983+
// Apply G to forces
29802984
rpot *= -G;
29812985
ppot *= -G;
29822986

2983-
29842987
double potx = rpot*x/R - ppot*y/R;
29852988
double poty = rpot*y/R + ppot*x/R;
29862989

@@ -3472,6 +3475,7 @@ namespace BasisClasses
34723475
}
34733476
}
34743477

3478+
// Apply G to forces on return
34753479
return {G*accx.real(), G*accy.real(), G*accz.real()};
34763480
}
34773481

@@ -3483,6 +3487,7 @@ namespace BasisClasses
34833487

34843488
auto [pot, den, frcx, frcy, frcz] = eval(x, y, z);
34853489

3490+
// Apply G to potential and forces on return
34863491
return {0, den, den, 0, pot*G, pot*G, frcx*G, frcy*G, frcz*G};
34873492
}
34883493

@@ -3500,10 +3505,11 @@ namespace BasisClasses
35003505
double potp = -frcx*sin(phi) + frcy*cos(phi);
35013506
double potz = frcz;
35023507

3503-
potR *= -G;
3508+
potR *= -G; // Apply G to forces
35043509
potp *= -G;
35053510
potz *= -G;
35063511

3512+
// Apply Go to potential on return
35073513
return {0, den, den, 0, pot*G, pot*G, potR, potz, potp};
35083514
}
35093515

@@ -3522,10 +3528,11 @@ namespace BasisClasses
35223528
double pott = frcx*cos(phi)*costh + frcy*sin(phi)*costh - frcz*sinth;
35233529
double potp = -frcx*sin(phi) + frcy*cos(phi);
35243530

3525-
potr *= -G;
3531+
potr *= -G; // Apply G to forces
35263532
pott *= -G;
35273533
potp *= -G;
35283534

3535+
// Apply G to potential on return
35293536
return {0, den, den, 0, pot*G, pot*G, potr, pott, potp};
35303537
}
35313538

@@ -3841,6 +3848,7 @@ namespace BasisClasses
38413848
double frcy = -frc(1).real();
38423849
double frcz = -frc(2).real();
38433850

3851+
// Apply G to potential and forces on return
38443852
return {0, den1, den1, 0, pot1*G, pot1*G, frcx*G, frcy*G, frcz*G};
38453853
}
38463854

@@ -3855,6 +3863,7 @@ namespace BasisClasses
38553863
// Get the basis fields
38563864
auto frc = ortho->get_force(expcoef, pos);
38573865

3866+
// Apply G to forces on return
38583867
return {-G*frc(0).real(), -G*frc(1).real(), -G*frc(2).real()};
38593868
}
38603869

@@ -3871,10 +3880,12 @@ namespace BasisClasses
38713880

38723881
// Get the basis fields
38733882
double den1 = ortho->get_dens(expcoef, pos).real();
3874-
double pot1 = ortho->get_pot (expcoef, pos).real();
3883+
double pot1 = ortho->get_pot (expcoef, pos).real() * G;
38753884

3876-
auto frc = ortho->get_force(expcoef, pos)*G;
3885+
auto frc = ortho->get_force(expcoef, pos) * G;
38773886

3887+
// Gravitational constant G applied to potenial and forces above
3888+
38783889
double frcx = frc(0).real(), frcy = frc(1).real(), frcz = frc(2).real();
38793890

38803891
double potR = frcx*cos(phi) + frcy*sin(phi);
@@ -3904,7 +3915,9 @@ namespace BasisClasses
39043915
double den1 = ortho->get_dens(expcoef, pos).real();
39053916
double pot1 = ortho->get_pot (expcoef, pos).real() * G;
39063917

3907-
auto frc = ortho->get_force(expcoef, pos);
3918+
auto frc = ortho->get_force(expcoef, pos) * G;
3919+
3920+
// Gravitational constant G applied to potential and forces above
39083921

39093922
double frcx = frc(0).real();
39103923
double frcy = frc(1).real();
@@ -3914,9 +3927,9 @@ namespace BasisClasses
39143927
double pott = frcx*cos(phi)*costh + frcy*sin(phi)*costh - frcz*sinth;
39153928
double potp = -frcx*sin(phi) + frcy*cos(phi);
39163929

3917-
potr *= -G;
3918-
pott *= -G;
3919-
potp *= -G;
3930+
potr *= -1.0;
3931+
pott *= -1.0;
3932+
potp *= -1.0;
39203933

39213934
return {0, den1, den1, 0, pot1, pot1, potr, pott, potp};
39223935
}

0 commit comments

Comments
 (0)