diff options
author | jthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87> | 2002-06-16 19:48:47 +0000 |
---|---|---|
committer | jthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87> | 2002-06-16 19:48:47 +0000 |
commit | dfe7d766284b843bae39dfe532a0eb94389e887b (patch) | |
tree | 0aac00cff86312cf65ff7dc32fde3177755b79ae /src | |
parent | 1d20738d4e3fca049dcddadd12bddcba3b35a320 (diff) |
[[This is a redo of my "cvs import" of 2002/06/11, this time using proper
cvs operations (commit/delete/add) to preserve the full CVS history of this
thorn.]]
This is a major cleanup/revision of AEIThorns/Exact.
Major user-visible changes:
* major expansion of doc/documentation.tex
* major expansion of documentation in param.ccl file
* rename all parameters, systematize spacetime/coordinate/parameter names
(there is a perl script in par/convert-pars.pl to convert old parameter
files to the new names)
* [from Mitica Vulcanov] many additions and fixes to
cosmological solutions and Schwarzschild-Lemaitre
* fix stress-energy tensor computations so they work -- before they were
all disabled in CVS (INCLUDES lines were commented out in interface.ccl)
due to requiring excessive friendship with evolution thorns
and/or public parameters; new code copies parameters to restricted
grid scalars, which Cactus automagically "pushes" to friends
* added some more tests to testsuite, though these don't yet work fully
Additional internal changes:
* rename many Fortran subroutines (and a few C ones too)
so their names start with the thorn name
to reduce the chances of name collisions with other thorns
* move all metrics to subdirectory so the main source directory isn't
so cluttered
* move two files containing subroutines which were never called
(they didn't belong in this thorn, but somehow got into cvs by accident)
into new archive/ directory
* some (small) improvements in efficiency -- the exact_model parameter
is now decoded from a keyword (string) to an integer once at INITIAL,
and that integer tested by the stress-energy tensor code,
rather than requiring a separate series of string tests at each grid
point (!) like the old stress-energy tensor code did
Files moved/renamed from ../ to this directory
Minkowski_gauge_wave.F moved from ../GaugeWave.F
Bianchi_I.F moved from ../bianchiI.F
de_Sitter.F moved from ../desitter.F
Schwarzschild_EF.F moved from ../finkelstein.F
Minkowski_shift.F moved from ../flatshift.F
Kasner_like.F moved from ../kasner_l.F
Milne.F moved from ../milne.F
Schwarzschild_Novikov.F moved from ../novikov.F
boost_rotation_symmetric.F moved from ../boostrotmetric.F
Minkowski_funny.F moved from ../flatfunny.F
Goedel.F moved from ../godel.F
Kerr_BoyerLindquist.F moved from ../kerrcart.F
Minkowski.F moved from ../minkowski.F
Robertson_Walker.F moved from ../rob-wal.F
bowl.F moved from ../bowl.F
Thorne_fakebinary.F moved from ../fakebinary.F
Schwarzschild_PG.F moved from ../flatschwarz.F
Kerr_KerrSchild.F moved from ../kerrschild.F
multi_BH.F moved from ../multiBH.F
constant_density_star.F moved from ../starschwarz.F
New files:
Alvi.F for Alvi metric, from Nina Jansen
Alvidef.c for Alvi metric, from Nina Jansen
Bertotti.F from Mitica Vulcanov
Kasner_axisymmetric.F from Mitica Vulcanov
Kasner_generalized.F from Mitica Vulcanov
Lemaitre.F from Mitica Vulcanov
Schwarzschild_Lemaitre.F from Mitica Vulcanov
anti_de_Sitter_Lambda.F from Mitica Vulcanov
de_Sitter_Lambda.F from Mitica Vulcanov
Changed files:
make.code.defn
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/Exact/trunk@103 e296648e-0e4f-0410-bd07-d597d9acff87
Diffstat (limited to 'src')
30 files changed, 8016 insertions, 0 deletions
diff --git a/src/metrics/Alvi.F b/src/metrics/Alvi.F new file mode 100644 index 0000000..81789e6 --- /dev/null +++ b/src/metrics/Alvi.F @@ -0,0 +1,227 @@ +C The Alvi metric. Full description of this metric is given +C in gr-qc/9912113 . +C Author: Nina Jansen (jansen@aei-potsdam.mpg.de) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Alvi( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + + CCTK_REAL x, y, z, t + logical firstcall + + CCTK_REAL m1,m2,b + + data firstcall /.true./ + + save firstcall, m1,m2,b + + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + + CCTK_REAL rin1,rin2,rout,x1,x2, r1, r2, r3, results(10) + + if (firstcall) then + m1 = Alvi__mass1 + m2 = Alvi__mass2 + b = Alvi__separation + + firstcall = .false. + end if + + rin1 = dsqrt(m1*b) + rin2 = dsqrt(m2*b) + rout = b*dsqrt(b)/(2.0d0*dsqrt(m1+m2)) + + x1 = b + + x2 = -b + + r1 = dsqrt((x-x1)**2.0D0 + y**2.0D0 + z**2.0D0) + + + r2 = dsqrt((x-x2)**2.0D0 + y**2.0D0 + z**2.0D0) + + + r3 = dsqrt(x**2.0D0 + y**2.0D0 + z**2.0D0) + + if (r1 .le. rin1) then + + call Alvireg1(x,y,z,m1,m2,b,results) + + gdtt = results(1) + gdtx = results(2) + gdty = results(3) + gdtz = results(4) + gdxx = results(5) + gdyy = results(8) + gdzz = results(10) + gdxy = results(9) + gdyz = results(9) + gdzx = results(7) + + else if (r2 .le. rin2) then + + call Alvireg2(x,y,z,m1,m2,b,results) + + gdtt = results(1) + gdtx = results(2) + gdty = results(3) + gdtz = results(4) + gdxx = results(5) + gdyy = results(8) + gdzz = results(10) + gdxy = results(9) + gdyz = results(9) + gdzx = results(7) + + else if ((r3 .le. rout) .and. (r2 .gt. rin2) .and. (r1 .gt. rin1)) then + call Alvireg3(x,y,z,m1,m2,b,results) + + gdtt = results(1) + gdtx = results(2) + gdty = results(3) + gdtz = results(4) + gdxx = results(5) + gdyy = results(8) + gdzz = results(10) + gdxy = results(9) + gdyz = results(9) + gdzx = results(7) + + else if (r3 .gt. rout) then + call Alvireg4(x,y,z,m1,m2,b,results) + + gdtt = results(1) + gdtx = results(2) + gdty = results(3) + gdtz = results(4) + gdxx = results(5) + gdyy = results(8) + gdzz = results(10) + gdxy = results(9) + gdyz = results(9) + gdzx = results(7) + + else + + print *,'problem!' + + end if + + gutt = + $ (gdzx**2*gdyy - 2*gdxy*gdzx*gdyz + gdxy**2*gdzz + gdxx*(gdyz**2 + $ - gdyy*gdzz))/ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 + + $ gdxx*gdyy) - 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 + + $ gdtt*gdxx*gdyz**2 + 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - + $ gdty*gdxx*gdyz + gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz + + $ gdtx**2*gdyy*gdzz - gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 + + $ gdxx*gdzz) + 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz)) + + gutx = + $ (-(gdtz*gdzx*gdyy) + gdtz*gdxy*gdyz + gdty*gdzx*gdyz - + $ gdtx*gdyz**2 - gdty*gdxy*gdzz + gdtx*gdyy*gdzz)/ + $ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 + gdxx*gdyy) - + $ 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 + gdtt*gdxx*gdyz**2 + + $ 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - gdty*gdxx*gdyz + + $ gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz + gdtx**2*gdyy*gdzz - + $ gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 + gdxx*gdzz) + + $ 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz)) + + + guty = + $ (-(gdtz*gdxy*gdzx) + gdty*gdzx**2 + gdtz*gdxx*gdyz - + $ gdtx*gdzx*gdyz - gdty*gdxx*gdzz + gdtx*gdxy*gdzz)/ + $ (-(gdtt*gdzx**2*gdyy) + gdtz**2*(gdxy**2 - gdxx*gdyy) + + $ 2*gdtt*gdxy*gdzx*gdyz + gdtx**2*gdyz**2 - gdtt*gdxx*gdyz**2 - + $ 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - gdty*gdxx*gdyz + + $ gdtx*gdxy*gdyz) - gdtt*gdxy**2*gdzz - gdtx**2*gdyy*gdzz + + $ gdtt*gdxx*gdyy*gdzz + gdty**2*(gdzx**2 - gdxx*gdzz) + + $ gdty*(-2*gdtx*gdzx*gdyz + 2*gdtx*gdxy*gdzz)) + + + + + + gutz = + $ (-(gdty*gdxy*gdzx) + gdtx*gdzx*gdyy + gdtz*(gdxy**2 - gdxx*gdyy) + $ + gdty*gdxx*gdyz - gdtx*gdxy*gdyz)/ (-(gdtt*gdzx**2*gdyy) + + $ gdtz**2*(gdxy**2 - gdxx*gdyy) + 2*gdtt*gdxy*gdzx*gdyz + + $ gdtx**2*gdyz**2 - gdtt*gdxx*gdyz**2 - 2*gdtz*(gdty*gdxy*gdzx - + $ gdtx*gdzx*gdyy - gdty*gdxx*gdyz + gdtx*gdxy*gdyz) - + $ gdtt*gdxy**2*gdzz - gdtx**2*gdyy*gdzz + gdtt*gdxx*gdyy*gdzz + + $ gdty**2*(gdzx**2 - gdxx*gdzz) + gdty*(-2*gdtx*gdzx*gdyz + + $ 2*gdtx*gdxy*gdzz)) + guxx = + $ (gdtz**2*gdyy - 2*gdty*gdtz*gdyz + gdty**2*gdzz + gdtt*(gdyz**2 + $ - gdyy*gdzz))/ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 + + $ gdxx*gdyy) - 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 + + $ gdtt*gdxx*gdyz**2 + 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - + $ gdty*gdxx*gdyz + gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz + + $ gdtx**2*gdyy*gdzz - gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 + + $ gdxx*gdzz) + 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz)) + guyy = + $ (gdtz**2*gdxx - 2*gdtx*gdtz*gdzx + gdtx**2*gdzz + gdtt*(gdzx**2 + $ - gdxx*gdzz))/ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 + + $ gdxx*gdyy) - 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 + + $ gdtt*gdxx*gdyz**2 + 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - + $ gdty*gdxx*gdyz + gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz + + $ gdtx**2*gdyy*gdzz - gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 + + $ gdxx*gdzz) + 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz)) + guzz = + $ (gdty**2*gdxx - 2*gdtx*gdty*gdxy + gdtx**2*gdyy + gdtt*(gdxy**2 + $ - gdxx*gdyy))/ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 + + $ gdxx*gdyy) - 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 + + $ gdtt*gdxx*gdyz**2 + 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - + $ gdty*gdxx*gdyz + gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz + + $ gdtx**2*gdyy*gdzz - gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 + + $ gdxx*gdzz) + 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz)) + guxy = + $ (gdtz**2*gdxy + gdtt*gdzx*gdyz - gdtz*(gdty*gdzx + gdtx*gdyz) + + $ gdtx*gdty*gdzz - gdtt*gdxy*gdzz)/ (-(gdtt*gdzx**2*gdyy) + + $ gdtz**2*(gdxy**2 - gdxx*gdyy) + 2*gdtt*gdxy*gdzx*gdyz + + $ gdtx**2*gdyz**2 - gdtt*gdxx*gdyz**2 - 2*gdtz*(gdty*gdxy*gdzx - + $ gdtx*gdzx*gdyy - gdty*gdxx*gdyz + gdtx*gdxy*gdyz) - + $ gdtt*gdxy**2*gdzz - gdtx**2*gdyy*gdzz + gdtt*gdxx*gdyy*gdzz + + $ gdty**2*(gdzx**2 - gdxx*gdzz) + gdty*(-2*gdtx*gdzx*gdyz + + $ 2*gdtx*gdxy*gdzz)) + guyz = + $ (-(gdty*gdtz*gdxx) + gdtx*gdtz*gdxy + gdtx*gdty*gdzx - + $ gdtt*gdxy*gdzx - gdtx**2*gdyz + gdtt*gdxx*gdyz)/ + $ (gdtt*gdzx**2*gdyy + gdtz**2*(-gdxy**2 + gdxx*gdyy) - + $ 2*gdtt*gdxy*gdzx*gdyz - gdtx**2*gdyz**2 + gdtt*gdxx*gdyz**2 + + $ 2*gdtz*(gdty*gdxy*gdzx - gdtx*gdzx*gdyy - gdty*gdxx*gdyz + + $ gdtx*gdxy*gdyz) + gdtt*gdxy**2*gdzz + gdtx**2*gdyy*gdzz - + $ gdtt*gdxx*gdyy*gdzz + gdty**2*(-gdzx**2 + gdxx*gdzz) + + $ 2*gdtx*gdty*(gdzx*gdyz - gdxy*gdzz)) + guzx = + $ (gdty**2*gdzx + gdtx*gdtz*gdyy - gdtt*gdzx*gdyy + gdtt*gdxy*gdyz + $ - gdty*(gdtz*gdxy + gdtx*gdyz))/ (-(gdtt*gdzx**2*gdyy) + + $ gdtz**2*(gdxy**2 - gdxx*gdyy) + 2*gdtt*gdxy*gdzx*gdyz + + $ gdtx**2*gdyz**2 - gdtt*gdxx*gdyz**2 - 2*gdtz*(gdty*gdxy*gdzx - + $ gdtx*gdzx*gdyy - gdty*gdxx*gdyz + gdtx*gdxy*gdyz) - + $ gdtt*gdxy**2*gdzz - gdtx**2*gdyy*gdzz + gdtt*gdxx*gdyy*gdzz + + $ gdty**2*(gdzx**2 - gdxx*gdzz) + gdty*(-2*gdtx*gdzx*gdyz + + $ 2*gdtx*gdxy*gdzz)) + + return + + end + + + + diff --git a/src/metrics/Alvidef.c b/src/metrics/Alvidef.c new file mode 100644 index 0000000..fc7659a --- /dev/null +++ b/src/metrics/Alvidef.c @@ -0,0 +1,5126 @@ +#ifdef Append +#define Alvireg1 Alvireg1_ +#define Alvireg2 Alvireg2_ +#define Alvireg3 Alvireg3_ +#define Alvireg4 Alvireg4_ +#endif + +#ifdef Append2 +#define Alvireg1 Alvireg1__ +#define Alvireg2 Alvireg2__ +#define Alvireg3 Alvireg3__ +#define Alvireg4 Alvireg4__ +#endif + +#ifdef Uppercase +#define Alvireg1 ALVIREG1 +#define Alvireg2 ALVIREG2 +#define Alvireg3 ALVIREG3 +#define Alvireg4 ALVIREG4 +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#define Power(x,y) pow((double) (x), (double) (y)) +#define Sqrt(x) pow((double) (x), 0.5) +#define Log(x) log((double) (x))) +#define pow2(x) ((x)*(x)) +#define pow2inv(x) (1.0/((x)*(x))) + +void Alvireg1(double *x, double *y, double *z, double *zm1, double *zm2, double *zr12, double *results) { + +double g00,g0x,g0y,g0z,gxx,gxy,gxz,gyy,gyz,gzz; + +double m1; +double m2; +double b; +double xp; +double yp; +double zp; + +m1 = *zm1; +m2 = *zm2; +b=*zr12; +xp = *x; +yp = *y; +zp = *z; + +/* finding the 4-metric */ + +g00 = Power(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* ((m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2* Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)) ; +g0x = (-2*Power(m2,2)*Sqrt((m1 + m2)/b)*(1 - (m2*(1 + m2/(2.*(m1 + + m2))))/b)* (1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*yp*Power(zp,2)* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,5) + + (1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))* ((-2*m2*Sqrt((m1 + + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + ((-2*Power(m1,2))/ (Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) + + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) )) + + (m2*Sqrt((m1 + m2)/b)*(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1 + + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)*yp* + ((m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 - + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,2) ; +g0y = -((m2*(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((-2*m2*Sqrt((m1 + + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2)) + (1 - (m2*(1 + m2/(2.*(m1 + + m2))))/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* ((2*m2*Sqrt((m1 + + m2)/b)*(-(Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/ + (2.*Power(b,2)))*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) + )) + (1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)* (-(Sqrt((m1 + + m2)/b)*(m2/(m1 + m2) + (m2*(3 + Power(m2,2)/(2.*Power(m1 + + m2,2)) + m1/(m1 + m2)))/b)) + (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + + m2))*(-((b*m2)/(m1 + m2)) + xp) - (3*Power(-((b*m2)/(m1 + m2)) + + xp,2) - 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))* + ((m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 - + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)) ; +g0z = (2*m2*Sqrt((m1 + m2)/b)*(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)* Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*yp*zp* Power(1 - + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + (m2*(1 - (m2*(1 + m2/(2.*(m1 + m2))))/b)*zp* ((-2*m2*Sqrt((m1 + + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) + (m2*Sqrt((m1 + m2)/b)*(1 - + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp*zp* ((m2*(-(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,3) ; +gxx = (4*m1*Power(m2,2)*Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2)*((1 + m2/b)*(-((b*m2)/(m1 + m2)) + + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) - + (4*Power(m2,3)*(m1 + m2)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* + (1 + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)* (1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*Power(yp,2)* + Power(zp,2)*Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,8) + + (Power(m2,2)*Power(zp,2)*Power(1 + m1/(2.*Sqrt(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2)* (1 + + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))))) + /Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)))))/ Power(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) + + (2*m2*Sqrt((m1 + m2)/b)*(1 + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + + m2)) + xp))/b)* (1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2))*yp* ((-2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ (2.*Sqrt(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) + (Power(m2,2)*(m1 + m2)*Power(1 + + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b,2)*Power(yp,2)* + ((m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 - + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,5) ; +gxy = (2*m1*Power(m2,2)*Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + (1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2))*yp*Power(zp,2)* (-(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m1,2)/ + (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* + Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) - + (2*m1*m2*Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* (1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*yp* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/ + (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,3)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) - + (2*m1*Power(m2,3)*(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2))* yp*Power(zp,2)*((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m1,2)/ + (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* + Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,7)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) - + (2*Power(m2,2)*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b)* (1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2))*yp*Power(zp,2)* (-(Sqrt((m1 + m2)/b)*(m2/(m1 + + m2) + (m2*(3 + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + + m2)))/b)) + (m2*Sqrt((m1 + m2)/b)* ((1 + m1/(m1 + + m2))*(-((b*m2)/(m1 + m2)) + xp) - (3*Power(-((b*m2)/(m1 + m2)) + + xp,2) - 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,5) + - (m2*(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2))*yp* Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2) + - (Power(m2,2)*Sqrt((m1 + m2)/b)* (1 + m1/(m1 + m2) - + (3*(-((b*m2)/(m1 + m2)) + xp))/b)*Power(yp,2)* ((-2*m2*Sqrt((m1 + + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,4) + (1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2))* (-(Sqrt((m1 + m2)/b)*(m2/(m1 + m2) + + (m2*(3 + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) + + (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))*(-((b*m2)/(m1 + m2)) + + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((-2*m2*Sqrt((m1 + m2)/b)*(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + ((-2*Power(m1,2))/ (Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) + + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) )) + + (m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* (1 + + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)*yp* + ((2*m2*Sqrt((m1 + m2)/b)*(-(Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) + (m2*Sqrt((m1 + m2)/b)*(1 + + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)*yp* (-(Sqrt((m1 + + m2)/b)*(m2/(m1 + m2) + (m2*(3 + Power(m2,2)/(2.*Power(m1 + + m2,2)) + m1/(m1 + m2)))/b)) + (m2*Sqrt((m1 + m2)/b)* ((1 + + m1/(m1 + m2))*(-((b*m2)/(m1 + m2)) + xp) - (3*Power(-((b*m2)/(m1 + + m2)) + xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((m2*(-(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,2); +gxz = (-2*m1*m2*Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),3)*zp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,3)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (2*m1*Power(m2,3)*(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2))* Power(zp,3)*((1 + m2/b)*(-((b*m2)/(m1 + m2)) + + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,7)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (2*Power(m2,2)*(m1 + m2)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* + (1 + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)* Power(1 + + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* + Power(yp,2)*zp*Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,6) + - (2*Power(m2,3)*(m1 + m2)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* + (1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2))*Power(yp,2)* Power(zp,3)*Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,9) - (m2*(1 + + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*zp* Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2)* (1 + + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))))) + /Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2) + + (m2*(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2))*zp* Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2) + + (Power(m2,2)*Sqrt((m1 + m2)/b)* (1 + m1/(m1 + m2) - + (3*(-((b*m2)/(m1 + m2)) + xp))/b)*yp*zp* ((-2*m2*Sqrt((m1 + + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,4) + (m2*Sqrt((m1 + m2)/b)*(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2))*yp*zp* + ((-2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ (2.*Sqrt(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,3) + (Power(m2,2)*(m1 + m2)*(1 + + m1/(m1 + m2) - (3*(-((b*m2)/(m1 + m2)) + xp))/b)*Power(yp,2)*zp* + ((m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 - + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,6) ; +gyy = (4*m1*Power(m2,2)*Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) + - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + ((-2*m1)/ (Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) - + (2*m1*Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)))))/ Power(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) + + (Power(m2,2)*Power(yp,2)*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4) + - (2*m2*yp*(-(Sqrt((m1 + m2)/b)* (m2/(m1 + m2) + (m2*(3 + + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) + + (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))* (-((b*m2)/(m1 + m2)) + + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((-2*m2*Sqrt((m1 + m2)/b)*(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) + 2*(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b)* (-(Sqrt((m1 + m2)/b)*(m2/(m1 + m2) + (m2*(3 + + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) + + (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))*(-((b*m2)/(m1 + m2)) + + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m2*Sqrt((m1 + + m2)/b)*(-(Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/ + (2.*Power(b,2)))*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) + )) + Power(-(Sqrt((m1 + m2)/b)* (m2/(m1 + m2) + (m2*(3 + + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) + + (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))*(-((b*m2)/(m1 + m2)) + + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2),2)* ((m2*(-(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)) ; +gyz = (-2*m1*m2*Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(1 + + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*yp*zp* + (-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* + Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m1,2)/ + (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* + Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,3)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) - + (2*m1*Power(m2,2)*Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*yp*zp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (2*m1*Power(m2,2)*Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*yp*zp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) + - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*yp*zp* (-(Sqrt((m1 + m2)/b)*(m2/(m1 + m2) + + (m2*(3 + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) + + (m2*Sqrt((m1 + m2)/b)* ((1 + m1/(m1 + m2))*(-((b*m2)/(m1 + + m2)) + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - + 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - + (Power(m2,2)*yp*zp*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4) + - (Power(m2,2)*Sqrt((m1 + m2)/b)*Power(yp,2)*zp* + ((-2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ (2.*Sqrt(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,5) + (m2*zp*(-(Sqrt((m1 + + m2)/b)*(m2/(m1 + m2) + (m2*(3 + Power(m2,2)/(2.*Power(m1 + + m2,2)) + m1/(m1 + m2)))/b)) + (m2*Sqrt((m1 + m2)/b)* ((1 + + m1/(m1 + m2))*(-((b*m2)/(m1 + m2)) + xp) - (3*Power(-((b*m2)/(m1 + + m2)) + xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((-2*m2*Sqrt((m1 + m2)/b)*(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) + (m2*Sqrt((m1 + m2)/b)*(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp*zp* ((2*m2*Sqrt((m1 + + m2)/b)*(-(Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,3) + (m2*Sqrt((m1 + + m2)/b)*yp*zp*(-(Sqrt((m1 + m2)/b)* (m2/(m1 + m2) + (m2*(3 + + Power(m2,2)/(2.*Power(m1 + m2,2)) + m1/(m1 + m2)))/b)) + + (m2*Sqrt((m1 + m2)/b)*((1 + m1/(m1 + m2))* (-((b*m2)/(m1 + m2)) + + xp) - (3*Power(-((b*m2)/(m1 + m2)) + xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((m2*(-(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,3) ; +gzz = (-4*m1*Power(m2,2)*Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2)* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (4*Power(m2,2)*(m1 + m2)*(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b)* + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* + Power(yp,2)*Power(zp,2)*Power(1 - m1/(2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,7) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2)*(1 + + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)))))/ + Power(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* + Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) + + (Power(m2,2)*Power(zp,2)*Power(1 + m1/(2.*Sqrt(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m1)/ (Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m1*Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m1,2)/ (4.*(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4) + + (2*Power(m2,2)*Sqrt((m1 + m2)/b)*yp*Power(zp,2)* + ((-2*m2*Sqrt((m1 + m2)/b)*(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b)*yp* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m1/ (2.*Sqrt(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b)*yp* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m2*(-(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,5) + (Power(m2,2)*(m1 + + m2)*Power(yp,2)*Power(zp,2)* ((m2*(-(Power(1 + (m2*(1 + + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m2*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m1/ (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m2*(-(Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m2/b + - (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m1,2))/ (Power(1 + + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m2/b - + (m2*(-((b*m2)/(m1 + m2)) + xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m2/b)*(-((b*m2)/(m1 + m2)) + xp) - + (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m1/ + (2.*Sqrt(Power(1 + (m2*(1 + m2/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m2/b - (m2*(-((b*m2)/(m1 + m2)) + + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m2/b)*(-((b*m2)/(m1 + + m2)) + xp) - (m2*(Power(-((b*m2)/(m1 + m2)) + xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,7) ; + +*results=g00; +*(results+1)=g0x; +*(results+2)=g0y; +*(results+3)=g0z; +*(results+4)=gxx; +*(results+5)=gxy; +*(results+6)=gxz; +*(results+7)=gyy; +*(results+8)=gyz; +*(results+9)=gzz; + +} + +void Alvireg2(double *x, double *y, double *z, double *zm1, double *zm2, double *zr12, double *results ) { + +double g00,g0x,g0y,g0z,gxx,gxy,gxz,gyy,gyz,gzz; + +double m1; +double m2; +double b; +double xp; +double yp; +double zp; + +m1 = *zm1; +m2 = *zm2; +b=*zr12; +xp = *x; +yp = *y; +zp = *z; + +/* finding the 4-metric */ + +g00 = Power(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* ((m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2* Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)) ; +g0x = (-2*Power(m1,2)*Sqrt((m1 + m2)/b)*(1 - (m1*(1 + m1/(2.*(m1 + + m2))))/b)* (1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* (1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*yp*Power(zp,2)* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,5) + - (1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)* (1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))* ((2*m1*Sqrt((m1 + + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + ((-2*Power(m2,2))/ (Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) + + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) )) + + (m1*Sqrt((m1 + m2)/b)*(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)* (1 + + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)*yp* + ((m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 - + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,2) ; +g0y = -((m1*(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((2*m1*Sqrt((m1 + + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2)) - (1 - (m1*(1 + m1/(2.*(m1 + + m2))))/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* ((2*m1*Sqrt((m1 + + m2)/b)*(-(Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/ + (2.*Power(b,2)))*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) + )) - (1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)* (-(Sqrt((m1 + + m2)/b)*(m1/(m1 + m2) + (m1*(3 + Power(m1,2)/(2.*Power(m1 + + m2,2)) + m2/(m1 + m2)))/b)) + (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + + m2))*(-((b*m1)/(m1 + m2)) - xp) - (3*Power(-((b*m1)/(m1 + m2)) + - xp,2) - 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))* + ((m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 - + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)) ; +g0z = (-2*m1*Sqrt((m1 + m2)/b)*(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)* + (1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*yp*zp* Power(1 - + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + (m1*(1 - (m1*(1 + m1/(2.*(m1 + m2))))/b)*zp* ((2*m1*Sqrt((m1 + + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) - (m1*Sqrt((m1 + m2)/b)*(1 - + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp*zp* ((m1*(-(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,3) ; +gxx = (4*Power(m1,2)*m2*Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2)*((1 + m1/b)*(-((b*m1)/(m1 + m2)) + - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) - + (4*Power(m1,3)*(m1 + m2)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* + (1 + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)* (1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*Power(yp,2)* + Power(zp,2)*Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,8) + + (Power(m1,2)*Power(zp,2)*Power(1 + m2/(2.*Sqrt(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2)* (1 + + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))))) + /Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)))))/ Power(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) - + (2*m1*Sqrt((m1 + m2)/b)*(1 + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + + m2)) - xp))/b)* (1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2))*yp* ((2*m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - + xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/ (2.*Sqrt(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) + (Power(m1,2)*(m1 + m2)*Power(1 + + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b,2)*Power(yp,2)* + ((m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 - + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,5) ; + +gxy = (-2*Power(m1,2)*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + (1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2))*yp*Power(zp,2)* (-(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m2,2)/ + (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* + Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (2*m1*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* (1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*yp* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/ + (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,3)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (2*Power(m1,3)*m2*(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2))* yp*Power(zp,2)*((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m2,2)/ + (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* + Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,7)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (2*Power(m1,2)*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b)* (1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2))*yp*Power(zp,2)* (-(Sqrt((m1 + m2)/b)*(m1/(m1 + + m2) + (m1*(3 + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + + m2)))/b)) + (m1*Sqrt((m1 + m2)/b)* ((1 + m2/(m1 + + m2))*(-((b*m1)/(m1 + m2)) - xp) - (3*Power(-((b*m1)/(m1 + m2)) - + xp,2) - 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,5) + + (m1*(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2))*yp* Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2) + - (Power(m1,2)*Sqrt((m1 + m2)/b)* (1 + m2/(m1 + m2) - + (3*(-((b*m1)/(m1 + m2)) - xp))/b)*Power(yp,2)* ((2*m1*Sqrt((m1 + + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,4) + (1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2))* (-(Sqrt((m1 + m2)/b)*(m1/(m1 + m2) + + (m1*(3 + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) + + (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))*(-((b*m1)/(m1 + m2)) + - xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m1*Sqrt((m1 + m2)/b)*(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + ((-2*Power(m2,2))/ (Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) + + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) )) - + (m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* (1 + + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)*yp* + ((2*m1*Sqrt((m1 + m2)/b)*(-(Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) - (m1*Sqrt((m1 + m2)/b)*(1 + + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)*yp* (-(Sqrt((m1 + + m2)/b)*(m1/(m1 + m2) + (m1*(3 + Power(m1,2)/(2.*Power(m1 + + m2,2)) + m2/(m1 + m2)))/b)) + (m1*Sqrt((m1 + m2)/b)* ((1 + + m2/(m1 + m2))*(-((b*m1)/(m1 + m2)) - xp) - (3*Power(-((b*m1)/(m1 + + m2)) - xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((m1*(-(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,2) ; + +gxz = (2*m1*m2*Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),3)*zp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,3)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) - + (2*Power(m1,3)*m2*(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2))* Power(zp,3)*((1 + m1/b)*(-((b*m1)/(m1 + m2)) - + xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,7)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) - + (2*Power(m1,2)*(m1 + m2)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* + (1 + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)* Power(1 + + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* + Power(yp,2)*zp*Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,6) + + (2*Power(m1,3)*(m1 + m2)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* + (1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2))*Power(yp,2)* Power(zp,3)*Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,9) + (m1*(1 + + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*zp* Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2)* (1 + + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))))) + /Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2) + - (m1*(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2))*zp* Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,2) + + (Power(m1,2)*Sqrt((m1 + m2)/b)* (1 + m2/(m1 + m2) - + (3*(-((b*m1)/(m1 + m2)) - xp))/b)*yp*zp* ((2*m1*Sqrt((m1 + + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,4) + (m1*Sqrt((m1 + m2)/b)*(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2))*yp*zp* + ((2*m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/ (2.*Sqrt(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,3) - (Power(m1,2)*(m1 + m2)*(1 + + m2/(m1 + m2) - (3*(-((b*m1)/(m1 + m2)) - xp))/b)*Power(yp,2)*zp* + ((m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - Power(1 - + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,6) ; +gyy = (4*Power(m1,2)*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) + - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + ((-2*m2)/ (Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)) - + (2*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)))))/ Power(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) + + (Power(m1,2)*Power(yp,2)*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4) + + (2*m1*yp*(-(Sqrt((m1 + m2)/b)* (m1/(m1 + m2) + (m1*(3 + + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) + + (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))* (-((b*m1)/(m1 + m2)) + - xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m1*Sqrt((m1 + m2)/b)*(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) + 2*(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b)* (-(Sqrt((m1 + m2)/b)*(m1/(m1 + m2) + (m1*(3 + + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) + + (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))*(-((b*m1)/(m1 + m2)) - + xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m1*Sqrt((m1 + + m2)/b)*(-(Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/ + (2.*Power(b,2)))*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3) + )) + Power(-(Sqrt((m1 + m2)/b)* (m1/(m1 + m2) + (m1*(3 + + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) + + (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))*(-((b*m1)/(m1 + m2)) - + xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2),2)* ((m1*(-(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)) ; +gyz = (-2*m1*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(1 + + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*yp*zp* + (-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* + Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* (1 + Power(m2,2)/ + (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* + Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,3)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) - + (2*Power(m1,2)*m2*Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*yp*zp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (2*Power(m1,2)*m2*Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*yp*zp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) + - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (2*m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*yp*zp* (-(Sqrt((m1 + m2)/b)*(m1/(m1 + m2) + + (m1*(3 + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) + + (m1*Sqrt((m1 + m2)/b)* ((1 + m2/(m1 + m2))*(-((b*m1)/(m1 + + m2)) - xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - + 3*Power(yp,2) - Power(zp,2))/(2.*b)))/Power(b,2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) - + (Power(m1,2)*yp*zp*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4) + + (Power(m1,2)*Sqrt((m1 + m2)/b)*Power(yp,2)*zp* ((2*m1*Sqrt((m1 + + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,5) - (m1*zp*(-(Sqrt((m1 + + m2)/b)*(m1/(m1 + m2) + (m1*(3 + Power(m1,2)/(2.*Power(m1 + + m2,2)) + m2/(m1 + m2)))/b)) + (m1*Sqrt((m1 + m2)/b)* ((1 + + m2/(m1 + m2))*(-((b*m1)/(m1 + m2)) - xp) - (3*Power(-((b*m1)/(m1 + + m2)) - xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((2*m1*Sqrt((m1 + m2)/b)*(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,2) + (m1*Sqrt((m1 + m2)/b)*(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp*zp* ((2*m1*Sqrt((m1 + + m2)/b)*(-(Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2)) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* ((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,3) + (m1*Sqrt((m1 + + m2)/b)*yp*zp*(-(Sqrt((m1 + m2)/b)* (m1/(m1 + m2) + (m1*(3 + + Power(m1,2)/(2.*Power(m1 + m2,2)) + m2/(m1 + m2)))/b)) + + (m1*Sqrt((m1 + m2)/b)*((1 + m2/(m1 + m2))* (-((b*m1)/(m1 + m2)) + - xp) - (3*Power(-((b*m1)/(m1 + m2)) - xp,2) - 3*Power(yp,2) - + Power(zp,2))/(2.*b)))/Power(b,2))* ((m1*(-(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,3) ; + +gzz = (-4*Power(m1,2)*m2*Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2)* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) + - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/ (2.*Power(b,2)))*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + 2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/ + (Power(b,5)*Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2),1.5)) + + (4*Power(m1,2)*(m1 + m2)*(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b)* + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* + Power(yp,2)*Power(zp,2)*Power(1 - m2/(2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,7) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2)*(1 + + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)))))/ + Power(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* + Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) + + (Power(m1,2)*Power(zp,2)*Power(1 + m2/(2.*Sqrt(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*m2)/ (Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) - (2*m2*Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2)* + (1 + Power(m2,2)/ (4.*(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))))) /Power(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2),1.5) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)))/Power(b,3)) )/Power(b,4) + - (2*Power(m1,2)*Sqrt((m1 + m2)/b)*yp*Power(zp,2)* + ((2*m1*Sqrt((m1 + m2)/b)*(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b)*yp* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* Power(1 - m2/ (2.*Sqrt(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + Sqrt((m1 + m2)/Power(b,3))*(1 - (m1*m2)/(b*(m1 + m2)))* (1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b)*yp* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + + (m1*(-(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) + - Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), + 2)*Power(zp,2) + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3))))/Power(b,5) + (Power(m1,2)*(m1 + + m2)*Power(yp,2)*Power(zp,2)* ((m1*(-(Power(1 + (m1*(1 + + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2)) - Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* Power(1 - m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + - Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)/ Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),2) - + (4*m1*Sqrt((m1 + m2)/Power(b,3))*Sqrt((m1 + m2)/b)* (1 - + (m1*m2)/(b*(m1 + m2)))* ((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)))* (-(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)*Power(yp,2)) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2),2)* Power(zp,2) - Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 - m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),2)* Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))),4))/Power(b,3) + + ((m1 + m2)*Power(1 - (m1*m2)/(b*(m1 + m2)),2)* (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))* + Power(1 + m2/ (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + + m2))))/b,2)* Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + Power((1 + + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))),4)* (1 + (m1*(-(Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* Power(yp,2)) - Power(1 + m1/b + - (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2), 2)*Power(zp,2) + + 2*Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2))* ((-2*Power(m2,2))/ (Power(1 + + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)*Power(yp,2) + Power(1 + m1/b - + (m1*(-((b*m1)/(m1 + m2)) - xp))/Power(b,2),2)* Power(zp,2) + + Power((1 + m1/b)*(-((b*m1)/(m1 + m2)) - xp) - + (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + Power(yp,2) - + Power(zp,2)))/(2.*Power(b,2)),2)) + Power(1 + m2/ + (2.*Sqrt(Power(1 + (m1*(1 + m1/(2.*(m1 + m2))))/b,2)* + Power(yp,2) + Power(1 + m1/b - (m1*(-((b*m1)/(m1 + m2)) - + xp))/Power(b,2),2)* Power(zp,2) + Power((1 + m1/b)*(-((b*m1)/(m1 + + m2)) - xp) - (m1*(Power(-((b*m1)/(m1 + m2)) - xp,2) + + Power(yp,2) - Power(zp,2)))/(2.*Power(b,2)),2))), + 4)))/Power(b,3)))/Power(b,3)))/Power(b,7) ; + +*results=g00; +*(results+1)=g0x; +*(results+2)=g0y; +*(results+3)=g0z; +*(results+4)=gxx; +*(results+5)=gxy; +*(results+6)=gxz; +*(results+7)=gyy; +*(results+8)=gyz; +*(results+9)=gzz; + + +} + +void Alvireg3(double *x, double *y, double *z, double *zm1, double *zm2, double *zr12, double *results) { + +double g00,g0x,g0y,g0z,gxx,gxy,gxz,gyy,gyz,gzz; + +double m1; +double m2; +double b; +double xp; +double yp; +double zp; + +m1 = *zm1; +m2 = *zm2; +b=*zr12; +xp = *x; +yp = *y; +zp = *z; + +g00 = + -1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + + Power(zp,2)) + (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + + Power(zp,2)) - (m1*m2*Power(yp,2)*(m2/ Power(Power(-b/2. + xp,2) + + Power(yp,2) + Power(zp,2),1.5) + m1/Power(Power(b/2. + xp,2) + + Power(yp,2) + Power(zp,2),1.5)))/ (b*(m1 + m2)) - (7*m1*m2*(1/ + Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2)) - + 1/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2))))/b - + (2*m1*m2*(1/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + + Power(zp,2)) + 1/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + + Power(zp,2))))/b + (3*m1*m2*(m2/Sqrt(Power(-b/2. + xp,2) + + Power(yp,2) + Power(zp,2)) + m1/Sqrt(Power(b/2. + xp,2) + + Power(yp,2) + Power(zp,2))))/ (b*(m1 + m2)) - 2*Power(m1/ + Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2)) + + m2/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2)),2) + + ((m1 + m2)*(Power(xp,2) + Power(yp,2))* (1 + + (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2)) + + (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2))))/ + Power(b,3) ; +g0x = + Sqrt((m1 + m2)/Power(b,3))*yp*(1 + (2*m1)/Sqrt(Power(-b/2. + + xp,2) + Power(yp,2) + Power(zp,2)) + (2*m2)/Sqrt(Power(b/2. + + xp,2) + Power(yp,2) + Power(zp,2))) ; +g0y = + (-4*m1*m2*Sqrt((m1 + m2)/b)*(1/ Sqrt(Power(-b/2. + xp,2) + + Power(yp,2) + Power(zp,2)) - 1/Sqrt(Power(b/2. + xp,2) + + Power(yp,2) + Power(zp,2))))/(m1 + m2) + Sqrt((m1 + + m2)/Power(b,3))*xp* (1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) + + Power(yp,2) + Power(zp,2)) + (2*m2)/Sqrt(Power(b/2. + xp,2) + + Power(yp,2) + Power(zp,2))) ; +g0z = 0; +gxx = + 1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2)) + + (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2)) ; +gxy = 0; +gxz = 0; +gyy = + 1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2)) + + (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2)) ; +gyz = 0; +gzz = + 1 + (2*m1)/Sqrt(Power(-b/2. + xp,2) + Power(yp,2) + Power(zp,2)) + + (2*m2)/Sqrt(Power(b/2. + xp,2) + Power(yp,2) + Power(zp,2)) ; + +*results=g00; +*(results+1)=g0x; +*(results+2)=g0y; +*(results+3)=g0z; +*(results+4)=gxx; +*(results+5)=gxy; +*(results+6)=gxz; +*(results+7)=gyy; +*(results+8)=gyz; +*(results+9)=gzz; + +} + +void Alvireg4(double *x, double *y, double *z, double *zm1, double *zm2, double *zr12, double *results) { + +double g00,g0x,g0y,g0z,gxx,gxy,gxz,gyy,gyz,gzz; + +double m1; +double m2; +double b; +double xp; +double yp; +double zp; + +m1 = *zm1; +m2 = *zm2; +b=*zr12; +xp = *x; +yp = *y; +zp = *z; + +g00 = + -1 - (2*Power(m1 + m2,2))/(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1 + m2))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) - (12*m1*(m1 - + m2)*m2*Power((m1 + m2)/b,2.5)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ (Power(b,2)*Power(m1 + + m2,2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + (4*m1*m2*(m1 + + m2)*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)* (1 - ((m1 - m2)*((Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) + + Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ + (Power(b,4)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + (2*m1*m2*(m1 + m2)*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)* (-2/b + ((m1 - m2)*((Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b + + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + (Power(b,3)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (2*(m1 + m2)*(Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) - + Power(yp,2) - Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) + + Power(zp,2),1.5)) + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) + + Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) - + 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/ + Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 + + m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - + Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + Power((m1 + m2)/b,1.5)*(yp* cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) - + Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2)) + (2*(m1 + m2)*(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* ((-4*m1*m2*(Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + (2*m1*(m1 - + m2)*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,2)*(-Power(xp,2) - Power(yp,2) - + Power(zp,2) + 3*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))))/ (Power(xp,2) + Power(yp,2) + Power(zp,2)) + + ((m1 + m2)*(2*Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) - 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)))/b) )/(Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2), 1.5))))/Power(b,2) - + (4*m1*m2*Sqrt((m1 + m2)/b)*(yp* cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* ((2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/b - ((m1 - m2)*((4*Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b + + (-Power(xp,2) - Power(yp,2) - Power(zp,2) + + 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + (b*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + ((m1 + + m2)*(Power(xp,2) + Power(yp,2))* (1 + Power(m1 + + m2,2)/(Power(xp,2) + Power(yp,2) + Power(zp,2)) + (2*(m1 + + m2)*(1 - (m1*m2)/(2.*b*(m1 + m2))))/ Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)) + (2*m1*(m1 - m2)*m2*(Sqrt((m1 + + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ (b*(m1 + + m2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (2*(m1 + m2)*(Power(yp* cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) - + Power(yp,2) - Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) + + Power(zp,2),1.5)) + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) + + Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) - + 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/ + Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 + + m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - + Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + Power((m1 + m2)/b,1.5)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) - + Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2)))) /Power(b,3) ; +g0x = + (4*m1*m2*Power((m1 + m2)/b,1.5)* sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* (xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (1 - ((m1 - + m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) + + Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*(m1 + + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - + (2*m1*m2*Sqrt((m1 + m2)/b)*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-2/b + ((m1 - + m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/b + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ + ((m1 + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + (b*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + Sqrt((m1 + + m2)/b)*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))* ((-4*m1*m2*(Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + (2*m1*(m1 - + m2)*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,2)*(-Power(xp,2) - Power(yp,2) - + Power(zp,2) + 3*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))))/ (Power(xp,2) + Power(yp,2) + Power(zp,2)) + + ((m1 + m2)*(2*Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) - 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)))/b))/ (Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),1.5))) + (2*m1*m2*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* + ((2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b - ((m1 - + m2)*((4*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* (xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/b + (-Power(xp,2) - Power(yp,2) - Power(zp,2) + + 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + (Power(xp,2) + Power(yp,2) + Power(zp,2)) - Sqrt((m1 + + m2)/Power(b,3))*yp* (1 + Power(m1 + m2,2)/(Power(xp,2) + + Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1 + + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + (2*(m1 + + m2)*(Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) - Power(yp,2) - + Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + Power(zp,2))))/ + ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5)) + + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) + + Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) - + 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/ + Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 + + m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - + Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + Power((m1 + m2)/b,1.5)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) - + Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2))) + (6*m1*(m1 - + m2)*m2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* + (xp*cos(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(2*Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/ (Power(b,3)*(Power(xp,2) + Power(yp,2) + + Power(zp,2))) ; +g0y = + (4*m1*m2*Power((m1 + m2)/b,1.5)* cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* (xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (1 - ((m1 - + m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) + + Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*(m1 + + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + (2*m1*m2*Sqrt((m1 + m2)/b)*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-2/b + ((m1 - + m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/b + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ + ((m1 + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + (b*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + Sqrt((m1 + + m2)/b)*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))* ((-4*m1*m2*(Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*(Power(xp,2) + Power(yp,2) + Power(zp,2))) + (2*m1*(m1 - + m2)*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,2)*(-Power(xp,2) - Power(yp,2) - + Power(zp,2) + 3*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))))/ (Power(xp,2) + Power(yp,2) + Power(zp,2)) + + ((m1 + m2)*(2*Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) - 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)))/b))/ (Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),1.5))) + (2*m1*m2*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* + ((2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b - ((m1 - + m2)*((4*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* (xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/b + (-Power(xp,2) - Power(yp,2) - Power(zp,2) + + 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + (Power(xp,2) + Power(yp,2) + Power(zp,2)) + Sqrt((m1 + + m2)/Power(b,3))*xp* (1 + Power(m1 + m2,2)/(Power(xp,2) + + Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1 + + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + (2*(m1 + + m2)*(Power(yp* cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) - Power(yp,2) - + Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + Power(zp,2))))/ + ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5)) + + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) + + Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) - + 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/ + Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 + + m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - + Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + Power((m1 + m2)/b,1.5)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) - + Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2))) - (6*m1*(m1 - + m2)*m2*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* + (yp*cos(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(2*Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/ (Power(b,3)*(Power(xp,2) + Power(yp,2) + + Power(zp,2))) ; +g0z = 0; +gxx = + 1 + (Power(m1 + m2,2)*Power(xp,2))/ Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2) + Power(m1 + m2,2)/(Power(xp,2) + + Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1 + + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + (4*m1*m2*Power(sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)* (1 - ((m1 - + m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) + + Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + (2*m1*m2*Power(cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)* (-2/b + ((m1 - m2)*((Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b + + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (2*(m1 + m2)*(Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) - + Power(yp,2) - Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) + + Power(zp,2),1.5)) + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) + + Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) - + 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/ + Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 + + m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - + Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + Power((m1 + m2)/b,1.5)*(yp* cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) - + Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2)) + (6*m1*(m1 - m2)*m2*Power((m1 + + m2)/b,1.5)* sin(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))/ (Power(m1 + m2,2)*(Power(xp,2) + + Power(yp,2) + Power(zp,2))) ; +gxy = + (Power(m1 + m2,2)*xp*yp)/Power(Power(xp,2) + Power(yp,2) + + Power(zp,2),2) + (6*m1*(m1 - m2)*m2*Power((m1 + m2)/b,1.5)* + cos(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))* (xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/ (Power(m1 + m2,2)*(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + (((4*m1*m2*(1 - ((m1 - m2)*((Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) + + Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - (2*b*m1*m2*(-2/b + ((m1 - m2)* + ((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/b + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ + ((m1 + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))* sin(2*Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))/2. ; +gxz = + (Power(m1 + m2,2)*xp*zp)/Power(Power(xp,2) + Power(yp,2) + + Power(zp,2),2) ; +gyy = + 1 + (Power(m1 + m2,2)*Power(yp,2))/ Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2) + Power(m1 + m2,2)/(Power(xp,2) + + Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1 + + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + (4*m1*m2*Power(cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)* (1 - ((m1 - + m2)*((Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (b*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ (Power(xp,2) + + Power(yp,2) + Power(zp,2))))/(m1 + m2)))/ (b*Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + (2*m1*m2*Power(sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2)* (-2/b + ((m1 - m2)*((Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/b + + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (2*(m1 + m2)*(Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) - Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/b + (Power(b,2)*(-Power(xp,2) - + Power(yp,2) - Power(zp,2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ ((m1 + m2)*Power(Power(xp,2) + Power(yp,2) + + Power(zp,2),1.5)) + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + + m2)/b)* (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) + + Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) - + 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/ + Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 + + m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - + Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + Power((m1 + m2)/b,1.5)*(yp* cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) - + Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2)) - (6*m1*(m1 - m2)*m2*Power((m1 + + m2)/b,1.5)* sin(2*Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))/ (Power(m1 + m2,2)*(Power(xp,2) + + Power(yp,2) + Power(zp,2))); +gyz = + (Power(m1 + m2,2)*yp*zp)/Power(Power(xp,2) + Power(yp,2) + + Power(zp,2),2); +gzz = + 1 + (Power(m1 + m2,2)*Power(zp,2))/ Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2) + Power(m1 + m2,2)/(Power(xp,2) + + Power(yp,2) + Power(zp,2)) + (2*(m1 + m2)*(1 - (m1*m2)/(2.*b*(m1 + + m2))))/ Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + + (2*m1*(m1 - m2)*m2*(Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))) + (b*(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2)))))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))/ (b*(m1 + m2)*(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + (m1*m2*((6*b*Sqrt((m1 + m2)/b)* (yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* + (xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)))))/ + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2)) + (2*(m1 + + m2)*(Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2) - + Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/b + + (Power(b,2)*(-Power(xp,2) - Power(yp,2) - Power(zp,2) + + 3*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/ + (Power(xp,2) + Power(yp,2) + Power(zp,2))))/ ((m1 + + m2)*Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5)) + + (m1*(m1 - m2)*m2*((3*Power(b,2)*Sqrt((m1 + m2)/b)* + (yp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (Power(xp,2) + + Power(yp,2) + Power(zp,2) - 5*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ (Power(xp,2) + Power(yp,2) + + Power(zp,2)) + (Power(b,3)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))))* (3*(Power(xp,2) + Power(yp,2) + Power(zp,2)) - + 5*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))),2)))/ + Power(Power(xp,2) + Power(yp,2) + Power(zp,2),1.5) + (2*(m1 + + m2)*(xp*cos(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - + Power(yp,2) - Power(zp,2) - 6*Power(yp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2) + 3*Power(xp*cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + - yp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))),2)))/ Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2)) + Power((m1 + m2)/b,1.5)*(yp* cos(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + + xp*sin(Sqrt((m1 + m2)/Power(b,3))* Sqrt(Power(xp,2) + + Power(yp,2) + Power(zp,2))))* (-Power(xp,2) - Power(yp,2) - + Power(zp,2) - 2*Power(yp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) + xp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2) + 7*Power(xp*cos(Sqrt((m1 + m2)/Power(b,3))* + Sqrt(Power(xp,2) + Power(yp,2) + Power(zp,2))) - yp*sin(Sqrt((m1 + + m2)/Power(b,3))* Sqrt(Power(xp,2) + Power(yp,2) + + Power(zp,2))),2))))/ (Power(m1 + m2,2)*Power(Power(xp,2) + + Power(yp,2) + Power(zp,2),2)) ; + +*results=g00; +*(results+1)=g0x; +*(results+2)=g0y; +*(results+3)=g0z; +*(results+4)=gxx; +*(results+5)=gxy; +*(results+6)=gxz; +*(results+7)=gyy; +*(results+8)=gyz; +*(results+9)=gzz; + + +} diff --git a/src/metrics/Bertotti.F b/src/metrics/Bertotti.F new file mode 100644 index 0000000..f9b32df --- /dev/null +++ b/src/metrics/Bertotti.F @@ -0,0 +1,65 @@ +C Bertotti spacetime with cosmological constant +C Author : D. Vulcanov (Timisoara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Bertotti( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL baza, unu, doi + + data firstcall /.true./ + save firstcall, baza + if (firstcall) then + baza = Bertotti__Lambda + firstcall = .false. + end if + + + unu=exp(2.0D0*dsqrt(-baza)*x) + doi=exp(2.0D0*dsqrt(-baza)*z) + + + gdtt = -unu + gdtx = 0.0D0 + gdty = 0.0D0 + gdtz = 0.0D0 + gdxx = 1.0D0 + gdyy = doi + gdzz = 1.0D0 + gdxy = 0.0D0 + gdyz = 0.0D0 + gdzx = 0.0D0 + + gutt = -1.0D0/unu + gutx = 0.0D0 + guty = 0.0D0 + gutz = 0.0D0 + guxx = 1.0D0 + guyy = 1.0D0/doi + guzz = 1.0D0 + guxy = 0.0D0 + guyz = 0.0D0 + guzx = 0.0D0 + + + return + end diff --git a/src/metrics/Bianchi_I.F b/src/metrics/Bianchi_I.F new file mode 100644 index 0000000..0af7b12 --- /dev/null +++ b/src/metrics/Bianchi_I.F @@ -0,0 +1,65 @@ +C Bianchi-I spacetime !!!! Fake one... +C It is not a real Bianchi I spacetime, it just emulates +C one, taking the two BianchiI functions as harmonic ones... +C Author : D. Vulcanov (Timisoara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Bianchi_I( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL bx, by, arad + + data firstcall /.true./ + save firstcall + if (firstcall) then + arad = Bianchi_I__scale + firstcall = .false. + end if + + + bx = arad*sin(x+t) + by = arad*cos(x+t) + + gdtt = - 1.d0 + gdtx = 0.d0 + gdty = 0.d0 + gdtz = 0.d0 + gdxx = bx**2 + gdyy = by**2 + gdzz = by**2 + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = 0.d0 + + gutt = - 1.d0 + gutx = 0.d0 + guty = 0.d0 + gutz = 0.d0 + guxx = bx**(-2) + guyy = by**(-2) + guzz = by**(-2) + guxy = 0.d0 + guyz = 0.d0 + guzx = 0.d0 + + return + end diff --git a/src/metrics/Goedel.F b/src/metrics/Goedel.F new file mode 100644 index 0000000..fec2c73 --- /dev/null +++ b/src/metrics/Goedel.F @@ -0,0 +1,63 @@ +C Goedel spacetime !!!! +C See: S. Hawking, G.F.R. Ellis, The Large +C Scale Structure of space-time, Cambridge, 1973 +C Author : D. Vulcanov (Timsioara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Goedel( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL arad + + data firstcall /.true./ + save firstcall + if (firstcall) then + arad = Goedel__scale + firstcall = .false. + end if + + + + gdtt = -arad*arad + gdtx = 0.d0 + gdty = 0.d0 + gdtz = 0.d0 + gdxx = (1/2)*arad*arad*exp(x)*exp(x) + gdyy = -arad*arad + gdzz = arad*arad*exp(x) + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = arad*arad*exp(x) + + gutt = -1/(arad*arad) + gutx = 0.d0 + guty = 0.d0 + gutz = 0.d0 + guxx = -2/(arad*arad*exp(x)*exp(x)) + guyy = -1/(arad*arad) + guzz = -1/(arad*arad*exp(x)) + guxy = 0.d0 + guyz = 0.d0 + guzx = 2/(arad*arad*exp(x)) + + return + end diff --git a/src/metrics/Kasner_axisymmetric.F b/src/metrics/Kasner_axisymmetric.F new file mode 100644 index 0000000..0dc98d1 --- /dev/null +++ b/src/metrics/Kasner_axisymmetric.F @@ -0,0 +1,50 @@ +C Axisymmetric Kasner solution ! +C Author : D. Vulcanov +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Kasner_axisymmetric( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + gdtt = -t**(-0.5d0) + gdtx = 0.d0 + gdty = 0.d0 + gdtz = 0.d0 + gdxx = t**(-0.5d0) + gdyy = t + gdzz = t + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = 0.d0 + + gutt = -t**(0.5d0) + gutx = 0.d0 + guty = 0.d0 + gutz = 0.d0 + guxx = t**(0.5d0) + guyy = 1.d0/t + guzz = 1.d0/t + guxy = 0.d0 + guyz = 0.d0 + guzx = 0.d0 + + + + return + end diff --git a/src/metrics/Kasner_generalized.F b/src/metrics/Kasner_generalized.F new file mode 100644 index 0000000..9ec71d5 --- /dev/null +++ b/src/metrics/Kasner_generalized.F @@ -0,0 +1,66 @@ +C Kasner generalized metric spacetime !!!! +C Author : D. Vulcanov +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Kasner_generalized( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL pp1,pp2,a1,a2,a3 + + data firstcall /.true./ + save firstcall, pp1, pp2 + if (firstcall) then + pp1= Kasner_generalized__p1 + pp2= Kasner_generalized__p2 + firstcall = .false. + end if + + a1= t**(2.d0*pp1) + a2= t**(2.d0*pp2) + a3= t**(2.d0-2.d0*pp1-2.d0*pp2) + + + gdtt = -1.d0 + gdtx = 0.d0 + gdty = 0.d0 + gdtz = 0.d0 + gdxx = a1 + gdyy = a2 + gdzz = a3 + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = 0.d0 + + gutt = -1.d0 + gutx = 0.d0 + guty = 0.d0 + gutz = 0.d0 + guxx = 1.d0/a1 + guyy = 1.d0/a2 + guzz = 1.d0/a3 + guxy = 0.d0 + guyz = 0.d0 + guzx = 0.d0 + + + return + end diff --git a/src/metrics/Kasner_like.F b/src/metrics/Kasner_like.F new file mode 100644 index 0000000..15e5cff --- /dev/null +++ b/src/metrics/Kasner_like.F @@ -0,0 +1,68 @@ +C Kasner-like metric spacetime !!!! +C See: L. Pimentel, Int. Journ. of Theor. Physics, +C, vol. 32, No. 6, 1993, p. 979 (and the references +C cited here), and S. Gotlober, et. al. Early Evolution +C of the Universe and Formation Structure, Akad. Verlag, 1990 +C Author : D. Vulcanov +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Kasner_like( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL qq,a1,a3 + + data firstcall /.true./ + save firstcall, qq + if (firstcall) then + qq = Kasner_like__q + firstcall = .false. + end if + + a1= t**(2.d0*qq) + a3= t**(2.d0-4.d0*qq) + + + gdtt = -1.d0 + gdtx = 0.d0 + gdty = 0.d0 + gdtz = 0.d0 + gdxx = a1 + gdyy = a1 + gdzz = a3 + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = 0.d0 + + gutt = -1.d0 + gutx = 0.d0 + guty = 0.d0 + gutz = 0.d0 + guxx = 1.d0/a1 + guyy = 1.d0/a1 + guzz = 1.d0/a3 + guxy = 0.d0 + guyz = 0.d0 + guzx = 0.d0 + + + return + end diff --git a/src/metrics/Kerr_BoyerLindquist.F b/src/metrics/Kerr_BoyerLindquist.F new file mode 100644 index 0000000..3a16cc6 --- /dev/null +++ b/src/metrics/Kerr_BoyerLindquist.F @@ -0,0 +1,63 @@ +C Kerr metric in cartesian Boyer-Lindquist coordinates, +C as per MTW box 33.2. +C Author : D. Vulcanov (Timisoara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Kerr_BoyerLindquist( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL arad, marad + + data firstcall /.true./ + save firstcall, arad, marad + if (firstcall) then + arad = Kerr_BoyerLindquist__spin + marad = Kerr_BoyerLindquist__mass + firstcall = .false. + end if + + + + gdtt = -(y**2*arad**2+x**2-2*marad*x)/(x**2+y**2*arad**2) + gdtx = 2*(arad*marad*x*(y**2-1))/(x**2+y**2*arad**2) + gdty = 0.d0 + gdtz = 0.d0 + gdxx = -(x**4+x**2*arad**2+2*arad**2*marad*x+arad**2*y**2*x**2 - 2*arad**2*y**2*marad*x+arad**4*y**2)*(y**2-1)/(x**2+arad**2*y**2) + gdyy = (x**2+y**2*arad**2)/(x**2-2*marad*x+arad**2) + gdzz = -(x**2+y**2*arad**2)/(y**2-1) + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = 0.d0 + + gutt = -(-x**4-x**2*arad**2-2*arad**2*marad*x-arad**2*y**2*x**2 +2*arad**2*y**2*marad*x-arad**4*y**2)/((x**2+arad**2*y**2)*(-x**2+2*marad*x-arad**2)) + gutx = 2*(arad*marad*x)/((x**2+arad**2*y**2)*(-x**2+2*marad*x-arad**2)) + guty = 0.d0 + gutz = 0.d0 + guxx = -(-arad**2*y**2-x**2+2*marad*x)/((x**2+arad**2*y**2)*(y**2-1)*(-x**2+2*marad*x-arad**2)) + guyy = -(-x**2+2*marad*x-arad**2)/(x**2+arad**2*y**2) + guzz = -(y**2-1)/(x**2+arad**2*y**2) + guxy = 0.d0 + guyz = 0.d0 + guzx = 0.d0 + + return + end diff --git a/src/metrics/Kerr_KerrSchild.F b/src/metrics/Kerr_KerrSchild.F new file mode 100644 index 0000000..571cf29 --- /dev/null +++ b/src/metrics/Kerr_KerrSchild.F @@ -0,0 +1,124 @@ +C Kerr-Schild form of boosted rotating black hole. +C Program g_ab = eta_ab + H l_a l_b, g^ab = eta^ab - H l^a l^b. +C Here eta_ab is Minkowski in Cartesian coordinates, H is a scalar, +C and l is a null vector. +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Kerr_KerrSchild( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + CCTK_REAL gamma, t0, z0, x0, y0, rho02, r02, r0, costheta0, + $ lt0, lx0, ly0, lz0, hh, lt, lx, ly, lz + + logical firstcall + CCTK_REAL boostv, eps, m, a + data firstcall /.true./ + save firstcall, boostv, eps, m, a + + +C Get parameters of the exact solution. + + if (firstcall) then + boostv = Kerr_KerrSchild__boost_v + eps = Kerr_KerrSchild__epsilon + m = Kerr_KerrSchild__mass + a = Kerr_KerrSchild__spin + firstcall = .false. + end if + +C Boost factor. + + gamma = 1.d0 / sqrt(1.d0 - boostv**2) + +C Lorentz transform t,x,y,z -> t0,x0,y0,z0. +C t0 is never used, but is here for illustration, and we introduce +C x0 and y0 also only for clarity. +C Note that z0 = 0 means z = vt for the BH. + + t0 = gamma * (t - boostv * z) + z0 = gamma * (z - boostv * t) + x0 = x + y0 = y + +C Coordinate distance to center of black hole. Note it moves! + + rho02 = x0**2 + y0**2 + z0**2 + +C Spherical auxiliary coordinate r and angle theta in BH rest frame. + + r02 = 0.5d0 * (rho02 - a**2) + $ + sqrt(0.25d0 * (rho02 - a**2)**2 + a**2 * z0**2) + if (r02 .lt. eps) then + write(6,*) 'r02 too small in kerrschild' + write(6,*) x0, y0, z0 + write(6,*) rho02, a**2, r02 + end if + r02 = max(r02,eps) + r0 = sqrt(r02) + costheta0 = z0 / r0 + +C Coefficient H. Note this transforms as a scalar, so does not carry +C the suffix 0. + hh = m * r0 / (r0**2 + a**2 * costheta0**2) + +C Components of l_a in rest frame. Note indices down. + lt0 = 1.d0 + lx0 = (r0 * x0 + a * y0) / (r0**2 + a**2) + ly0 = (r0 * y0 - a * x0) / (r0**2 + a**2) + lz0 = z0 / r0 + +C Now boost it to coordinates x, y, z, t. +C This is the reverse Lorentz transformation, but applied +C to a one-form, so the sign of boostv is the same as the forward +C Lorentz transformation applied to the coordinates. + + lt = gamma * (lt0 - boostv * lz0) + lz = gamma * (lz0 - boostv * lt0) + lx = lx0 + ly = ly0 + +C Down metric. g_ab = flat_ab + H l_a l_b + + gdtt = - 1.d0 + 2.d0 * hh * lt * lt + gdtx = 2.d0 * hh * lt * lx + gdty = 2.d0 * hh * lt * ly + gdtz = 2.d0 * hh * lt * lz + gdxx = 1.d0 + 2.d0 * hh * lx * lx + gdyy = 1.d0 + 2.d0 * hh * ly * ly + gdzz = 1.d0 + 2.d0 * hh * lz * lz + gdxy = 2.d0 * hh * lx * ly + gdyz = 2.d0 * hh * ly * lz + gdzx = 2.d0 * hh * lz * lx + +C Up metric. g^ab = flat^ab - H l^a l^b. +C Notice that g^ab = g_ab and l^i = l_i and l^0 = - l_0 in flat spacetime. + gutt = - 1.d0 - 2.d0 * hh * lt * lt + gutx = 2.d0 * hh * lt * lx + guty = 2.d0 * hh * lt * ly + gutz = 2.d0 * hh * lt * lz + guxx = 1.d0 - 2.d0 * hh * lx * lx + guyy = 1.d0 - 2.d0 * hh * ly * ly + guzz = 1.d0 - 2.d0 * hh * lz * lz + guxy = - 2.d0 * hh * lx * ly + guyz = - 2.d0 * hh * ly * lz + guzx = - 2.d0 * hh * lz * lx + + return + end diff --git a/src/metrics/Lemaitre.F b/src/metrics/Lemaitre.F new file mode 100644 index 0000000..2062f4b --- /dev/null +++ b/src/metrics/Lemaitre.F @@ -0,0 +1,78 @@ +C Lemaitre type universe - FRW with k =0, p=k rho and +C cosmological constant +C $Header$ + + +#include "cctk.h" +#include "cctk_Parameters.h" + + + subroutine Exact__Lemaitre( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + DECLARE_CCTK_FUNCTIONS + + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + + logical firstcall + + CCTK_REAL la, e0, ka, unu, ra, ra2, r0, Pii + + data firstcall /.true./ + save firstcall, ka, la, e0, r0 + if (firstcall) then + ka = Lemaitre__kappa + e0 = Lemaitre__epsilon0 + la = Lemaitre__Lambda + r0 = Lemaitre__R0 + firstcall = .false. + end if + + Pii = acos(-1.0D0) + + unu = dsqrt(3.0D0*la)*t*(ka+1.0D0)/(2.0D0) + + ra = r0*(cosh(unu)+dsqrt(1.0D0+8.0D0*Pii*e0/la)*sinh(unu))** + & (2.0D0/(3.0D0*ka+3.0D0)) + + ra2 = ra*ra + + gdtt = -1.0D0 + gdtx = 0.0D0 + gdty = 0.0D0 + gdtz = 0.0D0 + gdxx = ra2 + gdyy = ra2 + gdzz = ra2 + gdxy = 0.0D0 + gdyz = 0.0D0 + gdzx = 0.0D0 + + gutt = -1.0D0 + gutx = 0.0D0 + guty = 0.0D0 + gutz = 0.0D0 + guxx = 1.0D0/ra2 + guyy = 1.0D0/ra2 + guzz = 1.0D0/ra2 + guxy = 0.0D0 + guyz = 0.0D0 + guzx = 0.0D0 + + + + return + end diff --git a/src/metrics/Milne.F b/src/metrics/Milne.F new file mode 100644 index 0000000..0167873 --- /dev/null +++ b/src/metrics/Milne.F @@ -0,0 +1,61 @@ +C Milne spacetime metric ?!?!? +C Suggested by Matteo Rossi and E. Onofri (Univ. di Parma, Italy) +C They inted to use thsi metric for simulating an Pre-Big-Bang +C Cosmology, as proposed by Veneziano some year ago +C Author : D. Vulcanov (Timsoara, Romania) +C $Header$ + +#include "cctk.h" + + subroutine Exact__Milne( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + +c Input. + + CCTK_REAL x, y, z, t + +c Output. + + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx, + $ coef, x2,y2,z2,t2 + + x2= x*x + y2= y*y + z2= z*z + t2= t*t + coef= t2/(1.d0+ x2 +y2+ z2) + + gdtt = -1.d0 + gdtx = 0.d0 + gdty = 0.d0 + gdtz = 0.d0 + gdxx = coef*(1.d0+y2+z2) + gdyy = coef*(1.d0+x2+z2) + gdzz = coef*(1.d0+x2+y2) + gdxy = -coef*x*y + gdyz = -coef*y*z + gdzx = -coef*x*z + + gutt = -1.d0 + gutx = 0.d0 + guty = 0.d0 + gutz = 0.d0 + guxx = (1.d0+x2)/(t2) + guyy = (1.d0+y2)/(t2) + guzz = (1.d0+z2)/(t2) + guxy = x*y/(t2) + guyz = y*z/(t2) + guzx = x*z/(t2) + + + return + end diff --git a/src/metrics/Minkowski.F b/src/metrics/Minkowski.F new file mode 100644 index 0000000..5318332 --- /dev/null +++ b/src/metrics/Minkowski.F @@ -0,0 +1,49 @@ +C Minkowski spacetime +C $Header$ + +#include "cctk.h" + + subroutine Exact__Minkowski( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + +c Input. + + CCTK_REAL x, y, z, t + +c Output. + + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + gdtt = -1.d0 + gdtx = 0.d0 + gdty = 0.d0 + gdtz = 0.d0 + gdxx = 1.d0 + gdyy = 1.d0 + gdzz = 1.d0 + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = 0.d0 + + gutt = -1.d0 + gutx = 0.d0 + guty = 0.d0 + gutz = 0.d0 + guxx = 1.d0 + guyy = 1.d0 + guzz = 1.d0 + guxy = 0.d0 + guyz = 0.d0 + guzx = 0.d0 + + return + end diff --git a/src/metrics/Minkowski_funny.F b/src/metrics/Minkowski_funny.F new file mode 100644 index 0000000..5a9c8e2 --- /dev/null +++ b/src/metrics/Minkowski_funny.F @@ -0,0 +1,106 @@ +c The metric given here corresponds to that of flat spacetime +c but with non-trivial spatial coordinates. Basically, I take +c the flat metric in spherical coordinates, define a new +c radial coordinate such that: +c +c r = r ( 1 - a f(r ) ) +c new new +c +c where f(r) is a gaussian centered at r=0 with amplitude 1. +c Finally, I transform back to cartesian coordinates. +c For 0 <= a < 1, the transformation above is monotonic. +c $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Minkowski_funny( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + +c Input. + + CCTK_REAL x,y,z,t + +c Output. + + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + +c Internal. + + CCTK_REAL a,s + CCTK_REAL r,r2,x2,y2,z2 + CCTK_REAL f,fp,g11,g22 + CCTK_REAL det,zero,one,two + +c Define numbers. + + zero = 0.0d0 + one = 1.0d0 + two = 2.0d0 + +c Read parameters + + a = Minkowski_funny__amplitude + s = Minkowski_funny__sigma + +c Find transformation function. + + x2 = x**2 + y2 = y**2 + z2 = z**2 + + r2 = x2 + y2 + z2 + r = dsqrt(r2) + + f = dexp(-r2/s**2) + fp = - two*r/s**2*f + +c Give metric components. + + g11 = (one - a*(f + r*fp))**2 + g22 = (one - a*f)**2 + + gdtt = - one + gdtx = zero + gdty = zero + gdtz = zero + + gdxx = (x2*g11 + (y2 + z2)*g22)/r2 + gdyy = (y2*g11 + (x2 + z2)*g22)/r2 + gdzz = (z2*g11 + (x2 + y2)*g22)/r2 + + gdxy = x*y*(g11 - g22)/r2 + gdzx = x*z*(g11 - g22)/r2 + gdyz = y*z*(g11 - g22)/r2 + +c Find inverse metric. + + gutt = - one + gutx = zero + guty = zero + gutz = zero + + det = gdxx*gdyy*gdzz + two*gdxy*gdzx*gdyz + . - gdxx*gdyz**2 - gdyy*gdzx**2 - gdzz*gdxy**2 + + guxx = (gdyy*gdzz - gdyz**2)/det + guyy = (gdxx*gdzz - gdzx**2)/det + guzz = (gdxx*gdyy - gdxy**2)/det + + guxy = (gdzx*gdyz - gdzz*gdxy)/det + guyz = (gdxy*gdzx - gdxx*gdyz)/det + guzx = (gdxy*gdyz - gdyy*gdzx)/det + + return + end diff --git a/src/metrics/Minkowski_gauge_wave.F b/src/metrics/Minkowski_gauge_wave.F new file mode 100644 index 0000000..5e67a70 --- /dev/null +++ b/src/metrics/Minkowski_gauge_wave.F @@ -0,0 +1,111 @@ +c $Header$ + +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" + +#define Pi (4 * atan(1.d0)) + + + subroutine Exact__Minkowski_gauge_wave( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + DECLARE_CCTK_PARAMETERS + DECLARE_CCTK_FUNCTIONS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL a, o, H, d, fs + CCTK_REAL zero,half,one + + data firstcall /.true./ + save firstcall, a, o, d, fs + +C Numbers. + + zero = 0.0d0 + half = 0.5d0 + one = 1.0d0 + +C Get parameters of the exact solution. + + if (firstcall) then + a = Minkowski_gauge_wave__amplitude + o = Minkowski_gauge_wave__omega + d = Minkowski_gauge_wave__lambda + fs = Minkowski_gauge_wave__phase + + firstcall = .false. + end if + +C How should the wave look like. + if (CCTK_Equals(Minkowski_gauge_wave__what_fn,"sin").eq.1) then + d = Minkowski_gauge_wave__lambda * half / Pi + if (Minkowski_gauge_wave__diagonal.ne.0) then + H = one - a * sin((x-y)/d - o*t/d) + else + H = one - a * sin((x-o*t)/d - fs) + end if + elseif (CCTK_Equals(Minkowski_gauge_wave__what_fn,"expsin").eq.1) then + H = exp(a*sin(x/d)*cos(t/d)) + elseif (CCTK_Equals(Minkowski_gauge_wave__what_fn,"Gaussian").eq.1) then + H = one - a*dexp(-(x-t)**2/d**2) + end if + +C write metric. + + if (Minkowski_gauge_wave__diagonal .eq. 1) then + + gdxx = half * H + half + gdxy = -half* H + half + gdyy = half * H + half + + guxx = half / H + half + guxy =-half / H + half + guyy = half / H + half + + else + + gdxx = H + gdxy = zero + gdyy = one + + guxx = one/H + guxy = zero + guyy = one + + end if + + gdtt = - H + gdtx = zero + gdty = zero + gdtz = zero + + gdzx = zero + gdyz = zero + gdzz = one + +C and upper metric. + + gutt = - one/H + gutx = zero + guty = zero + gutz = zero + + guyz = zero + guzx = zero + guzz = one + + return + end diff --git a/src/metrics/Minkowski_shift.F b/src/metrics/Minkowski_shift.F new file mode 100644 index 0000000..f999d15 --- /dev/null +++ b/src/metrics/Minkowski_shift.F @@ -0,0 +1,108 @@ +c The metric given here corresponds to that of flat spacetime +c but with non-trivial slicing and a shift vector such that +c the resulting metric is still time independent. I take +c the flat metric in spherical coordinates and define a new +c time coordinate as: +c +c t = t - a f(r) +c new +c +c where f(r) is a gaussian centered at r=0 with amplitude 1. +c Finally, I transform back to cartesian coordinates. +c For -1 < fp < 1, the transformation above results in spatial +c slices. +c $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Minkowski_shift( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + +c Input. + + CCTK_REAL x,y,z,t + +c Output. + + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + +c Internal. + + CCTK_REAL a,s + CCTK_REAL r,r2,x2,y2,z2 + CCTK_REAL f,fp,fpr,fpr2 + CCTK_REAL zero,one,two + +c Define numbers. + + zero = 0.0d0 + one = 1.0d0 + two = 2.0d0 + +c Read parameters + + a = Minkowski_shift__amplitude + s = Minkowski_shift__sigma + +c Find transformation function. + + x2 = x**2 + y2 = y**2 + z2 = z**2 + + r2 = x2 + y2 + z2 + r = dsqrt(r2) + + f = a*dexp(-r2/s**2) + fp = - two*f*r/s**2 + fpr = fp/r + fpr2 = fpr**2 + +c Give metric components. + + gdtt = - one + + gdtx = - x*fpr + gdty = - y*fpr + gdtz = - z*fpr + + gdxx = one - x2*fpr2 + gdyy = one - y2*fpr2 + gdzz = one - z2*fpr2 + + gdxy = - x*y*fpr2 + gdzx = - x*z*fpr2 + gdyz = - y*z*fpr2 + +c Inverse metric. And yes, it is this simple, simpler +c than the metric itself. I tripled checked! + + gutt = - one + fp**2 + + gutx = - x*fpr + guty = - y*fpr + gutz = - z*fpr + + guxx = one + guyy = one + guzz = one + + guxy = zero + guzx = zero + guyz = zero + + return + end diff --git a/src/metrics/Robertson_Walker.F b/src/metrics/Robertson_Walker.F new file mode 100644 index 0000000..85e0739 --- /dev/null +++ b/src/metrics/Robertson_Walker.F @@ -0,0 +1,78 @@ +C Robertson-Walker universe +C See: J.N. Islam, An Introduction to +C Mathematical Cosmology, Cambridge, 1992 +C Author : D. Vulcanov (Timisoara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + + subroutine Exact__Robertson_Walker( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx,rama) + + implicit none + + DECLARE_CCTK_PARAMETERS + DECLARE_CCTK_FUNCTIONS + + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx,rama + + + logical firstcall + + CCTK_REAL r2,x2,y2,z2,am,ag, kapa + + data firstcall /.true./ + save firstcall, kapa + if (firstcall) then + kapa = Robertson_Walker__k + firstcall = .false. + end if + + x2=x*x + y2=y*y + z2=z*z + r2 = x2+y2+z2 + + ag = kapa/(1.0D0-kapa*r2) + + am = rama*rama + + + + gdtt = -1.0D0 + gdtx = 0.0D0 + gdty = 0.0D0 + gdtz = 0.0D0 + gdxx = am*(1.0D0 + ag*x2) + gdyy = am*(1.0D0 + ag*y2) + gdzz = am*(1.0D0 + ag*z2) + gdxy = am*ag*x*y + gdyz = am*ag*y*z + gdzx = am*ag*z*x + + gutt = -1.0D0 + gutx = 0.0D0 + guty = 0.0D0 + gutz = 0.0D0 + guxx = (1.0D0-kapa*x2)/am + guyy = (1.0D0-kapa*y2)/am + guzz = (1.0D0-kapa*z2)/am + guxy = -kapa*x*y/am + guyz = -kapa*y*z/am + guzx = -kapa*z*x/am + + + + return + end diff --git a/src/metrics/Schwarzschild_EF.F b/src/metrics/Schwarzschild_EF.F new file mode 100644 index 0000000..a53858d --- /dev/null +++ b/src/metrics/Schwarzschild_EF.F @@ -0,0 +1,70 @@ +c Schwarzschild metric in Eddington-Finkelstein coordinates, +c as per MTW box 31.2 +c $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Schwarzschild_EF( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL eps, m + + data firstcall /.true./ + save firstcall, eps, m + + CCTK_REAL r + +C Get parameters of the exact solution. + + if (firstcall) then + + eps = Schwarzschild_EF__epsilon + m = Schwarzschild_EF__mass + + firstcall = .false. + + end if + + r = max(sqrt(x**2 + y**2 + z**2), eps) + + gdtt = - (1.d0 - 2.d0 * m / r) + gdtx = 2.d0 * m * x / r**2 + gdty = 2.d0 * m * y / r**2 + gdtz = 2.d0 * m * z / r**2 + gdxx = 1.d0 + 2.d0 * m * x**2 / r**3 + gdyy = 1.d0 + 2.d0 * m * y**2 / r**3 + gdzz = 1.d0 + 2.d0 * m * z**2 / r**3 + gdxy = 2.d0 * m * x * y / r**3 + gdyz = 2.d0 * m * y * z / r**3 + gdzx = 2.d0 * m * z * x / r**3 + + gutt = - (1.d0 + 2.d0 * m / r) + gutx = 2.d0 * m * x / r**2 + guty = 2.d0 * m * y / r**2 + gutz = 2.d0 * m * z / r**2 + guxx = 1.d0 - 2.d0 * m * x**2 / r**3 + guyy = 1.d0 - 2.d0 * m * y**2 / r**3 + guzz = 1.d0 - 2.d0 * m * z**2 / r**3 + guxy = - 2.d0 * m * x * y / r**3 + guyz = - 2.d0 * m * y * z / r**3 + guzx = - 2.d0 * m * z * x / r**3 + + return + end diff --git a/src/metrics/Schwarzschild_Lemaitre.F b/src/metrics/Schwarzschild_Lemaitre.F new file mode 100644 index 0000000..9ff7835 --- /dev/null +++ b/src/metrics/Schwarzschild_Lemaitre.F @@ -0,0 +1,72 @@ +C Schwarzschild-Lemaitre metric +c (Schwarzschild black hole with cosmological constant) +C Proposed by Lemaitre in 1932 +C Author : D. Vulcanov (Timisoara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Schwarzschild_Lemaitre( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL lam, mas, r2, ppp, unu, doi + + data firstcall /.true./ + save firstcall + if (firstcall) then + lam = Schwarzschild_Lemaitre__Lambda + mas = Schwarzschild_Lemaitre__mass + firstcall = .false. + end if + + r2 =x*x+y*y+z*z + + ppp=1.0D0 -2.0D0*mas/dsqrt(r2) -r2*lam/3.0D0 + + unu=(1.0D0-ppp)/ppp/r2 + + doi=(ppp - 1.0D0)/r2 + + gdtt = -ppp + gdtx = 0.0D0 + gdty = 0.0D0 + gdtz = 0.0D0 + gdxx = 1.0D0 + x*x*unu + gdyy = 1.0D0 + y*y*unu + gdzz = 1.0D0 + z*z*unu + gdxy = x*y*unu + gdyz = y*z*unu + gdzx = z*x*unu + + + gutt = -1.0D0/ppp + gutx = 0.0D0 + guty = 0.0D0 + gutz = 0.0D0 + guxx = 1.0D0 + x*x*doi + guyy = 1.0D0 + y*y*doi + guzz = 1.0D0 + z*z*doi + guxy = x*y*doi + guyz = y*z*doi + guzx = x*z*doi + + + return + end diff --git a/src/metrics/Schwarzschild_Novikov.F b/src/metrics/Schwarzschild_Novikov.F new file mode 100644 index 0000000..61a2d1a --- /dev/null +++ b/src/metrics/Schwarzschild_Novikov.F @@ -0,0 +1,215 @@ +c The metric given here corresponds to the novikov solution +c in isotropic coordinates, as presented first in Bruegman96 +c then in correct form in Cactus paper 1. This code is the code +c which was used for the comparisons in cactus paper 1, and is written +c by PW with input from BB. +C $Header$ + + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Schwarzschild_Novikov( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + +c Input. + + CCTK_REAL x, y, z, t + +c Output. + + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + +c Internal. + logical firstcall + + CCTK_REAL eps, mass + + data firstcall /.true./ + save firstcall, eps, mass + + CCTK_REAL radius + CCTK_REAL r,c,psi4 + CCTK_REAL zero,one,two + + CCTK_REAL nov_dr_drmax, nov_rmax, nov_r + CCTK_REAL grr, gqq, detg + + CCTK_REAL psi4_o_r2 + +C Get parameters of the exact solution. + + if (firstcall) then + + eps = Schwarzschild_Novikov__epsilon + mass= Schwarzschild_Novikov__mass + + firstcall = .false. + + end if + + r = max(sqrt(x**2 + y**2 + z**2), eps) + +c Find {zero,one,two}. + + zero = 0.0D0 + one = 1.0D0 + two = 2.0D0 + +c Find r. + r = dsqrt(x**2 + y**2 + z**2) + +c Find conformal factor. + c = mass/(two*r) + psi4 = (one + c)**4 + +c Evaluate novikov stuff. Note abs(t) since the data is time +c symmetric (the metric is, at least...) + grr = nov_dr_drmax(abs(t),abs(r)) + gqq = nov_r(abs(t),abs(r)) + + grr = grr **2 + gqq = gqq**2 / nov_rmax(abs(r))**2 + + +c Find metric components. + psi4_o_r2 = psi4 / r**2 + + gdtt = - 1.0D0 + + gdtx = zero + gdty = zero + gdtz = zero + +c This is just straightforward spherical -> cartesian I hope... ;-) +c Note at t=0 (grr = gqq = 1) this gives the expected result +c (namely diagonal psi^4, since psi4_o_r2 = psi^4 / r^2) + gdxx = (grr * x**2 + gqq * (y**2 + z**2)) * psi4_o_r2 + gdyy = (grr * y**2 + gqq * (x**2 + z**2)) * psi4_o_r2 + gdzz = (grr * z**2 + gqq * (x**2 + y**2)) * psi4_o_r2 + + gdxy = (grr - gqq) * x * y * psi4_o_r2 + gdzx = (grr - gqq) * x * z * psi4_o_r2 + gdyz = (grr - gqq) * y * z * psi4_o_r2 + +c Find inverse metric. + gutt = one/gdtt + gutx = zero + guty = zero + gutz = zero + detg = gdtt*gdxx*gdyy*gdzz-gdtt*gdxx*gdyz**2/4.D0-gdtt*gdxy**2*gdz + $z/4.D0+gdtt*gdxy*gdzx*gdyz/4.D0-gdtt*gdzx**2*gdyy/4.D0 + guxx = -gdtt*(-4.D0*gdyy*gdzz+gdyz**2)/(4.D0 * detg) + guxy = -gdtt*(2.D0*gdxy*gdzz-gdzx*gdyz)/(4.D0 * detg) + guzx = gdtt*(gdxy*gdyz-2.D0*gdzx*gdyy)/(4.D0 * detg) + guyy = gdtt*(4.D0*gdxx*gdzz-gdzx**2)/(4.D0 * detg) + guyz = -gdtt*(2.D0*gdxx*gdyz-gdxy*gdzx)/(4.D0 * detg) + guzz = gdtt*(4.D0*gdxx*gdyy-gdxy**2)/(4.D0 * detg) + + guxx = one/psi4 + guyy = one/psi4 + guzz = one/psi4 + + guxy = zero + guyz = zero + guzx = zero + + return + end + +c These are functions which evaluate the novikov stuff. + +c dr/drmax + CCTK_REAL function nov_dr_drmax(tauin,rbarin) + + implicit none + + CCTK_REAL rbarin, tauin + CCTK_REAL rt, nov_r, rmaxt, nov_rmax + + rt = nov_r(tauin, rbarin) + rmaxt = nov_rmax(rbarin) + nov_dr_drmax = 1.5D0 - rt / (2.0D0 * rmaxt) + + $ 1.5D0 * sqrt(rmaxt / rt - 1.0D0) * + $ acos(sqrt(rt/rmaxt)) + + return + end + + + +c +c Bisection to invert the function below. This is pretty crappy +c but it works. +c + CCTK_REAL function nov_r(tauin, rbarin) + implicit none +c input + CCTK_REAL tauin, rbarin + +c funtions + CCTK_REAL nov_rmax, nov_tau + +c temps + CCTK_REAL rg, drg, delt, ttmp, rmt + CCTK_REAL eps + integer nit + nit = 0 + delt = 1000.0D0 + rmt = nov_rmax(rbarin) + rg = rmt + drg = rg / 2.0D0 + eps = 1.d-6 * rmt + do while (delt .gt. eps .and. nit .lt. 100) + ttmp = nov_tau(rg, rmt) + delt = abs(tauin - ttmp) + if (delt .gt. eps) then + if (ttmp .gt. tauin .or. rg .lt. drg) then + rg = rg + drg +c Enforce upper bound + if (rg .gt. rmt) rg = rmt + drg = drg / 2.0D0 + else + rg = rg - drg + endif + endif +c write (*,*) rg, ttmp, tauin + nit = nit + 1 + enddo + if (nit .ge. 100) then + write (*,*) "Novikov: inversion did not converge" + endif + nov_r = rg + return + end + +c Evaluate tau as a function of r and rmax + CCTK_REAL function nov_tau(r, rmax) + implicit none + CCTK_REAL r, rmax + + nov_tau= rmax * dsqrt(0.5D0 * r * (1.0D0 - r / rmax)) + + $ 2.0D0 * (rmax / 2)**(3.0/2.0) * + $ acos (dsqrt(r/rmax)) + + return + end + +c Evaluate rmax as a function of rbar + CCTK_REAL function nov_rmax(rbar) + implicit none + CCTK_REAL rbar + nov_rmax = (1.0D0 + 2.0D0*rbar)**2 / (4.0D0 * rbar) + return + end diff --git a/src/metrics/Schwarzschild_PG.F b/src/metrics/Schwarzschild_PG.F new file mode 100644 index 0000000..37072fc --- /dev/null +++ b/src/metrics/Schwarzschild_PG.F @@ -0,0 +1,75 @@ +c Schwarzschild spacetime in Painleve [e-acute on last e]-Gullstrand +c coordinates. These have a *flat* 3-metric, and are described in +c detail in Martel and Poisson, gr-qc/0001069 +c $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Schwarzschild_PG( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL eps, m + + data firstcall /.true./ + save firstcall, eps, m + + CCTK_REAL r, bx, by, bz, b2 + +C Get parameters of the exact solution. + + if (firstcall) then + + eps = Schwarzschild_PG__epsilon + m = Schwarzschild_PG__mass + + firstcall = .false. + + end if + + r = max(sqrt(x**2 + y**2 + z**2), eps) + bx = sqrt(2.d0 * m / r) * x / r + by = sqrt(2.d0 * m / r) * y / r + bz = sqrt(2.d0 * m / r) * z / r + b2 = 2.d0 * m / r + + gdtt = - 1.d0 + b2 + gdtx = bx + gdty = by + gdtz = bz + gdxx = 1.d0 + gdyy = 1.d0 + gdzz = 1.d0 + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = 0.d0 + + gutt = - 1.d0 + gutx = bx + guty = by + gutz = bz + guxx = 1.d0 - bx**2 + guyy = 1.d0 - by**2 + guzz = 1.d0 - bz**2 + guxy = - bx * by + guyz = - by * bz + guzx = - bz * bx + + return + end diff --git a/src/metrics/Thorne_fakebinary.F b/src/metrics/Thorne_fakebinary.F new file mode 100644 index 0000000..2cd954b --- /dev/null +++ b/src/metrics/Thorne_fakebinary.F @@ -0,0 +1,174 @@ +C fakebinary.F +C Bernd Bruegmann, 6/98 +C +C Compute Thorne four-metric that, although not a solution to the +C Einstein equations, has several characteristic features of a binary +C star system. See gr-qc/9808024. +C +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Thorne_fakebinary( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guxz) + + implicit none + DECLARE_CCTK_PARAMETERS + DECLARE_CCTK_FUNCTIONS + +C input + CCTK_REAL x, y, z, t + +C output + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdxz, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guxz + +C static + + logical firstcall + + CCTK_REAL eps, m, a0, Omega0, bround, atype, aretarded + + data firstcall /.true./ + save firstcall, eps, m, a0, Omega0, bround, atype, aretarded + +C temps + CCTK_REAL a, Omega, tau, f + CCTK_REAL c, c0, c1, c2, c3 + CCTK_REAL rho, r, sinp, cosp, phi, sint, cost, tx, ty, tz, px, py, pz + CCTK_REAL a2, b2, bx, by, bz, detgd + +C get parameters of the exact solution. + + if (firstcall) then + + firstcall = .false. + + eps = Thorne_fakebinary__epsilon + m = Thorne_fakebinary__mass + a0 = Thorne_fakebinary__separation + + Omega0 = Thorne_fakebinary__Omega0 + bround = Thorne_fakebinary__smoothing + + bround = max(bround, eps) + + if (CCTK_Equals(Thorne_fakebinary__atype, "constant").ne.0) then + atype = 0.d0 + elseif (CCTK_Equals(Thorne_fakebinary__atype,"quadrupole").ne.0) then + atype = 1.d0 + else + call CCTK_Warn(0, + $ "Unknown value of parameter Thorne_fakebinary__atype") + endif + + if (Thorne_fakebinary__retarded.ne.0) then + aretarded = 1.d0 + else + aretarded = 0.d0 + endif + + end if + +C spherical coordinates + + rho = max(sqrt(x**2 + y**2), eps) + r = sqrt(rho**2 + z**2) + sinp = y / rho + cosp = x / rho + phi = acos(cosp) + sint = rho / r + cost = z / r + tx = cost*cosp + ty = cost*sinp + tz = sint + px = - sinp + py = cosp + pz = 0 + +C distance function a(T-R) + + tau = 5.d0/128.d0 * a0**4 / m**3 + a = a0 * (1.d0 - atype * 4.d0*(t - aretarded*r)/tau)**(0.25d0) + +C orbital frequency Omega(T-R) + + Omega = 0.5d0*(m/a**3)**2 + +C 1/r type potential f + + c = y**2 + z**2 + bround**2; + f = ((x-a)**2 + c)**(-0.5d0) + ((x+a)**2 + c)**(-0.5d0) + +C the three metric, tt part + + c3 = 2.d0*(phi + Omega*r) + c0 = - 4.d0 * m * a**2 * Omega**3 * (Omega*r)**4 + . / (1 + (Omega*r)**2)**(2.5d0) + c1 = (1 + cost**2) * cos(c3) * c0 + c2 = - 2.d0 * cost * sin(c3) * c0 + gdxx = c1 * (tx*tx - px*px) + c2 * (tx*px + px*tx) + gdxy = c1 * (tx*ty - px*py) + c2 * (tx*py + px*ty) + gdxz = c1 * (tx*tz - px*pz) + c2 * (tx*pz + px*tz) + gdyy = c1 * (ty*ty - py*py) + c2 * (ty*py + py*ty) + gdyz = c1 * (ty*tz - py*pz) + c2 * (ty*pz + py*tz) + gdzz = c1 * (tz*tz - pz*pz) + c2 * (tz*pz + pz*tz) + +C the three metric, add conformally flat part + + c = (1.d0 + m * f)**2 + gdxx = gdxx + c + gdyy = gdyy + c + gdzz = gdzz + c + +C the shift vector and covector + + c = (1.d0 - 2*m*a**2/(r**2+a**2) * f) * Omega * rho + bx = c * px + by = c * py + bz = c * pz + gdtx = gdxx*bx + gdxy*by + gdxz*bz + gdty = gdxy*bx + gdyy*by + gdyz*bz + gdtz = gdxz*bx + gdyz*by + gdzz*bz + b2 = gdtx*bx + gdty*by + gdtz*bz + +C lapse squard and time-time component of the four metric + + a2 = (1.d0 - m * f)**2 + gdtt = b2 - a2 + +C done with metric, find its inverse +C inverse three metric + + detgd = -(gdxz**2*gdyy) + 2*gdxy*gdxz*gdyz - gdxx*gdyz**2 + . - gdxy**2*gdzz - gdxx*gdyy*gdzz + guxx = (-gdyz**2 + gdyy*gdzz) / detgd + guxy = (gdxz*gdyz - gdxy*gdzz) / detgd + guxz = (-(gdxz*gdyy) + gdxy*gdyz) / detgd + guyy = (-gdxz**2 + gdxx*gdzz) / detgd + guyz = (gdxy*gdxz - gdxx*gdyz) / detgd + guzz = (-gdxy**2 + gdxx*gdyy) / detgd + +C inverse four metric + + gutt = - 1.d0/a2 + gutx = bx/a2 + guty = by/a2 + gutz = bz/a2 + guxx = guxx - bx*bx/a2 + guxy = guxy - bx*by/a2 + guxz = guxz - bx*bz/a2 + guyy = guyy - by*by/a2 + guyz = guyz - by*bz/a2 + guzz = guzz - bz*bz/a2 + +C done! + return + end diff --git a/src/metrics/anti_de_Sitter_Lambda.F b/src/metrics/anti_de_Sitter_Lambda.F new file mode 100644 index 0000000..5e2733c --- /dev/null +++ b/src/metrics/anti_de_Sitter_Lambda.F @@ -0,0 +1,65 @@ +C Anti DeSitter metric spacetime with csomological constant +C Author : D. Vulcanov (Timisoara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__anti_de_Sitter_Lambda( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL arad,am + + data firstcall /.true./ + save firstcall, arad + if (firstcall) then + arad = anti_de_Sitter_Lambda__scale + firstcall = .false. + end if + + + + am=exp(2.0D0*dsqrt(-arad/3.0D0)*x) + + + gdtt = -am + gdtx = 0.0D0 + gdty = 0.0D0 + gdtz = 0.0D0 + gdxx = 1.0D0 + gdyy = am + gdzz = am + gdxy = 0.0D0 + gdyz = 0.0D0 + gdzx = 0.0D0 + + gutt = -1.0D0/am + gutx = 0.0D0 + guty = 0.0D0 + gutz = 0.0D0 + guxx = 1.0D0 + guyy = 1.0D0/am + guzz = 1.0D0/am + guxy = 0.0D0 + guyz = 0.0D0 + guzx = 0.0D0 + + + return + end diff --git a/src/metrics/boost_rotation_symmetric.F b/src/metrics/boost_rotation_symmetric.F new file mode 100644 index 0000000..ec3dbf9 --- /dev/null +++ b/src/metrics/boost_rotation_symmetric.F @@ -0,0 +1,165 @@ +c Boost-Rotation symmetric metric +c see Pravda and Pravdova [a-acute accent on last a], gr-qc/0003067 +c $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__boost_rotation_symmetric( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + CCTK_REAL a, b, mu0, mu1, lam1, mu2, lam2, + $ lam3, mu4, lam4, mu5, lam5, num, div, f, + $ elam, emu0, delta, gfunc, tmp + CCTK_REAL h, d, numlim + + external gfunc + + logical firstcall + + data firstcall /.true./ + save firstcall, h, d, numlim + +C Get parameters of the exact solution. + + if (firstcall) then + h = boost_rotation_symmetric__scale + d = boost_rotation_symmetric__amp + numlim = boost_rotation_symmetric__min_d + + firstcall = .false. + end if + +C Intermediate quantities. + + a = x**2 + y**2 + b = z**2 - t**2 + + num = (0.5d0 * (a + b) - h)**2 + 2.d0 * h * a + +C Make sure we are not sitting on one of the two source wordlines, +C given by x = y = 0, z = +/- sqrt(h^2 + t^2) + + if (num / h**4 .le. numlim) stop 'too close to source wordline' + + div = 1.d0 / sqrt(num**3) + f = d**2 * ((0.25d0 * (a + b)**2 - h**2)**2 + $ - 0.5d0 * h**2 * a * b) / num**4 + + mu0 = - d * div * (0.5d0 * a**2 + h * a) + mu1 = - d * div * (0.5d0 * b + a - h) + lam1 = d * div * (0.5d0 * b - h) - a * f + mu2 = gfunc(b, mu1) + lam2 = gfunc(b, lam1) + + lam3 = d * div * (0.5d0 * b**2 - h * b) + lam4 = - d * div * (0.5d0 * a + h) - b * f + mu4 = - d * div * (0.5d0 * a + b + h) + mu5 = gfunc(a, - mu4) + lam5 = gfunc(a, lam4) + + elam = exp(lam3 + a * lam4) + emu0 = exp(mu0) + delta = exp(lam3) * (mu5 - lam5) + +C All nonvanishing metric coefficients (downstairs). + + gdxx = elam + y**2 * Delta + gdyy = elam + x**2 * Delta + gdxy = - x * y * Delta + gdzz = emu0 * (1.d0 + lam2 * z**2 - mu2 * t**2) + gdtz = - emu0 * z * t * (lam2 - mu2) + gdtt = - emu0 * (1.d0 + mu2 * z**2 - lam2 * t**2) + +C Others. + + gdzx = 0.d0 + gdyz = 0.d0 + gdtx = 0.d0 + gdty = 0.d0 + +C It is clear that the 3-metric is always spacelike in the xy plane. So +C we only need to check that gdzz is positive. + + if (gdzz .le. 0.d0) then + write(*,*) 'WARNING 3-metric not spacelike in boostrot at' + write(*,*) 't =', t, 'z =', z + write(*,*) 'x =', x, 'y =', y + pause + end if + +C Calculate inverse metric. That is not too difficult as it is +c in block-diagonal form. + + tmp = gdtt * gdzz - gdtz**2 + + if (tmp .eq. 0.d0) then + write(*,*) 'boostrot metric inverse failed in tz plane' + STOP + end if + + gutt = gdzz / tmp + guzz = gdtt / tmp + gutz = - gdtz / tmp + + tmp = gdxx * gdyy - gdxy**2 + + if (tmp .eq. 0.d0) then + write(*,*) 'boostrot metric inverse failed in xy plane' + STOP + end if + + guxx = gdyy / tmp + guyy = gdxx / tmp + guxy = - gdxy / tmp + + guzx = 0.d0 + guyz = 0.d0 + gutx = 0.d0 + guty = 0.d0 + + return + end + +ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +C Calculates g = [exp (x f) - 1] / x as a power series for small x, +C so that the expression is regular at x = 0. + + function gfunc(x, f) + + implicit none + + integer n + + CCTK_REAL x, f, gfunc + CCTK_REAL sum, tmp + + if (abs(x*f) .ge. 1.d-6) then + gfunc = (exp(x*f) - 1.d0) / x + else + sum = 0.d0 + tmp = f + do n=1,10 + tmp = tmp / dble(n) + sum = sum + tmp + tmp = tmp * x * f + end do + gfunc = sum + end if + + return + end diff --git a/src/metrics/bowl.F b/src/metrics/bowl.F new file mode 100644 index 0000000..192c4e0 --- /dev/null +++ b/src/metrics/bowl.F @@ -0,0 +1,242 @@ +c The metric given here is not a solution of +c Einsteins equations! It is nevertheless +c useful for tests since it has a particularly +c nice geometry. It is a static, spherically +c symmetric metric with no shift. +c +c In spherical coordinates, the metric has the +c form: +c +c 2 2 2 2 +c ds = dr + R(r) d Omega +c +c Clearly, r measures radial proper distance, and R(r) +c is the areal (Schwarzschild) radius. +c +c I choose a form of R(r) such that: +c +c R --> r r<<1, r>>1 +c +c So close in, and far away we have a flat metric. +c In the middle region, I take R to be smaller than +c r, but still larger than zero. This deficit in +c areal radius produces the geometry of a "bag of gold". +c +c The size of the deviation from a flat geometry +c is controled by the parameter "bowl__strength". +c If this parameter is 0, we are in flat space. +c The width of the curved region is controled by +c the paramter "bowl__sigma", and the place where the +c curvature becomes significant (the center of the +c deformation) is controled by "bowl__center". +c +c The specific form of the function R(r) is: +c +c R(r) = ( r - a f(r) ) +c +c and the form of thr function f(r) depends on the +c parameter bowl__shape: +c 2 2 2 +c bowl__shape = "Gaussian" f(r) = exp(-(r-c) / s ) +c +c bowl__shape = "Fermi" f(r) = 1 / ( 1 + exp(-s(r-c)) ) +c +c There are three extra paramters +c (bowl__x_scale,bowl__y_scale,bowl__z_scale) that set the +c scales for the (x,y,z) axis respectively. Their default +c value are all 1. These parameters are useful to hide the +c spherical symmetry of the metric. +c +c $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__bowl( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + DECLARE_CCTK_FUNCTIONS + +c Input. + CCTK_REAL x, y, z, t + +c Output. + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall,evolve + + integer type + + CCTK_REAL a,c,s + CCTK_REAL dx,dy,dz + CCTK_REAL r,r2,rr2 + CCTK_REAL xr,yr,zr,xr2,yr2,zr2 + CCTK_REAL fac,det + CCTK_REAL tfac,st,t0 + CCTK_REAL zero,one,two + + data firstcall /.true./ + save firstcall,evolve,type,a,c,s,dx,dy,dz,t0,st + +c Find {zero,one,two}. + + zero = 0.0d0 + one = 1.0d0 + two = 2.0d0 + +c Get parameters of the metric. + + if (firstcall) then + + a = bowl__strength + c = bowl__center + s = bowl__sigma + + dx = bowl__x_scale + dy = bowl__y_scale + dz = bowl__z_scale + + if (CCTK_Equals(bowl__shape,"Gaussian").ne.0) then + type = 1 + else if (CCTK_Equals(bowl__shape,"Fermi").ne.0) then + type = 2 + else + call CCTK_WARN(0,"Unknown parameter bowl__shape") + end if + + if (bowl__evolve.eq.1) then + evolve = .true. + t0 = bowl__t0 + st = bowl__sigma_t + else + evolve = .false. + end if + + firstcall = .false. + + end if + +c Multiply the bowl strength "a" with a time evolution factor. +c The time evolution factor is taken to be a Fermi step centered +c in `t0' and with a width `st'. The size of this step is always +c 1 so that far in the past we will always have flat space, and +c far in the future we will have the static bowl. + + if (evolve) then + tfac = one/(one + dexp(-st*(t-t0))) + else + tfac = one + end if + + a = a*tfac + +c Find {r2,r}. + + r2 = (x/dx)**2 + (y/dy)**2 + (z/dz)**2 + r = dsqrt(r2) + +c Find the form function rr2 +c +c 2 2 2 +c rr2 = (r - a f) / r = (1 - a f / r) + + if (type.eq.1) then + +c Gaussian bowl: +c 2 2 2 +c rr2 = [ 1 - a exp(-(r-c) /s ) / r ] +c +c Notice that this really does not go to 1 at the +c origin. To fix this, I multiply the gaussian +c with the factor: +c +c fac = 1 - sech(4r) +c +c This goes smoothly to 0 at the origin, and climbs +c fast to a limiting value of 1 (at r=1 it is already +c equal to 0.96). + + fac = one - two/(dexp(4.0d0*r) + dexp(-4.0d0*r)) + rr2 = (one - a*fac*dexp(-((r-c)/s)**2)/r)**2 + + else if (type.eq.2) then + +c Fermi bowl: +c 2 +c rr2 = [ 1 - 1 / ( 1 + exp(-s(r-c)) ) / r ] +c +c Again, this doesnt really go to 1 at the origin, so +c I use the same trick as above. + + fac = one - two/(dexp(4.0d0*r) + dexp(-4.0d0*r)) + rr2 = (one - a*fac/(one + dexp(-s*(r-c)))/r)**2 + + end if + +c Give metric components. + + gdtt = - one + gdtx = zero + gdty = zero + gdtz = zero + + if (r.ne.0) then + + xr = (x/dx)/r + yr = (y/dy)/r + zr = (z/dz)/r + + xr2 = xr**2 + yr2 = yr**2 + zr2 = zr**2 + + gdxx = (xr2 + rr2*(yr2 + zr2))/dx**2 + gdyy = (yr2 + rr2*(xr2 + zr2))/dy**2 + gdzz = (zr2 + rr2*(xr2 + yr2))/dz**2 + + gdxy = xr*yr*(one - rr2)/(dx*dy) + gdyz = yr*zr*(one - rr2)/(dy*dz) + gdzx = xr*zr*(one - rr2)/(dx*dz) + + else + + gdxx = one + gdyy = one + gdzz = one + + gdxy = zero + gdyz = zero + gdzx = zero + + end if + +c Find inverse metric. + + gutt = - one + gutx = zero + guty = zero + gutz = zero + + det = gdxx*gdyy*gdzz + two*gdxy*gdzx*gdyz + . - gdxx*gdyz**2 - gdyy*gdzx**2 - gdzz*gdxy**2 + + guxx = (gdyy*gdzz - gdyz**2)/det + guyy = (gdxx*gdzz - gdzx**2)/det + guzz = (gdxx*gdyy - gdxy**2)/det + + guxy = (gdzx*gdyz - gdzz*gdxy)/det + guyz = (gdxy*gdzx - gdxx*gdyz)/det + guzx = (gdxy*gdyz - gdyy*gdzx)/det + + return + end diff --git a/src/metrics/constant_density_star.F b/src/metrics/constant_density_star.F new file mode 100644 index 0000000..ab3aa30 --- /dev/null +++ b/src/metrics/constant_density_star.F @@ -0,0 +1,125 @@ +c The metric given here corresponds to a constant +c density star, also known as a "Schwarzschild" star. +c There is corresponding code in +c include/Scalar_CalcTmunu.inc +c to set up the matter variables. +c Author: Mitica Vulcanov +c $Header$ + + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__constant_density_star( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + +c +c The metric is given as a conformally flat metric. +c Turns out that in the original areal radius, the +c metric variables have a kink at the surface of the +c star, but they are smooth in the conformal form. +c +c Thanks to Philippos Papadopoulos for suggesting +c the use of this metric. + + implicit none + + DECLARE_CCTK_PARAMETERS + +c Input. + + CCTK_REAL x, y, z, t + +c Output. + + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + +c Internal. + + logical firstcall + + CCTK_REAL mass,radius + CCTK_REAL r,c,psi4 + CCTK_REAL zero,one,two + + data firstcall /.true./ + save firstcall, mass, radius + +c Find {zero,one,two}. + + zero = 0.0D0 + one = 1.0D0 + two = 2.0D0 + +c Get parameters of the metric. + + if (firstcall) then + + mass = constant_density_star__mass + radius = constant_density_star__radius + + firstcall = .false. + + end if + +c Find r. + + r = dsqrt(x**2 + y**2 + z**2) + +c Find conformal factor. + + if (r.le.radius) then + + c = mass/(two*radius) + + psi4 = (one + c)**6/(one + c*(r/radius)**2)**2 + + else + + c = mass/(two*r) + + psi4 = (one + c)**4 + + end if + +c Find metric components. + + gdtt = - psi4 + + gdtx = zero + gdty = zero + gdtz = zero + + gdxx = psi4 + gdyy = psi4 + gdzz = psi4 + + gdxy = zero + gdyz = zero + gdzx = zero + +c Find inverse metric. + + gutt = -one/psi4 + + gutx = zero + guty = zero + gutz = zero + + guxx = one/psi4 + guyy = one/psi4 + guzz = one/psi4 + + guxy = zero + guyz = zero + guzx = zero + + return + end diff --git a/src/metrics/de_Sitter.F b/src/metrics/de_Sitter.F new file mode 100644 index 0000000..2ced3e5 --- /dev/null +++ b/src/metrics/de_Sitter.F @@ -0,0 +1,68 @@ +C Einstein-DeSitter metric spacetime !!!! +C It emulates the Robertson-Walker universe +C near t=0, with zero pressure, and k=0 +C See :J.N. Islam, An Introduction to +C Mathematical Cosmology, Cambridge, 1992 and +C S. Hawking, G.F.R. Ellis, The Large Scale +C Structure of space-time, Cambridge, 1973 +C Author : D. Vulcanov (Timisoara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__de_Sitter( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL arad,am + + data firstcall /.true./ + save firstcall, arad + if (firstcall) then + arad = de_Sitter__scale + firstcall = .false. + end if + + am=arad*t**(4.0D0/3.0D0) + + gdtt = -1.0D0 + gdtx = 0.0D0 + gdty = 0.0D0 + gdtz = 0.0D0 + gdxx = am + gdyy = am + gdzz = am + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = 0.d0 + + gutt = -1.d0 + gutx = 0.d0 + guty = 0.d0 + gutz = 0.d0 + guxx = 1.d0/am + guyy = 1.d0/am + guzz = 1.d0/am + guxy = 0.d0 + guyz = 0.d0 + guzx = 0.d0 + + + return + end diff --git a/src/metrics/de_Sitter_Lambda.F b/src/metrics/de_Sitter_Lambda.F new file mode 100644 index 0000000..381159b --- /dev/null +++ b/src/metrics/de_Sitter_Lambda.F @@ -0,0 +1,62 @@ +C DeSitter metric spacetime with cosmological constant +C Author : D. Vulcanov (Timisoara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__de_Sitter_Lambda( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL arad,am + + data firstcall /.true./ + save firstcall, arad + if (firstcall) then + arad = de_Sitter_Lambda__scale + firstcall = .false. + end if + + am=exp(2.0D0*dsqrt(arad/3.0d0)*t) + + gdtt = -1.d0 + gdtx = 0.d0 + gdty = 0.d0 + gdtz = 0.d0 + gdxx = am + gdyy = am + gdzz = am + gdxy = 0.d0 + gdyz = 0.d0 + gdzx = 0.d0 + + gutt = -1.d0 + gutx = 0.d0 + guty = 0.d0 + gutz = 0.d0 + guxx = 1.d0/am + guyy = 1.d0/am + guzz = 1.d0/am + guxy = 0.d0 + guyz = 0.d0 + guzx = 0.d0 + + + return + end diff --git a/src/metrics/make.code.defn b/src/metrics/make.code.defn new file mode 100644 index 0000000..858b6da --- /dev/null +++ b/src/metrics/make.code.defn @@ -0,0 +1,41 @@ +# Main make.code.defn file for thorn Exact +# $Header$ + +# +# Source files in this directory +# ... if adding new files, please keep this list in the same order as the +# metrics in this thorn's param.ccl file +# +SRCS = Minkowski.F \ + Minkowski_funny.F \ + Minkowski_shift.F \ + Minkowski_gauge_wave.F \ + \ + Schwarzschild_EF.F \ + Schwarzschild_PG.F \ + Schwarzschild_Novikov.F \ + Kerr_BoyerLindquist.F \ + Kerr_KerrSchild.F \ + Schwarzschild_Lemaitre.F \ + multi_BH.F \ + Thorne_fakebinary.F \ + \ + Lemaitre.F \ + Robertson_Walker.F \ + de_Sitter.F \ + de_Sitter_Lambda.F \ + anti_de_Sitter_Lambda.F \ + Bianchi_I.F \ + Goedel.F \ + Bertotti.F \ + Kasner_like.F \ + Kasner_axisymmetric.F \ + Kasner_generalized.F \ + Milne.F \ + \ + boost_rotation_symmetric.F \ + bowl.F \ + constant_density_star.F + +# not fully implemented yet -- see Nina Jansen for details +# Alvi.F Alvidef.c diff --git a/src/metrics/multi_BH.F b/src/metrics/multi_BH.F new file mode 100644 index 0000000..a942c67 --- /dev/null +++ b/src/metrics/multi_BH.F @@ -0,0 +1,134 @@ +c======================================================================= +c23456789012345678901234567890123456789012345678901234567890123456789012 +c----------------------------------------------------------------------- +c by Hisaaki Shinkai shinkai@wurel.wustl.edu 19980603 +c----------------------------------------------------------------------- +c This is for maximally charged multi BH solutions such as +c Majumdar-Papapetrou (1947) or Kastor-Traschen (1993) solution. +c See also doc/KTsol.tex for brief review of this solution. +c----------------------------------------------------------------------- +c For usage: in your par file +c Exact::exact_model = "multiBH" +c Exact::multi_BH__Hubble = 0.0 # 0.0 means MP solution +c Exact::multi_BH__nBH = 2 # number of BHs (upto 4, currently) +c m_bh1,multi_BH__x1x,multi_BH__x1y,multi_BH__x1z = 1.0, -2.0,0.0,0.0 # masses and +c m_bh2,multi_BH__x2x,multi_BH__x2y,multi_BH__x2z = 1.0, 2.0,0.0,0.0 # locations +c----------------------------------------------------------------------- +c $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__multi_BH( + $ x, y, z, t, + $ gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx) + + implicit none + + DECLARE_CCTK_PARAMETERS + +c Input. + CCTK_REAL x, y, z, t + +c Output. + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL kt_r, kt_aa, kt_omega + CCTK_REAL one,zero + CCTK_REAL kt_xbh(10),kt_ybh(10),kt_zbh(10),kt_mbh(10) + + integer i + + data firstcall /.true./ + save firstcall,kt_xbh,kt_ybh,kt_zbh,kt_mbh + +c Get parameters of the exact solution. + + if (firstcall) then + + write(*,*) ' welcome to Kastor-Traschen (Majumdar-Papapetrou)' + + if(multi_BH__nBH.ge.1) then + kt_xbh(1) = multi_BH__x1 + kt_ybh(1) = multi_BH__y1 + kt_zbh(1) = multi_BH__z1 + kt_mbh(1) = multi_BH__mass1 + endif + + if(multi_BH__nBH.ge.2) then + kt_xbh(2) = multi_BH__x2 + kt_ybh(2) = multi_BH__y2 + kt_zbh(2) = multi_BH__z2 + kt_mbh(1) = multi_BH__mass2 + endif + + if(multi_BH__nBH.ge.3) then + kt_xbh(3) = multi_BH__x3 + kt_ybh(3) = multi_BH__y3 + kt_zbh(3) = multi_BH__z3 + kt_mbh(1) = multi_BH__mass3 + endif + + if(multi_BH__nBH.ge.4) then + kt_xbh(4) = multi_BH__x4 + kt_ybh(4) = multi_BH__y4 + kt_zbh(4) = multi_BH__z4 + kt_mbh(1) = multi_BH__mass4 + endif + + write(*,*) 'time=',t + write(*,*) ' mass BH(x,y,z) ' + + do i=1,multi_BH__nBH + write(*,'(4e12.3)') kt_mbh(i),kt_xbh(i),kt_ybh(i),kt_zbh(i) + enddo + + firstcall = .false. + + end if + + one =1.0 + zero=0.0 + + kt_aa=exp(multi_BH__Hubble*t) + kt_omega=1.0 + + do i=1,multi_BH__nBH + kt_r=sqrt((x-kt_xbh(i))**2+(y-kt_ybh(i))**2+(z-kt_zbh(i))**2) + kt_omega= kt_omega+kt_mbh(i)/kt_aa/kt_r + enddo + +c write(*,*) kt_omega,kt_aa + + gdtt = -1.0/kt_omega**2 + gdtx = zero + gdty = zero + gdtz = zero + gdxx = (kt_aa*kt_omega)**2 + gdyy = (kt_aa*kt_omega)**2 + gdzz = (kt_aa*kt_omega)**2 + gdxy = zero + gdyz = zero + gdzx = zero + + gutt = one/gdtt + gutx = zero + guty = zero + gutz = zero + guxx = one/gdxx + guyy = one/gdyy + guzz = one/gdzz + guxy = zero + guyz = zero + guzx = zero + + return + end |