Electromagnetismo e Óptica (LEIC)
1ºSem. 2007/2008
http://fisica.ist.utl.pt/~leic_f2

Definições iniciais

Definições Globais

SetDirectory[DirectoryName["WindowTitle"/.NotebookInformation[InputNotebook[]]]];

If[Cases[Contexts[],"Notation`"]=={},Get["Notation`"],NotebookClose[Notebooks[]//Cases[#,z_NotebookObject/;StringMatchQ[ToString[z],"*Notation*"]][[1]]&]]

SetOptions[SelectedNotebook[],WindowSize->{1400,900}];

({{Symbolize[(Subscript[m, _])], Symbolize[(Subscript[(OverVector[u]), _]) ], Symbolize[(Subscript[(OverVector[v]), _])], Symbolize[(_)'], Symbolize[(OverVector[R])], Symbolize[(OverVector[r])], Symbolize[(OverVector[v])], Symbolize[(OverVector[V])], Symbolize[(Subscript[(OverVector[𝕖]), _])]}, {Symbolize[(Subscript[ϵ, o])], Symbolize[(Subscript[μ, o])], Symbolize[(OverVector[E])], Symbolize[(OverVector[F])], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder], \[Placeholder]}});

SIUnits=(Piecewise[{{(Subscript[q, e])-> -1.602176462 ×(10^(-19)), C                    (* Carga do Electrão.; *)}, {(Subscript[ϵ, o])->8.854187817×(10^(-12)), ((A s)/(m V))            (* Permitividade  eléctrica do vácuo.; *)}, {(1/(4π (Subscript[ϵ, o])))-> (10^(-7))×(c^2),  ((m V)/(A s))           (*≈ 9×(10^9)  Constante Eléctrica.; *)}, {c->299792458, (m/s)                 (* Velocidade da luz  no vácuo.; *)}}]) //#[[1]]\[Transpose][[1]]&;

dims=(Piecewise[{{A->0.1, (m^2)}, {d->3×(10^(-3)), m}, {Q->1.5×(10^(-8)), C}, {s->(10^(-3)), m}, {(Subscript[ϵ, r])->3.4,  }, {(Subscript[E, (Subscript[ny, max])])->14×(10^6), (V/m)}, {(Subscript[E, (Subscript[ar, max])])->3×(10^6), (V/m)}}])                 //#[[1]]\[Transpose][[1]]&;

(Subscript[(OverVector[E]), 1])[x_]:=-(1/(1-((x ℓ)/(3A))(1-(1/(Subscript[ϵ, r])))))(Q/((Subscript[ϵ, o]) A))(Subscript[(OverVector[e]), z])                                              /.ℓ->(Sqrt[A])/.dims/.SIUnits 

(Subscript[(OverVector[E]), 2])[x_]:=-(1/3) (2+(1/(Subscript[ϵ, r])))(1/(1-((x ℓ)/(3A))(1-(1/(Subscript[ϵ, r])))))(Q/((Subscript[ϵ, o])A))(Subscript[(OverVector[e]), z])              /.ℓ->(Sqrt[A])/.dims/.SIUnits

Definições Gráficas

As minhas definições gráficas:

RotationMatrix3D[phi_,theta_,psi_]:=(
{{Cos[psi] Cos[phi]-Cos[theta] Sin[phi] Sin[psi],Cos[psi] Sin[phi]+Cos[theta] Cos[phi] Sin[psi],Sin[psi] Sin[theta]},{-Sin[psi] Cos[phi]-Cos[theta] Sin[phi] Cos[psi],-Sin[psi] Sin[phi]+Cos[theta] Cos[phi] Cos[psi],Cos[psi] Sin[theta]},{Sin[theta] Sin[phi],-Sin[theta] Cos[phi],Cos[theta]}})

TransformGraphics3D[obj_,f_]:=(tg3D[obj,f])

cuboidtopolygons[Cuboid[{xmin_,ymin_,zmin_}]]:=cuboidtopolygons[Cuboid[{xmin,ymin,zmin},{xmin,ymin,zmin}+1]]

cuboidtopolygons[Cuboid[{xmin_,ymin_,zmin_},{xmax_,ymax_,zmax_}]]:={Polygon[{{xmax,ymax,zmax},{xmin,ymax,zmax},{xmin,ymin,zmax},{xmax,ymin,zmax}}],Polygon[{{xmax,ymax,zmax},{xmax,ymin,zmax},{xmax,ymin,zmin},{xmax,ymax,zmin}}],Polygon[{{xmax,ymax,zmax},{xmax,ymax,zmin},{xmin,ymax,zmin},{xmin,ymax,zmax}}],Polygon[{{xmin,ymax,zmax},{xmin,ymax,zmin},{xmin,ymin,zmin},{xmin,ymin,zmax}}],Polygon[{{xmin,ymin,zmin},{xmin,ymax,zmin},{xmax,ymax,zmin},{xmax,ymin,zmin}}],Polygon[{{xmin,ymin,zmax},{xmin,ymin,zmin},{xmax,ymin,zmin},{xmax,ymin,zmax}}]}

tg3D[HoldPattern[Graphics3D][g_,o___],f_,p_:0]:=Graphics3D[tg3D[g,f,p],o]

tg3D[d_List,f_,p_:0]:=Map[tg3D[#,f,p]&,d]

tg3D[GraphicsGroup[a_,b___],f_,p_:0]:=GraphicsGroup[tg3D[a,f,p],b]

tg3D[HoldPattern[GraphicsComplex][pts_,prims_,o___],f_,p_:0]:=GraphicsComplex[If[VectorQ[pts],pts,Map[f,pts]],tg3D[prims,f,Length[pts]]]

tg3D[Point[d],f_,p_:0]/;(p===0||!gcq[d,p]):=Point[f[d]]

tg3D[Line[d_List],f_,p_:0]/;(p===0||!gcq[d,p]):=Line[Map[f,d,If[MatrixQ[d[[1]]],{2},{1}]]]

tg3D[Polygon[d_List],f_,p_:0]/;(p===0||!gcq[d,p]):=Polygon[Map[f,d,If[MatrixQ[d[[1]]],{2},{1}]]]

tg3D[Cylinder[d:{{_,_,_},{_,_,_}},r_:1,t___],f_,p_:0]/;numberQ[r]:=Cylinder[f/@d,r,t]

tg3D[Sphere[d_List,r_:1,t___],f_,p_:0]/;numberQ[r]:=Sphere[f[d],r,t]

tg3D[Text[expr_,d_List,opts___],f_,p_:0]:=Text[expr,f[d],opts]

tg3D[c:Cuboid[{_,_,_}],f_,p_:0]:=tg3D[cuboidtopolygons[c],f,p]

tg3D[c:Cuboid[{_,_,_},{_,_,_}],f_,p_:0]:=tg3D[cuboidtopolygons[c],f,p]

tg3D[expr_,f_,p_:0]:=expr

(*transform an entire primitive,not just coordinates.This may be being too clever than necessary... In this case,the transform function needs to have specific knowledge of multipoints,multilines,etc.and of what to do inside a GraphicsComplex;if the f is being applied inside a GC,it will be given two arguments (obj and pointlist),and there will be two variables (newpoints and newcount) that the transform function can depend upon.The transform function must do the work of incrementing the counter,and adding rules of the form pthead[count]->coord to newpoints.(Clearly less than ideal,this needs to be thought about and improved.) Also note global (in this context) symbol pthead used as a wrapper for new coordinates.*)
tg3Ds[HoldPattern[Graphics3D][g_,o___],f_,p_:0]:=Graphics3D[tg3Ds[g,f,p],o]

tg3Ds[d_List,f_,p_:0]:=Map[tg3Ds[#,f,p]&,d]

tg3Ds[GraphicsGroup[a_,b___],f_,p_:0]:=GraphicsGroup[tg3Ds[a,f,p],b]

tg3Ds[HoldPattern[GraphicsComplex][pts_,prims_,o___],f_,p_:0]:=Module[{tg,allpoints=pts,tmppoints},Block[{newpoints={},newcount=0},tg=tg3Ds[prims,f,If[VectorQ[pts]&&p=!=0,p[[pts]],pts]];
tmppoints=newpoints;
If[newpoints≠{},tg=tg/.newpoints;
allpts=allpts~Join~(Last/@newpoints)]];
If[VectorQ[pts]&&p=!=0,tmppoints=Map[(newcount++;pthead[newcount]->Last[#])&,tmppoints];
newpoints=newpoints~Join~tmppoints;
allpoints=pts~Join~(First/@tmppoints),(*else*)allpoints=pts~Join~(Last/@tmppoints)];
GraphicsComplex[allpoints,tg]]

tg3Ds[Point[d],f_,p_:0]/;(p===0||!gcq[d,p]):=f[Point[d]]

tg3Ds[Line[d_List],f_,p_:0]/;(p===0||!gcq[d,p]):=f[Line[d]]

tg3Ds[Polygon[d_List],f_,p_:0]/;(p===0||!gcq[d,p]):=f[Polygon[d]]

tg3Ds[c:Cylinder[d:{{_,_,_},{_,_,_}},r_:1,t___],f_,p_:0]/;numberQ[r]:=f[c]

tg3Ds[s:Sphere[d_List,r_:1,t___],f_,p_:0]/;numberQ[r]:=f[s]

tg3Ds[t:Text[expr_,d_List,opts___],f_,p_:0]:=f[t]

tg3Ds[c:Cuboid[{_,_,_}],f_,p_:0]:=f[c]

tg3Ds[c:Cuboid[{_,_,_},{_,_,_}],f_,p_:0]:=f[c]

tg3Ds[expr_,f_,0]:=expr

tg3Ds[expr_,f_,pts_List]:=f[expr,pts]

(*gcq tests for compliance with a GraphicsComplex indexed primitive*)
gcq[_Integer]:=True
gcq[pts:{__Integer},count_]/;(Max[pts]≤count&&Min[pts]≥1):=True
gcq[pts:{{_Integer..}..},count_]/;(Max[pts]≤count&&Min[pts]≥1):=True
gcq[any_]:=False


RotateShape[shape_,phi_,theta_,psi_]:=(
Block[{rotmat=RotationMatrix3D[N[phi],N[theta],N[psi]]},TransformGraphics3D[shape,(rotmat.#)&]])

TranslateShape[shape_,vec_List]:=(
Block[{tvec=N[vec]},TransformGraphics3D[shape,(tvec+#)&]]/;Length[vec]==3)


AffineShape[shape_,vec_List]:=(
Block[{tvec=N[vec]},TransformGraphics3D[shape,(tvec*#)&]]/;Length[vec]==3)

Cone[(r_)?NumericQ, (h_)?NumericQ, n_Integer] :=N[Table[Polygon[{{r Cos[((2 π i)/n)],r Sin[((2 π i)/n)],-h},{r Cos[((2 π (i+1))/n)],r Sin[((2 π (i+1))/n)],-h},{0,0,h}}],{i,0,n-1}]]/;n>2

Cone[r_:1,h_:1]:=Cone[r,h,Round[20 r]]

SetOptions[Manipulator,{ImageSize->Tiny,AppearanceElements->{ "InputField"}}];

G2=Graphics;
G3=Graphics3D;
TS=TranslateShape;
RS=RotateShape;
LI=Line;
DX=Dashing[{#1,#1,#1}]&;
rd=Red;bl=Blue;gr=Green;
Clear[AS];
AS[sh_,sc_]:=AffineShape[sh,sc]/.Point[z_]:>Point[z sc]

Definição de seta 2D usando o vector e o ponto base como argumentos.

vec2[x_,y_,s_:.1]:={Arrowheads[s],Arrow[{y,y+x}]}

Redefinição dos cones e bases dos vectores 3D de 10 para 6 arestas.

bs[s_]:=TranslateShape[AffineShape[Cone[0.05,0,6],{s,s,s}],{0,0,1-0.2 s}]
cn[s_]:=TranslateShape[AffineShape[Cone[0.05,0.1,6],{s,s,s}],{0,0,1-0.1 s}]

Protótipo de vector unitário (Subscript[(OverVector[e]), y])

(Subscript[e, y])[s_:.5]:={Line[{{0,0,0},{0,1-s .2,0}}],RotateShape[cn[s],0,(π/2),0],RotateShape[bs[s],0,(π/2),0]}

Definição de vector 3D

V3D[x_,s_:0.5]:=Block[{M=Ω[x]},AffineShape[(Subscript[e, y])[s]/.z_Polygon:>Map[M.#1&,z,{2}]/.z_Line:>Map[M.#1&,z,{2}]/.z_Point:>Map[M.#1&,z,{1}],abs[x] {1,1,1}]]
Vect[v_,x_,s_:0.5]:=TranslateShape[V3D[v,(s/(abs[v]))],x]

NL={z_Polygon:>{EdgeForm[],z}};

Definições de versores ud[(OverVector[v])] dum vector (OverVector[v])

TH=AbsoluteThickness[#1]&;
abs[x_]:=FullSimplify[(Sqrt[x.x])]
ud[x_]:=FullSimplify[(x/(Sqrt[x.x]))]

Construção de rotação (Subscript[(OverVector[e]), y])->(OverVector[u]). Designando por u=|(OverVector[u])| e (OverHat[𝕦])=(1/u)(OverVector[u]) o vector de cosenos directores de (OverVector[u]), precisamos de construir dois vectores auxiliares (OverHat[𝕩]) e (OverHat[𝕫]) que formem um triedro ortonormado com (OverHat[𝕦]), de forma que a matriz Ω=((Subscript[(OverVector[e]), j]^′).(Subscript[(OverVector[e]), i])) defina a rotação pretendida. Assim (OverHat[𝕫])=(OverHat[𝕦])×(Subscript[𝕖, y]) e (OverHat[𝕩])=(OverHat[𝕦])×(OverHat[𝕫]). Usando (Subscript[(OverVector[e]), 1]^′)=(OverHat[𝕩]),(Subscript[(OverVector[e]), 2]^′)=(OverHat[𝕦]),(Subscript[(OverVector[e]), 3]^′)=(OverHat[𝕧]), obtemos Ω.

Ω[{0,y_,0}]:=Sign[y]IdentityMatrix[3];
Ω[u_]:=Block[{𝕦,𝕫,𝕩},{ux,uy,uz}={u[[1]],u[[2]],u[[3]]};𝕦={ux,uy,uz};𝕫={-uz,0,ux};𝕩={ux uy,-(ux^2)-(uz^2),uy uz};𝕊={𝕩,𝕦,𝕫};𝕄=Transpose[(((#1)/(abs[#1]))&)/@𝕊]]

Rotações base

𝕏=(({{1, 0, 0}, {0, 0, -1}, {0, 1, 0}}));                    𝕐=(({{0, 0, -1}, {0, 1, 0}, {1, 0, 0}}));                     ℤ=(({{0, -1, 0}, {1, 0, 0}, {0, 0, 1}}));

Sistema de referência {O,(Subscript[(OverVector[e]), x]),(Subscript[(OverVector[e]), y]),(Subscript[(OverVector[e]), z])}

({{(Subscript[(OverVector[e]), x])={1,0,0};,  , (Subscript[(OverVector[e]), y])={0,1,0};,  , (Subscript[(OverVector[e]), z])={0,0,1};,  , (OverVector[O])={0,0,0}}});

Definições de arcos 2D e 3D

Clear[arc,arc2D]
arc2D[θ1_:0,θ2_:2 π,n_:100]:=Line[Append[Table[{Cos[q],Sin[q]},{q,θ1,θ1+θ2,((θ2)/n)}],{Cos[θ1+θ2],Sin[θ1+θ2]}]]
arc[θ1_:0,θ2_:2 π]:=arc2D[θ1,θ2]/.{x_,y_}:>{x,y,0}

Definições auxiliares;cyl,cond,halCyl,tube,conn

Definições Texto

(Subscript[tr, z_]):=Sequence@@{FontFamily->"Times New Roman",FontWeight->Plain,FontSlant->Plain,FontSize->z}
Txt[sty__]:=((Text[style[#1,sty],##2]&)@@##1&)/.style:>Style
txt[z_,x_,off_:{0,0},fntf_:"Times New Roman"]:=Text[StyleForm[z,FontSize->12,FontFamily->fntf],x,off]
Lgd[z__List]:=(Txt[(Subscript[tr, 12])]/@{z})

author={GrayLevel[.83],txt["AJRS-"<>(StringJoin@@ToString/@{
{Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ago,Set,Out,Nov,Dez}[[#[[2]]]]," ",#[[3]],", ",#[[1]]}&@Date[]),{0,0},{0,0},"Times"]};
cprt=(Epilog->Inset[Graphics[author],Scaled[{2.1,.5}],Automatic,Automatic,{0,1}]);
SetOptions[Graphics3D,cprt];

Problema 5.6

Um fio de cobre com um diâmetro de 1 mm é percorrido por uma corrente de 15.0 A. A sua resistividade é de 1.7×(10^(-8))Ω m. Qual é o campo eléctrico dentro do fio?

Solução

Usando a Lei de Ohm local:

(OverVector[J])== (Subscript[σ, e])(OverVector[E])	(* (A/(m^2)) *)- note-	Densidade de corrente proporcional ao Campo eléctrico.	;

obtém-se a expressão para o campo dentro do fio em função da densidade de corrente (OverVector[J])

(OverVector[E])=(1/(Subscript[σ, e]))(OverVector[J])                          (* (V/m) *)

A condutibilidade eléctrica (Subscript[σ, e])   (℧ (m^(-1))) (leia-se Mho×(m^(-1)) ou equivalentemente (S (m^(-1))) onde o Siemens (S) substitui o Mho (℧) como unidade da condutância) é o inverso da resistividade (Subscript[ρ, e])

(Subscript[ρ, e])== (1/(Subscript[σ, e])) == 1.7×(10^(-8))                     (* Ωm *)

Para um fio de secção pequena ΔS, a relação entre corrente e densidade média de corrente reduz-se a

ℐ== (OverVector[J])·Δ(OverVector[S])                    ∴                 J== (ℐ/(ΔS))        (* (A/(m^2)) *)

quando Δ(OverVector[S])=ΔS(OverVector[n]) representa a secção recta do fio e se pode assumir que (OverVector[J])=J (OverVector[n]) uniformemente na secção com normal (OverVector[n]).

Obtém-se assim a expressão para o campo eléctrico no fio de raio R=(1/2)×(10^(-3))m e secção circular de área ΔS=π (R^2)

(OverVector[E])== (Subscript[ρ, e])(ℐ/(ΔS))(OverVector[n])             ∴           (OverVector[E])==1.7×(10^(-8))× (15/(π ×((((1/2)×(10^(-3))))^2)))(OverVector[n])==3.24 ×(10^(-1))(OverVector[n])              (* (V/m) *)

Problema 5.5

Uma fita de níquel-crómio de secção rectangular de 0.25 mm por 1.0 mm é usada como resistência num forno. A sua resistividade é de 100×(10^(-8))Ω m. Qual deve ser o seu comprimento para que tenha uma resistência de 1.5 Ω?

Solução

A relação entre resistividade eléctrica (Subscript[ρ, e]) e resistência (Subscript[R, e]), para um condutor de comprimento ℓ que apresenta uma secção recta A, é

(Subscript[R, e])== (Subscript[ρ, e])(ℓ/A)            (* Ω *)         	- note-	(Justifique).	;

Neste caso a secção recta é

A== (1/4)×(10^(-3))×1.0×(10^(-3))==(1/4)×(10^(-6))       (* (m^2) *)

Para obter uma resistência  (Subscript[R, e])=1.5 Ω é necessário um comprimento

ℓ== ((A (Subscript[R, e]))/(Subscript[ρ, e]))          ∴                  ℓ=((  (1/4)×(10^(-6))×1.5)/(100×(10^(-8))))==0.375          (* m *)

Problema 5.4

Um aquecedor eléctrico funciona aplicando uma diferença de potencial de 110 V a um fio com uma resistência total de 8 Ω. Qual é a corrente que percorre o fio, e qual  é a potência dissipada?

Solução

A lei de Ohm macroscópica é a relação entre a queda de potencial 𝒱=110 V, a resistência eléctrica (Subscript[R, e])=8 Ω e a corrente  ℐ que a atravessa.

𝒱== (Subscript[R, e]) ℐ	- note-	(Relacione  esta  espressão com a Lei de Ohm local).	;

A corrente que percorre o fio é

ℐ== (𝒱/(Subscript[R, e]))                    ∴        ℐ== (110/8)== 13.75         (* A *)

A potência dissipada em calor por esta resistência é

(Subscript[𝒫, e])== (Subscript[R, e]) (ℐ^2) ≡    ℐ 𝒱               ∴                (Subscript[𝒫, e])== (110/8)×110== 1512.5   (* (J/s)≡ W *)

Problema 5.3

Suponha que uma pessoa ao cair de um andaime se agarrou a um cabo de alta tensão com as duas mãos. O cabo tem uma resistência de 60 μΩ por cada metro e é percorrido por uma corrente de 1000 A. Supondo que as mãos estão agarradas a 1 m uma da outra, diga se a pessoa se arrisca a ser electrocutada?

Solução

Designando por (Subscript[R, c])=60×(10^(-6))Ω a resistência do cabo e (Subscript[R, h])≫(Subscript[R, c])a resistência do corpo humano, a situação descrita é equivalente a um circuito com duas resistências em paralelo. A resistência total equivalente obedece à regra

(1/(Subscript[R, tot]))== (1/(Subscript[R, c]))+(1/(Subscript[R, h]))                            ∴                          (Subscript[R, tot])== (((Subscript[R, h])(Subscript[R, c]))/((Subscript[R, h])+(Subscript[R, c])))== ((Subscript[R, c])/(1+((Subscript[R, c])/(Subscript[R, h]))))

Dado que ((Subscript[R, c])/(Subscript[R, h]))≪1 podemos fazer (Subscript[R, tot])≈(Subscript[R, c]).  A queda de potencial entre as mãos do trabalhador é

𝒱== (Subscript[R, tot])ℐ                              ∴                      𝒱≈ (Subscript[R, c])ℐ == 60×(10^(-6))×1000== 0.06      (* V *)

Para esta diferenca de potencial não há risco de electrocussão.

Problema 5.7

Qual é o equivalente em Joules de 1 kW-hora. Calcular o preço em escudos e Euros do kW-hora fornecido por uma pilha de 1.5 V e 3 A-hora. Comparar com os 18 escudos por kW-hora da EDP.

Solução

Pela definição o Watt (W) é a potência equivalente a um Joule por segundo

W== (J/s)                ∴                 1   (kW)== (10^3)((J/s))

Durante uma hora a energia fornecida à potência de 1 kW corresponde a 1kW–hora

1kW–hora== (10^3)((J/s))×3600 (s)== 3.6×(10^6)(J)≡3.6 (MJ)

Para uma voltagem 𝒱=1.5 V, um circuito utilizando uma corrente ℐ consumirá energia a uma taxa 𝒫=ℐ 𝒱 durante o tempo ΔT que leva a esgotar a capacidade de fornecimento de carga da bateria, que é  (Subscript[Q, max])=3A–hora, portanto

ΔT=((3+×3600 )/ℐ) (s)

A energia máxima que a pilha pode fornecer é assim

(Subscript[Δ𝒲, max])== 𝒫× ΔT== ℐ 𝒱 ×(( 3×3600)/ℐ)== 10.8×(10^3)×1.5 == 16.2 ×(10^3)(J)

Em termos de kW–hora vimos já que 1 (J)=(1/(3.6×(10^6)))kW–hora pelo que

(Subscript[Δ𝒲, max])== ((16.2×(10^3))/(3.6×(10^6)))==4.5×(10^(-3))(kW–hora)

Tendo em conta que uma pilha AA de 1.5 Vcusta cerca de 1€=200.482 PTE  obtemos a taxa de

(1/(4.5×(10^(-3))))== 222.2( (€/(kW–hora)))            ∴             (200.482/(4.5×(10^(-3))))≈44551((PTE/(kW–hora)))≫ 18 ((PTE/(kW–hora))) (* da EDP *)