You are on page 1of 2

Questo 10: Rotina

% Coordenadas do elemento
xi = 0; % Coordenada inicial do elemento em x
yi = 3; % Coordenada inicial do elemento em y
xf = 2; % Coordenada final do elemento em x
yf = 3; % Coordenada final do elemento em y
L = sqrt((xf-xi)^2+(yf-yi)^2);
k = 47;

% Coordenadas do ponto fonte


d = L/20;
xd = 2;
yd = yi - d;

% Coordenadas dos ns do elemento (pontos campo)


x1 = 0.5; % Coordenada do n 1 em x
y1 = 3; % Coordenada do n 1 em y
x2 = 1.5; % Coordenada do n 2 em x
y2 = 3; % Coordenada do n 2 em y

dx = x2-x1;
dy = y2-y1;
J = sqrt(dx^2+dy^2); % Jacobiano
sx = (xf-xi)/L; sy = (yf-yi)/L;
nx = sy; ny = -sx;

% Pontos e pesos de Gauss para 10 pontos


gauss_points = [-0.97390652851717
-0.86506336668898
-0.67940956829902
-0.43339539412925
-0.14887433898163
0.14887433898163
0.43339539412925
0.67940956829902
0.86506336668898
0.97390652851717];

gauss_weights = [ 0.06667134430868
0.14945134915058
0.21908636251598
0.26926671931000
0.29552422471475
0.29552422471475
0.26926671931000
0.21908636251598
0.14945134915058
0.06667134430868];

n_gauss=length(gauss_points); % Nmero de pontos de Gauss


Ae1 = 0;
Ae2 = 0;
Be1 = 0;
Be2 = 0;
for i=1:n_gauss
a = gauss_points(i);
w = gauss_weights(i);
h1 = (0.5-a); h2 = (0.5+a); % Funes de forma
x = h1*xi+h2*xf;
y = h1*yi+h2*yf;

R = sqrt((x-xd)^2+(y-yd)^2);
Rx = (x-xd); Ry = (y-yd);

Ae1 = Ae1 + (1/(2*pi*R^2))*(Rx*nx+Ry*ny)*h1*J*w;


Ae2 = Ae2 + (1/(2*pi*R^2))*(Rx*nx+Ry*ny)*h2*J*w;
Be1 = Be1 + (-1/(2*pi*k))*log(R)*h1*J*w;
Be2 = Be2 + (-1/(2*pi*k))*log(R)*h2*J*w;
end
Ae1
Ae2
Be1
Be2

You might also like