Buscar

Tempo Médio de Primeira Passagem - Analítico e Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Continue navegando


Prévia do material em texto

Termodinaˆmica e Mecaˆnica Estat´ıstica
Aluno: Katiane Pereira Maciel - Matr´ıcula: 205968
IF-UFRGS
14 de novembro de 2015
1 MFPT - Mean First Passage Time (Tempo
Me´dio de Primeira Passagem) - Objetivo
do Trabalho
O MFPT fornece a me´dia dos tempos que cada part´ıcula leva para passar
por um ponto pela primeira vez. O objetivo e´ calcular o MFPT para N
part´ıculas em difusa˜o unidimensional, entre x = 0.0 e x = 1, com ponto de
partida em x = 0.5, resolvendo a equac¸a˜o de difusa˜o analiticamente. Uma
simulac¸a˜o computacional e´ feita para comparac¸a˜o.
2 Me´todo
Equac¸a˜o de difusa˜o:
∂ρ
∂t
= D × ∂
2ρ
∂x2
D = l
2
2τ˜
Condic¸o˜es de contorno:
ρ (x = 1, t) = 0
∂ρ
∂xx=0
= 0
ρ(x, t = 0) = N × δ(x− 0.5)
Ca´lculo Anal´ıtico:
ρ(x, t) = X(t)T (t)
Equac¸a˜o 1: ∂
2X
∂x2
− λ×X = 0
1
Equac¸a˜o 2: ∂T
∂t
− λ×D × T = 0
Para λ ≥ 0, a soluc¸a˜o e´ trivial.
Para λ = −k2, k > 0:
d2X
dx2
= −k2X
y2 = −k2
y = ±(ik)
dX
dx
= ±(ikX)∫
dX
X
= ±(ik)
∫
dx
lnX = ±(ikx)
X = A exp(ikx) + B exp(−(ikx))
dX
dx
= Aik exp(ikx)−Bik exp(−(ikx))
dX
dx x=0
= (Aik)− (Bik) = 0
A = B
X = A cos(kx)
X(1) = A cos k = 0
k = (2n+1)pi
2
Xn(x) = An cos[
(2n+1)pix
2xf
]
λ = −k2 = −[ (2n+1)pi
2xf
]2
Substituindo λ na equac¸a˜o 2:
dTn
dt
= −D[ (2n+1)pi
2xf
]2Tn∫ dTn
Tn
=
∫
−D[ (2n+1)pi
2xf
]2dt
Tn = Bn exp[−D(
(2n+1)pi
2xf
)2t]
Cn = AnBn
ρ(x, t) =
∑
∞
n=0Cn cos[
(2n+1)pix
2xf
] exp[−D( (2n+1)pix
2xf
)2t]
ρ(x, 0) =
∑
∞
n=0Cn cos[
(2n+1)pix
2xf
] = Nδ(x− x0)
Fazendo as integrais:
Cn =
2N
xf
cos[ (2n+1)pix0
2xf
]
Enta˜o:
ρ(x, t) = 2N
xf
cos[ (2n+1)pix0
2xf
] cos[ (2n+1)pix
2xf
] exp[−D( (2n+1)pix
2xf
)2t]
O MFPT e´ dado por:
τ = 1
N
∫ xf
0 dx
∫
∞
0 ρ(x, t)dt
τ = 2L
2
Dpi3
∑
∞
0
(−1)n
(n+0.5)3
cos[ (n+0.5)pix0
L
]
D = (δx)
2
2·δt
= 0.0000125
Abaixo um programa em C que calcula, para n part´ıculas, com k inter-
valos entre y e L, o tempo de cada uma.
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
int main()
{
FILE *saida;
saida=fopen("mfpt.dat","w");
double x, y, yn, N, n, p, dx, L;
int t;
printf("Digite os valores do passo, do numero de particulas,
do ponto final e do ponto de partida, respectivamente.\n");
scanf("%lf %lf %lf %lf", &dx, &n, &L, &p);
srand(time(NULL));
N=0;
while(N<n)
{
x=0;
y=p;
yn=0;
t=0;
while (y<=L)
{
x=(float)rand()/RAND_MAX ;
if(x>0.5)
{
y=y+dx;
}
else
{
yn=y-dx;
if(y<0)
{
y=0;
}
else
{
y=yn;
}
}
t=t+1; //nu´mero de passos
}
if (y=L)
{
fprintf(saida,"%i\n", t);
}
N=N+1;
}
fclose(saida);
return(0);
}
Programa que calcula o resultado anal´ıtico para L=1, D=0.0000125, ponto
inicial=0.5 e 10000 part´ıculas. A me´dia foi calculada pelo QtiPlot, assim
como o gra´fico em histograma.
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
double tau;
int N,i;
N = 10000;
tau = 0;
for(i=0;i<=N;i++)
{
tau = tau + cos((i+0.5)*M_PI*0.5)*pow(-1,i)*(1/pow((i+0.5),3));
//xo=0.5, L=1
}
tau = tau*2*1/((0.0000125)*pow(M_PI,3));
//L=1, D=0.0000125
printf("%lf \n",tau);
}
3 Resultados
Usando n=10000, k=200, dx=0.005, L=1, y=0.5, a me´dia ficou em 30600,4622
pela simulac¸a˜o. O resultado anal´ıtico resultou em 30000.0000.
O gra´fico resultou em:
N
ú
m
e
r
o
 d
e
 C
a
m
in
h
a
n
t
e
s
Número de Passos
Figura 1: Gra´fico do nu´mero de passos pelo nu´mero de part´ıculas.