Created
June 8, 2021 18:51
-
-
Save maxerbox/d05b3dc58a070b3c0c557a54ed587df9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
close all; | |
clc; | |
% Paramètres géométriques du capteur : | |
R=0.005; %Rayon d'une électrode en m | |
L=0.14; %Distance entre les électrodes en m | |
Uexp=2.47; %Tension en Volt | |
%TODO | |
epsilon = 710e-12; %Permitivité du milieu (comment le matériau est permissif) | |
%TODO | |
gamma = 0.0828; %Conductivité de l'eau en ? (à mesurer) | |
d = 0.20; | |
% Paramètres de la grille de points centrée autour du capteur : | |
Xmin=-1; | |
Xmax=1; | |
Ymin=-1; | |
Ymax=1; | |
dx=0.05; | |
dy=0.05; | |
% Calcul du courant I et de la quantité surfacique de charge Sigma: | |
Init = (Uexp*gamma*2*pi)/(1/R - 1/L); %gamma conductivité de l'eau en | |
Sigma = (I*epsilon)/(gamma*4*pi*R^2); | |
% Création de la grille de points : | |
[X,Y]=meshgrid(Xmin:dx:Xmax,Ymin:dy:Ymax); | |
% Evaluation en chaque point de la grille de la valeur du potentiel | |
% électrique : | |
[n,m]=size(X); | |
V=zeros(n,m); | |
for i=1:1:n | |
for j=1:1:m | |
R1 = ((X(i,j) - L/2)^2 + Y(i,j)^2)^1/2; | |
R2 = ((X(i,j) + L/2)^2 + Y(i,j)^2)^1/2; | |
R3 = ((X(i,j) + L/2 + 2*d)^2 + Y(i,j)^2)^1/2; | |
R4 = ((X(i,j) + L/2 + 2*d + L)^2 + Y(i,j)^2)^1/2; | |
if (R1 < R) | |
V(i,j) = 0; % A compléter | |
V(i,j) = ((Sigma*R^2)/(epsilon))*(- 1/R + 1/L + 1/(2*d+L) - 1/(2*L + 2*d) ); | |
elseif (R2 < R) | |
V(i,j) = 0; % A compléter | |
V(i,j) = ((Sigma*R^2)/(epsilon))*(1/L - 1/R - 1/(2*d) + 1/(2*d+L)); | |
elseif (R3 < R) | |
V(i,j) = ((Sigma*R^2)/(epsilon))*(-1/(2*d+L) + 1/(2*d) + 1/R - 1/L); | |
elseif (R4 < R) | |
V(i,j) = ((Sigma*R^2)/(epsilon))*(-1/(2*d+2*L) + 1/(2*d+L) + 1/L - 1/R); | |
else | |
V(i,j) = 0; % A compléter | |
V(i,j) = ((Sigma*R^2)/(epsilon))*(-1/R1 + 1/R2 + 1/R3 - 1/R4); | |
end | |
end | |
end | |
% Evaluation en chaque point de la grille du champ électrique : | |
[Ex,Ey]=gradient(V,dx,dy); | |
% Plot : | |
figure(01); | |
contour(X,Y,V); | |
hold on; | |
streamslice(X,Y,Ex,Ey); %A utiliser si sur Matlab | |
%streamline(X,Y, Ex,Ey); %Ne fonctionne pas sur Octave | |
axis equal | |
xlabel('x (m)'); | |
ylabel('y (m)'); | |
hold off | |
d = 0:0.005:0.195; | |
Ipast = zeros(length(d),1); | |
for i = 1:length(d) | |
D1 = (-1/R + 1/L + 1/(L+2*d(i)) - 1/(2*L+2*d(i))); | |
D2 = (-1/L + 1/R + 1/(2*d(i)) - 1/(L+2*d(i))); | |
Ipast(i) = -(Uexp*gamma*4*pi)/(D1 - D2) - Init; | |
end | |
Xexp = fliplr([0.12, 0.115, 0.11, 0.105, 0.10, 0.095, 0.09, 0.085, 0.08, 0.075, 0.07] - 0.064); | |
Uexp = fliplr([3.967, 3.965, 3.961, 3.956, 3.949, 3.938, 3.928, 3.9, 3.852, 3.791, 3.664]); | |
Iexp = -Uexp./(4.7e3); | |
figure(11) | |
plot(Xexp, Iexp, '-b'); | |
hold on; | |
plot(d, Ipast, '-r'); | |
xlabel('d (mètres)'); | |
ylabel('I (ampères)'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment