Skip to content
Snippets Groups Projects
Commit db9836cd authored by Ivan Kondov's avatar Ivan Kondov
Browse files

fixed shape changes in coordinates and momenta

parent f6580e0e
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@ from systems import MPPS1D
from mpliouville import MPLPDV
import matplotlib.pyplot as plt
syspar = {'symbols': ['0', '1'], 'q0': [1, 3], 'p0': [1, -1],
syspar = {'symbols': ['0', '1'], 'q0': [[1], [3]], 'p0': [[1], [-1]],
'masses': [1.0, 1.0], 'pbc': True, 'cell': [5.0],
'numeric': {'tool': 'subs'}}
ffparams = [{'class': 'FFZero', 'pair': ((0,), (1,))}]
......
......@@ -10,7 +10,8 @@ import numpy as np
M = np.full(2, 2.0)
r0 = 3.5
kappa = sp.Rational(1, 2)
syspar = {'symbols': ['0', '1'], 'q0': [0, 1], 'p0': [1, 0], 'masses': M}
syspar = {'symbols': ['0', '1'], 'q0': [[0], [1]], 'p0': [[1], [0]],
'masses': M}
ffpar = [{'class': 'FFHarmonic', 'pair': ((0,), (1,)),
'params': {'distance': r0, 'kappa': kappa}}]
syst = MPPS1D(ffpar, **syspar)
......@@ -29,9 +30,9 @@ prop_ref.analyse()
# analytic solution of equivalent 1p problem
sys_1p_par = {
'q0': np.abs(syspar['q0'][0]-syspar['q0'][1])-r0,
'q0': np.abs(syspar['q0'][0][0]-syspar['q0'][1][0])-r0,
# from the motion of center of mass
'p0': (M[0]*syspar['p0'][1]+M[1]*syspar['p0'][0])/np.sum(M),
'p0': (M[0]*syspar['p0'][1][0]+M[1]*syspar['p0'][0][0])/np.sum(M),
# from total kinetic energy = sum of particles's kinetic energies
# 'p0': np.sqrt((M[0]*syspar['p0'][1]**2+M[1]*syspar['p0'][0]**2)/np.sum(M)),
'mass': np.prod(M)/np.sum(M)
......
......@@ -13,7 +13,8 @@ params = {'tstart': 0.0, 'tend': 1.0, 'tstep': 0.1, 'nterms': 4,
M = np.full(2, 2.0)
r0 = 3.5
kappa = sp.Rational(1, 2)
syspar_1d = {'symbols': ['0', '1'], 'q0': [-1, 0], 'p0': [1, 0], 'masses': M}
syspar_1d = {'symbols': ['0', '1'], 'q0': [[-1], [0]], 'p0': [[1], [0]],
'masses': M}
ffpar_1d = [{'class': 'FFHarmonic', 'pair': ((0,), (1,)),
'params': {'distance': r0, 'kappa': kappa}}]
syst_1d = MPPS1D(ffpar_1d, **syspar_1d)
......@@ -36,9 +37,9 @@ prop_3d.analyse()
# analytic solution of the equivalent 1p problem
sys_1p_par = {
'q0': np.abs(syspar_1d['q0'][0]-syspar_1d['q0'][1])-r0,
'q0': np.abs(syspar_1d['q0'][0][0]-syspar_1d['q0'][1][0])-r0,
# from the motion of center of mass
'p0': (M[0]*syspar_1d['p0'][1]+M[1]*syspar_1d['p0'][0])/np.sum(M),
'p0': (M[0]*syspar_1d['p0'][1][0]+M[1]*syspar_1d['p0'][0][0])/np.sum(M),
# from total kinetic energy = sum of particles's kinetic energies
# 'p0': np.sqrt((M[0]*syspar_1d['p0'][1]**2+M[1]*syspar_1d['p0'][0]**2)/np.sum(M)),
'mass': np.prod(M)/np.sum(M)
......
......@@ -5,7 +5,7 @@ from systems import MPPS1D
from mpliouville import MPLPQP
import matplotlib.pyplot as plt
syspar = {'symbols': ['0', '1'], 'q0': [0, 2], 'p0': [0, -1],
syspar = {'symbols': ['0', '1'], 'q0': [[0], [2]], 'p0': [[0], [-1]],
'masses': [1.0, 1.0]}
ffpars = [{'class': 'FFLennardJones', 'pair': ((0,), (1,))}]
syst = MPPS1D(ffpars, **syspar)
......
......@@ -5,7 +5,7 @@ from systems import MPPS1D
from mpliouville import MPLPDV
import matplotlib.pyplot as plt
syspar = {'symbols': ['0', '1'], 'q0': [1, 3], 'p0': [0, -1],
syspar = {'symbols': ['0', '1'], 'q0': [[1], [3]], 'p0': [[0], [-1]],
'masses': [1.0, 1.0], 'pbc': True, 'cell': [15.],
'numeric': {'tool': 'subs'}}
ffpars = [{'class': 'FFLennardJones', 'pair': ((0,), (1,))}]
......@@ -50,7 +50,7 @@ plot = fig.add_subplot(313)
plt.plot(tir, rtr, label='r(t) verlet')
plt.plot(ti, rt, label='r(t) chebyshev')
plot.set_xlabel('time')
plot.set_ylabel(r'$p_0,\quad p_1$')
plot.set_ylabel(r'$r = |q_0 - q_1|$')
plt.legend()
plt.show()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment