Baseado neste exemplo
reset()
%display latex
M.<t,x,y,z> = manifolds.Minkowski()
print(M)
4-dimensional Lorentzian manifold M
print(M.frames())
M.frames()
[Coordinate frame (M, (d/dt,d/dx,d/dy,d/dz))]
print(M.coframes())
M.coframes()
[Coordinate coframe (M, (dt,dx,dy,dz))]
Calculando dt(∂∂x)
M.coframes()[0][1](M.frames()[0][1]).display()
for i in range(2):
for j in range(2):
show(M.coframes()[0][i](M.frames()[0][j]).display())
eta = M.metric()
eta.set_name('eta', latex_name=r'\eta')
eta.display()
eta[:]
M.coframes()[0][1](M.frames()[0][1])==eta(M.frames()[0][1],M.frames()[0][1])
M.frames()[0][0].down(eta).display()
M.coframes()[0][0](M.frames()[0][0])==eta(M.frames()[0][0],M.frames()[0][0])
vE0 = [function('E_'+i)(x,y,z) for i in ['x','y','z']];vE0
E0 = M.one_form([0]+vE0, name='E');E0.display()
dE0 = E0.exterior_derivative();dE0.display()
vB0 = [function('B_z')(x,y,z), -function('B_y')(x,y,z), function('B_x')(x,y,z)];vB0
B0 = M.diff_form(2,name='B')
B0[1,2],B0[1,3],B0[2,3] = vB0
B0.display()
dB0 = B0.exterior_derivative();dB0.display()
Equaões de Maxwell no Vácuo (caso estático)
Lei | Equação diferencial |
---|---|
Lei de Gauss | ∇⋅E=0 |
Lei de Gauss para o magnetismo | ∇⋅B=0 |
Lei de Faraday | ∇×E=0 |
Lei circular de Ampère | ∇×B=0 |
Lei de Faraday: dE=0
dE0.display()
Lei de Gauss: dB=0
dB0.display()
vE = [function('E_'+i)(t,x,y,z) for i in ['x','y','z']]
vB = [function('B_z')(t,x,y,z), -function('B_y')(t,x,y,z), function('B_x')(t,x,y,z)];vB0
E = M.one_form([0]+vE, name='E');E.display()
B = M.diff_form(2,name='B')
B[1,2],B[1,3],B[2,3] = vB;B.display()
dt = M.coframes()[0][0];dt
F = E.wedge(dt) + B;F.display()
F[:]
dF = F.exterior_derivative();dF.display()
Lei | Equação diferencial |
---|---|
Lei de Gauss para o magnetismo | ∇⋅B=0 |
Lei de Faraday | ∇×E=−∂B∂t |
Lei de Gauss para B e Lei de Faraday: dF=0
Dual de Hodge ⋆:Ωp(M)→Ωn−p
star_F = F.hodge_dual(eta)
star_F.display()
dstar_F = star_F.exterior_derivative().hodge_dual(eta)
dstar_F.display()
Fonte
ep0 = var('epsilon_0')
mu0 = var('mu_0')
mu0
rho = function('rho', latex_name=r'\rho')(t,x,y,z)
fJ = [rho]+[function('J_'+str(i))(t,x,y,z) for i in range(1,4)]
J = M.one_form(fJ, name='J')
J.display()
(dstar_F+J).display()
Lei | Equação diferencial |
---|---|
Lei de Gauss | ∇⋅E=ρ |
Lei de Gauss para o magnetismo | ∇⋅B=0 |
Lei de Faraday | ∇×E=−∂B∂t |
Lei circular de Ampère | ∇×B=J+∂E∂t |
Lei de Gauss e Lei de Ampère ⋆d⋆dF=J
J.hodge_dual(eta).exterior_derivative().display()
Phi = function('Phi', latex_name=r'\Phi')(t,x,y,z)
fA = [-Phi]+[function('A_'+str(i))(t,x,y,z) for i in range(1,4)]
fA
A = M.one_form(fA, name='A')
A.display()
print(A)
A.parent()
1-form A on the 4-dimensional Lorentzian manifold M
F_A = A.exterior_derivative()
F_A.display()
F_A[0,1]
F_A[:]
print(F_A)
F_A.parent()
2-form dA on the 4-dimensional Lorentzian manifold M
G = M.scalar_field(function('G')(t,x,y,z))
G.display()
G.exterior_derivative().exterior_derivative().display()
A2 = A+ G.exterior_derivative()
A2.display()
A2.exterior_derivative().display()
star_dE_star = -(E.hodge_dual(eta).exterior_derivative().hodge_dual(eta))
print(star_dE_star)
Scalar field -*d*E on the 4-dimensional Lorentzian manifold M
star_dE_star.display()
nabla = eta.connection()
nabla(E).display()
div_E = nabla(E).up(eta,0).trace()
div_E.display()
star_dE_star == div_E