@@ -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