Beruflich Dokumente
Kultur Dokumente
Resumen
El potencial leonnard Jones se utilizo para predicir la energia potencial
entre las moleculas, dada una configuracion, en este trabajo se utilizo
gradiante conjugando y recocido simulado para minimizar la energia de una
configuracion inicial dada, obteniendo buenos resultados para gradiante
conjugado y muy malos para la implementacion de recocido simulado.
I.
Introduccion
En 1924 John Lennard Jones propuso una expresion para calcular la energia
potencial que existe entre dos moleculas:
U ( r )=4
12
(( ) ( ) )
(1)
Figura 1.- Grafica de la energia versus radio del potencial Lennard Jones
( r1 r2 ) r1 (2)
6
12
II.
Resultados
III.
Conclusiones y observaciones
IV.
Referencias
[1] http://en.wikipedia.org/wiki/Lennard-Jones_potential
[2] http://ljc.group.cam.ac.uk/
[3] http://en.wikipedia.org/wiki/Conjugate_gradient_method
[4] Robert H. Leary. Global Optima of Lennard Jones Clusters. Journal de
Global Optimization, 11,35-53 (1997)
[5]
http://es.wikipedia.org/wiki/Teorema_de_la_energ%C3%ADa_cin
%C3%A9tica
[6] http://doye.chem.ox.ac.uk/jon/structures/LJ/tables.150.html
V.
Apendice I
Codigo de Recocido simulado
function
solucionInicial = perturbacion(solucionInicial,n)
indice = [];
indice(1) = randi(n,1);
indice(2) = randi(3,1);
solucionInicial(indice(1),indice(2)) =
solucionInicial(indice(1),indice(2)) + 0.0000000001*(-1+2*rand);
%Iniciacion
energia = [];
energia2 = [];
N = 11; %N es el numero de particulas
c = 1; %decrecimiento de la temperatura
%evaluacion de el energia
for i = 1:N - 1
for k = i+1:N
r =
end
end
for i = 1:N - 1
for k = i+1:N
r = ( (sPrima(i,1) - sPrima(k,1) )^(2) + (sPrima(i,2) sPrima(k,2) )^(2) + ...
(sPrima(i,3) - sPrima(k,3 ) )^(2) )^(1/2);
energia(2) = energia(2) + asidFun(r);
end
end
if deltaE <= 0
s = sPrima;
energia2 = [energia2 energia(2)];
else
if rand < (exp( - deltaE/temperatura))
s = sPrima;
energia2 = [energia2 energia(2)];
end
end
if z ~= 20000
energia = [];
energia(1:2) = 0;
end
temperatura = temperatura - c;
end
plot(1:100,energia2(1:100),'.r')
s
energia
grad=GradLJ(puntos);
for i=1:n
puntos2=puntos-lambda*grad;
puntos=puntos2;
grad=GradLJ(puntos);
arreglo(i) = PotLJ(puntos);
end
A=puntos;
pot=PotLJ(puntos);
imprime_archivo(A);
plot(1:n,arreglo','.r')
pGrads(i,:)=[itGx,itGy,itGz];
end
sol=pGrads;
% Potencial de Leonard-Jones
function [sol] = PotLJ(puntos)
% Punto es un arreglo de puntos en R^3
% d2 es la distancia euclidiana al cuadrado
% SALIDA: el potencial de LJ(sol)
[n,m]=size(puntos);
pot=0.0;
for i=1:n-1
iP=puntos(i,:);
for j=i+1:n
jP=puntos(j,:);
d2=(iP(1)-jP(1))^2+(iP(2)-jP(2))^2+(iP(3)-jP(3))^2;
rij=(1.0/d2)^3;
pot=pot+rij^2-rij;
end
end
sol=4.0e0*pot;