Académique Documents
Professionnel Documents
Culture Documents
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;