Alguns Exemplos de Mapeamento Conforme Antonio Carlos Siqueira de Lima Abril de 2017 Resumo O objetivo desse documento é apresentar alguns exemplos de como obter o mapeamento conforme de alguns funções elementares com o intuito de ajudar no detalhamento da solução de campos bi-dimensionais em problemas de campos estáticos e/ou estacionários no eletromagnetismo. O código usado para o mapeamento conforme também é apresentado. 1 Introdução A idéia principal do mapeamento conforme consiste em transformar um sistema de coordenadas cartesianas (x, y) em outro sistema de coordenadas (u, v) definido a partir da transformação W = u + jv = f (z) (1) sendo f uma função analı́tica da variável complexa z = u(x, y) + jv(x, y), sendo tanto u quanto v funções ou valores reais. Para que a função seja analı́tica é necessário que a mesma seja diferenciável, i.e., a derivada existe, logo dW 6= ∞ dz (2) além de ser única para um tanto ponto no plano z, i.e., as derivadas à esquerda e à direita devem ser as mesmas. Para uma variação ao longo do eixo x, dW ∂W ∂ ∂u ∂v = = (u + jv) = +j dz ∂x ∂x ∂x ∂x (3) caso a mudança ocorra na direção y dW ∂W ∂ ∂v ∂u = = (u + jv) = −j dz ∂y ∂y ∂y ∂y (4) para que as derivadas acima existam é necessário que os números complexos apresentados em (4) e (3) sejam iguais, o que só é possı́vel se as partes reais e imaginárias forem iguais. Logo ∂u ∂v = ∂x ∂y ∂v ∂u =− ∂x ∂y (5) As condições em (5) são conhecidas como condições de Cauchy-Rieman e são condições necessárias e suficientes para que dW/dz seja único num dado ponto e que a função f (z) seja analı́tica. 1 2 Algumas propriedades das funções analı́ticas de variáveis complexas Uma das aplicações mais interessantes do mapeamento conforme é para a solução da equação de Laplace, por exemplo diferenciando-se a primeira das equação em (5) em relação a x obtemos ∂2u ∂ ∂v ∂ ∂u ∂2u ∂2u ∂2u − + + 2 = = ∂x2 ∂x ∂y ∂x2 ∂y ∂y ∂x2 ∂y (6) Repetindo-se o mesmo procedimento para a segunda equação em (5), obtemos ∂2v ∂2v + 2 2 ∂x ∂y 2.1 (7) Exemplos de Mapeamento Conforme Apresenta-se a seguir alguns exemplos de aplicação do mapeamento conforme. O código para a obtenção dos gráficos é mostrado abaixo ConformalMap[fz_, z, {xmin_, xmax_}, {ymin_, ymax_}, PlotPoints -> {nx_, ny_}] := Module[{func, Xi], pary, parx, paru, parv, Rho], Rho1, uMin, uMax, vMin, vMax, imagez, imagew, font, g, coloredParx, coloredPary, coloredParu, coloredParv}, (* the function *) func[Xi_] = N[fz /. z -> Xi]; (* the z-values *) pary = Table[N[{x, y}], {x, xmin, xmax, (xmax - xmin)/(nx - 1)}, {y, ymin, ymax, (ymax - ymin)/(ny - 1)}]; parx = Transpose[pary]; (* the w-values *) {parv, paru} = {#, Transpose[#]}&[N[Map[{Re[#], Im[#]}&, Map[func[#[[1]] + I #[[2]]]&, pary, {2}], {2}]]]; (* the biggest and smallest values to get all in the picture *) Rho = {xmax - xmin, ymax - ymin}; {{uMin, uMax}, {vMin, vMax}} = {Min[#], Max[#]}& /@ Transpose[Flatten[parv, 1]]; Rho1 = {uMax - uMin, vMax - vMin}; (* color the whole grid *) {coloredPary, coloredParx, coloredParv, coloredParu} = Apply[Function[{dom, par, ScriptR}, Map[{Thickness[0.014], RGBColor @@ Append[((Plus @@ #)/2 - dom)/2/ScriptR, 0], (* the grid *) Line[#]}&, Partition[#, 2, 1]& /@ par, {2}]], {{{xmin, ymin}, pary, Rho }, {{xmin, ymin}, parx, Rho}, {{uMin, vMin}, parv, Rho1}, {{uMin, vMin}, paru, Rho1}}, {1}]; (* function for graphic of z-, w-plane *) g[pics_, label_, axes_, origin_] := Graphics[pics, AspectRatio -> 1, PlotRange -> All, AxesLabel -> axes, PlotLabel -> StyleForm[label, FontFamily -> "Helvetica", FontWeight -> "Bold", FontSize -> 10], Axes -> True, AxesOrigin -> (* slightly more *)origin, TextStyle -> {FontFamily -> "Courier", FontSize -> 8}]; {imagez, imagew} = 2 {(* the z-plane picture *) g[{coloredPary, coloredParx}, "z-plane", {"x", " i y"}, {xmin - (xmax - xmin)/10, ymin - (ymax - ymin)/10}], (* the w-plane picture *) g[{coloredParv, coloredParu}, "w-plane", {"u", " i v"}, {uMin - (uMax - uMin)/10, vMin - (vMax - vMin)/10}]}; (* show both pictures *) Show[GraphicsGrid[{{imagez, imagew}}], PlotLabel -> StyleForm["w[z] = " <> ToString[InputForm[fz]], FontFamily -> "Courier", FontSize -> 10]]]; �[�] = ��� �[�] = ��� �-����� �-����� � � �-����� � � ��� ��� -��� �-����� � � -��� -��� � � ��� ��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� ��� ��� ��� ��� ��� ��� -��� � -��� -��� ��� ��� ��� � ��� ��� ��� ��� ��� (a) z 2 ��� � ��� ��� ��� ��� � ��� (b) exp(z) �[�] = ���[�] �[�] = (-� + �)/(� + �) �-����� �-����� � � �-����� � � �-����� � � � � ��� ��� ��� ��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� -��� ��� ��� ��� ��� ��� ��� � ��� ��� ��� ��� ��� ��� ��� � -��� ��� ��� ��� ��� ��� � -��� -��� -��� -��� -��� ��� ��� � (d) z−1 z+1 (c) sin(z) �[�] = ���[(� + �)/(-� + �)] �-����� �[�] = (� + ���)/(-� + ���) �-����� � � ��� �-����� � � �-����� � � ��� � � ��� ��� � -��� -��� ��� � -��� -��� ��� -��� ��� -��� -��� ��� ��� ��� ��� ��� ��� � -��� � -��� � � -��� ��� � � � � � �� �� � ��� ��� ��� ��� ��� � � � �� �� �� � (f ) coth z2 log(z+1) (e) log(z−1) Figura 1: Alguns exemplos de mapeamento conforme obtidos usando-se a Wolfram Language 3