Field propagation simulation - double check ?

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
Mihail_B
Posts: 273
Joined: Jan 29, 2008 11:20
Location: Romania
Contact:

Field propagation simulation - double check ?

Post by Mihail_B »

Does anyone has patience to double check my results ?
I'm working on some field propagation simulation and I need little help to see if it's ok

' From covariant formulation of electromagnetism (https://en.wikipedia.org/wiki/Covariant ... omagnetism)
' we have
' p{a}/dtau = e * F{ab} * u

' {..} = covariant (lower index} ; [..] = contravariant (upper index)
' a = sqr(1 - v^2/c^2),
' gamma = 1/a ,
' m = m0 (rest mass),
' e = charge,
' c = speed of light 3e8 m/s
' d(tau) = dtau = dt * a, (proper time)
' v = dx / dt
' v^2 = vx^2 + vy^2 + vz^2
' vx, vy, vz = velocity vector components
' Ex, Ey, Ez = electric field vector components
' Bx, By, Bz = magnetic field vector components
' E = m*c^2 (energy, in Joules)
' ^ = power operator (takes highest precedence here)

' under Minkowski metric :
' (proper time d(tau)^2 = dt^2 - (1/(c^2))*(dx^2 + dy^2 + dz^2)
' (proper distance d(sigma)^2 = -(c*t)^2 + dx^2 + dy^2 + dz^2)

' x[a] = distance/position etc in [m];
' u[a] = gamma(c, u) ; u[a] velocity vector in [m/s]
' p{a} = m0 * u[a] ; p = covariant impulse vector
' F{ab} = electromagnetic tensor

' x[0] = c*t , x[1] = x , x[2] = y , x[3] = z
' u[0] = c/a ; u[1] = vx/a ; u[1] = vy/a ; u[2] = vz/a
' p[0] = - m*c/a ; p[1] = m*vx/a ; p[2] = m*vy/a ; p[3] = m*vz/a
' F{ab} = | 0 -Ex/c -Ey/c -Ez/c |
' | Ex/c 0 -Bz By |
' | Ey/c Bz 0 -Bx |
' | Ez/c -By Bx 0 |
' {ab} -> a=row pos, b=col pos (like in LOCATE 10,10)
'

' for [0,0 to 3]
' dp{0}/dtau = e * F{00} * u[0] =>-m*c/(a*dtau) = e * 0 * c/a
' dp{0}/dtau = e * F{01} * u[1] => -m*c/(a*dtau) = e * (-Ex/c) * vx/a
' dp{0}/dtau = e * F{02} * u[2] => -m*c/(a*dtau) = e * (-Ey/c) * vy/a
' dp{0}/dtau = e * F{03} * u[3] => -m*c/(a*dtau) = e * (-Ez/c) * vz/a
' ----- sum ----- (add all rows)
' d (-m*c/a) / dtau = - e/a *(Ex/c*vx+ Ey/c*vy + Ez/c*vz)
' d (-m*c/a) = -e / (a*c) * (Ex*vx+ Ey*vy + Ez*vz) * dtau
' m * c /a' = e / (a*c) * (Ex*vx+ Ey*vy + Ez*vz) * dtau + m*c/a

' for [1, 0 to 3]
' p{1}/dtau = e * F{10} * u[0] => m*vx/(a*dtau) = e * (Ex/c) * c/a
' p{1}/dtau = e * F{11} * u[1] => m*vx/(a*dtau) = e * (0) * vx/a
' p{1}/dtau = e * F{12} * u[2] => m*vx/(a*dtau) = e * (-Bz) * vy/a
' p{1}/dtau = e * F{13} * u[3] => m*vx/(a*dtau) = e * (By) * vz/a
' ------ sum ----- (add all rows)
' d m*vx/(a*dtau) = e/a * (Ex*c/c + 0 - Bz*vy + By*vz)
' d m*vx/a = e/a *(Ex - Bz*vy + By*vz) * dtau
' m * vx' / a' = e/a *(Ex - Bz*vy + By*vz) * dtau + m*vx/a

