FORM 4.0 (Jun 30 2012) 64-bits Run: Mon Feb 4 11:47:30 2013 * Title: POINT CHARGE: * retarded and advanced near and far fields * File: nearfardiv.frm * Author: David N. Williams * License: Creative Commons Attribution-Share Alike * Started: July 14, 2012 * Revised: July 14,15, 2012 * August 26,27, 2012 * October 12, 2012 * * All parts of this program not in the public domain are: * * Copyright (C) 1987-1990, 2012 David N. Williams * * This work is licensed under the Creative Commons Attribution- * Share Alike 2.5 License. To view a copy of this license, visit * http://creativecommons.org/licenses/by-sa/2.5/ or send a letter * to Creative Commons, 543 Howard Street, 5th Floor, San * Francisco, California, 94105, USA. * * Input: derivs.sav * Output: log file #if 0 This program calculates the four-divergence of the near and far, retarded and advanced electromagnetic field tensor. It confirms that, although E, B, and E x B are very radiation-like (see poynting.frm), the far (radition) field is not a solution of Maxwell's equations. See derivs.frm for more information about the inputs. Many of the expressions in derivs.sav are not used. We use Gaussian units. The source point and all vectors and tensors are retarded or advanced. The Lorentz metric is (+---). Indices have the values 0,12,3. The source point and all vectors and tensors in the following are retarded or advanced. NOTATION c speed of light A Lorentz gauge four-vector potential F electromagnetic field tensor r light-cone four-displacement, from source to field point u four-velocity a four-acceleration s sgn(r⋅u) = sgn(r⁰) q charge f dummy coefficient, different values in A and ∂⋅F f1,f2 f',f" All derivatives are understood to be valid when r and r⋅u are nonzero. Note that s = ±1 for ret/adv fields. A factor qs is initially left out of A and its derivatives. Since it propagates through the derivatives, it is legitimately supplied at the end. RESULT 2qs r r⋅a c² ∂⋅F_near = -∂⋅F_far = ------------- (r⋅u)⁴ #endif *** DEBUGGING #procedure try print +s; .end #endprocedure *** DECLARATIONS off statistics; S c,s,q; S [r.u]; I mu,nu,la; V r,x,y,u,a,j; T g; * dummies S f,f1,f2; V v; Load derivs.sav; dr loaded du loaded da loaded dj loaded [d(r.u)] loaded [d(r.a)] loaded [d.r] loaded [d.u] loaded [d.a] loaded [d.j] loaded [r.dr] loaded [r.du] loaded [r.da] loaded [r.dj] loaded [u.dr] loaded [u.du] loaded [u.da] loaded [a.dr] loaded [a.du] loaded [a.da] loaded df loaded df1 loaded [r.d(r.u)] loaded [r.d(r.a)] loaded [u.d(r.u)] loaded [u.d(r.a)] loaded [a.d(r.u)] loaded [a.d(r.a)] loaded [r.df] loaded [u.df] loaded dfr loaded dfu loaded dfa loaded dfj loaded df1r loaded df1u loaded df1a loaded df1j loaded drr loaded dru loaded dra loaded drj loaded duu loaded dua loaded duj loaded daa loaded daj loaded dfrr loaded dfru loaded dfra loaded dfrj loaded dfuu loaded dfua loaded dfuj loaded dfaa loaded dfaj loaded [d.fr] loaded [d.fu] loaded [d.fa] loaded [d.fj] loaded [d.frr] loaded [d.fru] loaded [d.fra] loaded [d.fur] loaded [d.fuu] loaded [d.fua] loaded [d.far] loaded [d.fau] loaded [d.faa] loaded ddf loaded ddr loaded ddu loaded dda loaded ddfr loaded ddfu loaded ddfa loaded ddrr loaded ddru loaded ddra loaded dduu loaded ddua loaded ddaa loaded ddfrr loaded ddfru loaded ddfra loaded ddfuu loaded ddfua loaded ddfaa loaded dddfr loaded .global *** MODULES G A(mu) = f*u(mu); G dA(mu,nu) = dfu(mu,nu); print +s; .store A(mu) = + u(mu)*f ; dA(mu,nu) = + r(mu)*u(nu)*r.u^-1*r.a*f1 - r(mu)*u(nu)*r.u^-1*c^2*f1 + r(mu)*a(nu)*r.u^-1*f + u(mu)*u(nu)*f1 ; G F(mu,nu) = dA(mu,nu) - dA(nu,mu); print +s; .store F(mu,nu) = + r(mu)*u(nu)*r.u^-1*r.a*f1 - r(mu)*u(nu)*r.u^-1*c^2*f1 + r(mu)*a(nu)*r.u^-1*f - r(nu)*u(mu)*r.u^-1*r.a*f1 + r(nu)*u(mu)*r.u^-1*c^2*f1 - r(nu)*a(mu)*r.u^-1*f ; #if 0 * check against dfu L F(mu,nu) = F(mu,nu); L diff = dfu(mu,nu) - dfu(nu,mu) - F(mu,nu); print +s; .end #endif G Fnear(mu,nu) = F(mu,nu); Id a(mu?) = 0; Id r.a = 0; print +s; .store Fnear(mu,nu) = - r(mu)*u(nu)*r.u^-1*c^2*f1 + r(nu)*u(mu)*r.u^-1*c^2*f1 ; G Ffar(mu,nu) = F(mu,nu) - Fnear(mu,nu); print +s; .store Ffar(mu,nu) = + r(mu)*u(nu)*r.u^-1*r.a*f1 + r(mu)*a(nu)*r.u^-1*f - r(nu)*u(mu)*r.u^-1*r.a*f1 - r(nu)*a(mu)*r.u^-1*f ; G Fnear(mu,nu) = Fnear(mu,nu); G Ffar(mu,nu) = Ffar(mu,nu); #if 1 Id f = r.u^-1; Id f1 = -r.u^-2; Id f2 = 2*r.u^-3; .sort #endif #if 0 G [d.Fnear](mu) = [d.fru](mu) - [d.fur](mu); Id f = q*s*r.u^-3*c^2; Id f1 = -3*q*s*r.u^-4*c^2; #endif #if 0 Results so far: Fnear(mu,nu) = r(mu)*u(nu)*r.u^-3*c^2 - r(nu)*u(mu)*r.u^-3*c^2; Ffar(mu,nu) = - r(mu)*u(nu)*r.u^-3*r.a + r(mu)*a(nu)*r.u^-2 + r(nu)*u(mu)*r.u^-3*r.a - r(nu)*a(mu)*r.u^-2; #endif G [d.ru](mu) = [d.fru](mu); G [d.ur](mu) = [d.fur](mu); G [d.ra](mu) = [d.fra](mu); G [d.ar](mu) = [d.far](mu); Id f = 1; Id f1 = 0; .sort G [d.Fnear](mu) = [d.ru](mu) * r.u^-3 * c^2 - 3*u(mu) * r.u^-4 * [r.d(r.u)]*c^2 - [d.ur](mu) * r.u^-3 * c^2 + 3*r(mu) * r.u^-4 * [u.d(r.u)]*c^2 ; G [d.Ffar](mu) = - [d.ru](mu) * r.u^-3 * r.a + 3*u(mu) * r.u^-4 * [r.d(r.u)]* r.a - u(mu) * r.u^-3 * [r.d(r.a)] + [d.ur](mu) * r.u^-3 * r.a - 3*r(mu) * r.u^-4 * [u.d(r.u)]* r.a + r(mu) * r.u^-3 * [u.d(r.a)] + [d.ra](mu) * r.u^-2 - 2*a(mu) * r.u^-3 * [r.d(r.u)] - [d.ar](mu) * r.u^-2 + 2*r(mu) * r.u^-3 * [a.d(r.u)] ; B s,q; print; .end Fnear(mu,nu) = + r(mu)*u(nu)*r.u^-3*c^2 - r(nu)*u(mu)*r.u^-3*c^2; Ffar(mu,nu) = - r(mu)*u(nu)*r.u^-3*r.a + r(mu)*a(nu)*r.u^-2 + r(nu)*u(mu)*r.u^-3*r.a - r(nu)*a(mu)*r.u^-2; [d.ru](mu) = + 3*u(mu); [d.ur](mu) = + r(mu)*r.u^-1*r.a; [d.ra](mu) = + 3*a(mu); [d.ar](mu) = + r(mu)*r.u^-1*r.j - u(mu)*r.u^-1*r.a + a(mu); [d.Fnear](mu) = + 2*r(mu)*r.u^-4*r.a*c^2; [d.Ffar](mu) = - 2*r(mu)*r.u^-4*r.a*c^2; 0.00 sec out of 0.00 sec