' for [2, 0 to 3]
' p{2}/dtau = e * F{20} * u[0] => m*vy/(a*dtau) = e * (Ey/c) * c/a
' p{2}/dtau = e * F{21} * u[1] => m*vy/(a*dtau) = e * (Bz) * vx/a
' p{2}/dtau = e * F{22} * u[2] => m*vy/(a*dtau) = e * (0) * vy/a
' p{2}/dtau = e * F{23} * u[3] => m*vy/(a*dtau) = e * (-Bx) * vz/a
' ------ sum ------ (add all rows)
' d m*vy/(a*dtau) = e/a * (Ey*c/c + Bz*vx + 0 - Bx*vz)
' d m*vy/a = e/a * (Ey + Bz*vx - Bx*vz)*dtau
' m * vy' /a' = e/a * (Ey + Bz*vx - Bx*vz)*dtau + m*vy/a

' for [3, 0..3]
' p{3}/dtau = e * F{30} * u[0] => m*vz/(a*dtau) = e * (Ez/c) * c/a
' p{3}/dtau = e * F{31} * u[1] => m*vz/(a*dtau) = e * (-By) * vx/a
' p{3}/dtau = e * F{32} * u[2] => m*vz/(a*dtau) = e * (Bx) * vy/a
' p{3}/dtau = e * F{33} * u[3] => m*vz/(a*dtau) = e * (0) * vz/a
' ------ sum ----- (add all rows)
' d m*vz/(a*dtau) = e/a * (Ez - By*vx + Bx*vy)
' d m*vz/a = e/a * (Ez - By*vx + Bx*vy)*dtau
' m * vz' / a' = e/a * (Ez - By*vx + Bx*vy)*dtau + m*vz/a

'all up
' (0) m * c /a' = e / (a*c) * (Ex*vx+ Ey*vy + Ez*vz) * dtau + m*c/a = (D)
' (1) m * vx' / a' = e/a *(Ex - Bz*vy + By*vz) * dtau + m*vx/a = (A)
' (2) m * vy' /a' = e/a * (Ey + Bz*vx - Bx*vz)*dtau + m*vy/a = (B)
' (3) m * vz' / a' = e/a * (Ez - By*vx + Bx*vy)*dtau + m*vz/a = (C)

' v^2 = vx^2 + vy^2 + vz^2
' A/vx' = B/vy' = C/vz' = D/c = m/a'
' =>
' A/vx' = D/c <=> vx' = A*c/D
' B/vy' = D/c <=> vy' = B*c/D
' C/vz' = D/c <=> vz' = C*c/D
' D/c = m/a' <=> a' = m*c/D
' a' = sqr(1 - v^2/c^2) = sqr(1 - (vx'^2 + vy'^2 + vz'^2)/c^2)
Last edited by Mihail_B on Nov 19, 2016 10:14, edited 4 times in total.
h4tt3n
Posts: 698
Joined: Oct 22, 2005 21:12
Location: Denmark

Re: Field propagation simulation - double check ?

Post by h4tt3n »

Did you try to implement it in a working piece of code? Cheers, Mike
Mihail_B
Posts: 273
Joined: Jan 29, 2008 11:20
Location: Romania
Contact:

Re: Field propagation simulation - double check ?

Post by Mihail_B »

I've implemeted - some years ago - ( https://sourceforge.net/projects/jonction2/ ) the classical version of it (F = q*E + q*v x B + GmM/r) and now i'm working on the relativistic field version of it, and I was hoping for a second opinion regarding the derivations i've used.

It seems it's going to require tremendous amount of memory since I have to store previous particles coordonates (previous impulses,etc) but in the end I think i will have the dP{a}/dtau = q * F{ab} * U + relativistic spin effect (relativistic version of Bohr-Procopiu magneton) + Einstein-Rosen bridges in the field changes (which you know them by a different name : entanglement of photons emitted by same entity in the same time) .


PS: Einstein-Rosen bridge:
d(tau)^2 = 2*u^2/(2*u^2 + e^2)*d(t)^2 - d(u)^2/c^2 - (u^2+e^2/2)*d(omeaga)^2/c^2
u^2 = r^2 - e^2*G/(2*pi*epsi*c^4)
Post Reply