From 800ccc2f02a49f30167e3c74979b5c3a80aab59a Mon Sep 17 00:00:00 2001 From: Lucas Tepper Date: Fri, 30 Nov 2018 19:29:48 +0100 Subject: [PATCH 1/3] Switching the test to 'indexing xy' fixed the issue. --- projects/project_4/poisson_2.py | 1 + projects/project_4/test_poisson_2.py | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/projects/project_4/poisson_2.py b/projects/project_4/poisson_2.py index 23e14e5..f6d448f 100644 --- a/projects/project_4/poisson_2.py +++ b/projects/project_4/poisson_2.py @@ -1,6 +1,7 @@ import numpy as np + def create_laplacian_2d(nx, ny, lx, ly, pbc=True): """ Computes discrete Laplacian for a 2d charge density matrix, ordered row-wise diff --git a/projects/project_4/test_poisson_2.py b/projects/project_4/test_poisson_2.py index b616683..f66e826 100644 --- a/projects/project_4/test_poisson_2.py +++ b/projects/project_4/test_poisson_2.py @@ -37,10 +37,12 @@ def test_laplacian_2d(): (3, 3, 1, -1, True, ValueError), (3, 3, -1, 1, True, ValueError), ]) + def test_laplacian_2d_exceptions(nx, ny, lx, ly, pbc, exception): with pytest.raises(exception): create_laplacian_2d(nx, ny, lx, ly, pbc=pbc) + ### test TypeError ### list1 = [(i, 3, 1, 1, True, TypeError) for i in [[0], 'string', {'dict': 0}, True]] @@ -52,20 +54,25 @@ def test_laplacian_2d_exceptions(nx, ny, lx, ly, pbc, exception): for i in [[0], 'string', {'dict': 0}, True]]) list1.extend([(3, 3, 1, 1, i, TypeError) for i in [[0], 'string', {'dict': 0}]]) + @pytest.mark.parametrize('nx, ny, lx, ly,pbc,exception', list1) def test_laplacian_2d_exceptions(nx, ny, lx, ly, pbc, exception): with pytest.raises(exception): create_laplacian_2d(nx, ny, lx, ly, pbc=pbc) + ### test periodc grid ### @pytest.mark.parametrize('nx, ny', [ (100, 100), + (100, 90), + (90, 100), ]) + def test_laplacian_2d(nx, ny): x = np.linspace(-np.pi, np.pi, nx, endpoint=False) y = np.linspace(-np.pi, np.pi, ny, endpoint=False) - xx, yy = np.meshgrid(x,y, indexing='ij') + yy, xx = np.meshgrid(x,y, indexing='xy') grid = np.sin(xx) + np.cos(yy) laplacian = create_laplacian_2d(nx, ny, 2 * np.pi, 2 * np.pi) grid_lap = np.dot(laplacian, grid.reshape(-1)) - np.testing.assert_almost_equal(grid, -grid_lap.reshape(nx, ny),decimal=3) + np.testing.assert_almost_equal(grid, -grid_lap.reshape(ny, nx),decimal=3) From 3e99c08516f88cf00e88323103e9c620dbb2de9c Mon Sep 17 00:00:00 2001 From: Lucas Tepper Date: Tue, 11 Dec 2018 08:23:05 +0100 Subject: [PATCH 2/3] poisson gauss seidel implementation --- projects/project_5/gauss_seidel.py | 62 +++++++++++++++++++++++++ projects/project_5/poisson_scipy.py | 46 ++++++++++++++++++ projects/project_5/test_gauss_seidel.py | 21 +++++++++ 3 files changed, 129 insertions(+) create mode 100644 projects/project_5/gauss_seidel.py create mode 100644 projects/project_5/poisson_scipy.py create mode 100644 projects/project_5/test_gauss_seidel.py diff --git a/projects/project_5/gauss_seidel.py b/projects/project_5/gauss_seidel.py new file mode 100644 index 0000000..230dc89 --- /dev/null +++ b/projects/project_5/gauss_seidel.py @@ -0,0 +1,62 @@ +import numpy as np + + +def compute_phi_2d(rho, l, max_it=1E4, f_tol=1E-7, epsilon_0=1): + """ + Computes potential from charge distribution using + Gauss Seidel Method. Does not check for correct input. + Arguments: + rho (np.array): Charge distribution. axis=0 is y, axis=1 is x + Ensure that sum(rho) = 0 + l (list): list containing lx, ly. min(l) > 0 + f_tol(float): Error tolerance + Iteration is terminated if change of norm of potenital < f_tol + max_it(int): maximum number of iterations + epsilon_0(float): vacuum permittivity + """ + ### define relevant variables ### + nx = rho.shape[1] + ny = rho.shape[0] + n_min = min([nx, ny]) + hx = (nx / l[0]) ** 2 + hy = (ny / l[1]) ** 2 + hxhy = 1 / (2 * hx + 2 * hy) + phi = np.zeros((ny, nx)) + norm = 1 + n_it = 0 + + ### define indexing lists for loop ### + index_y = [ny - i if ny - i > 0 else 0 for i in range(1, nx + ny)] + index_x = [i - ny if i - ny > 0 else 0 for i in range(1, nx + ny)] + indices = [(a,b) for a,b in zip(index_y,index_x)] + diag_len = [n_min for i in np.ones(nx + ny - 1, dtype=np.int8)] + for i in range(n_min): + diag_len[i] = i + 1 + diag_len[-i-1] = i + 1 + + ### run main loop ### + while norm > f_tol and n_it < max_it: + n_it += 1 + norm_old = np.linalg.norm(phi) + for k, l in enumerate(indices): + for m in range(diag_len[k]): + i = l[0] + m + j = l[1] + m + phi_up = phi[i-1,j] + phi_left = phi[i,j-1] + if i < ny - 1: + phi_down = phi[i+1,j] + else: + phi_down = phi[0,j] + if j < nx - 1: + phi_right = phi[i,j+1] + else: + phi_right = phi[i,0] + phi[i,j] = (hxhy * ( hx * (phi_right + phi_left) + + hy * (phi_up + phi_down) + + 1 / epsilon_0 * rho[i,j] + )) + norm_new = np.linalg.norm(phi) + norm = abs(norm_old - norm_new) + + return phi diff --git a/projects/project_5/poisson_scipy.py b/projects/project_5/poisson_scipy.py new file mode 100644 index 0000000..a132c48 --- /dev/null +++ b/projects/project_5/poisson_scipy.py @@ -0,0 +1,46 @@ +import numpy as np +from scipy.sparse import diags + + +def create_laplacian_2d(nx, ny, lx, ly, pbc=True): + """ Computes discrete Laplacian for a 2d + charge density matrix, ordered row-wise + Args: + nx(int >= 2): number of grid points along x axis + ny(int >= 2): number of grid points along y axis + lx(float > 0): length of grid along x axis + ly(float > 0): length of grid along y axis + pbc(boolean): periodic boundry conditions + output: + Laplacian as nx * ny by nx * ny np.array + """ + if type(nx) != int or type(ny) != int: + raise TypeError('We need an integer') + if type(lx) != int and type(lx) != float: + raise TypeError('We need a number') + if type(ly) != int and type(ly) != float: + raise TypeError('We need a number') + if nx < 2 or ny < 2: + raise ValueError('We need at least two grid points') + if lx <= 0 or ly <= 0: + raise ValueError('We need a positive length') + if type(pbc) != bool: + raise TypeError('We need a boolean as pbc') + + hx = (nx / lx) ** 2 + hy = (ny / ly) ** 2 + diag0 = (-2 * hx - 2 * hy) * np.ones(nx * ny) + diag1 = hx * np.ones(nx * ny - 1) + diag1[nx-1::nx] = 0 + diag2 = hy * np.ones(nx * ny - nx) + diagonals = [diag0, diag1, diag1, diag2, diag2] + offsets = [0, 1, -1, nx, -nx] + + if pbc: + diag4 = hy * np.ones(nx) + diag5 = hx * np.zeros(nx * ny - nx + 1) + diag5[::nx] = hx + diagonals.extend([diag4, diag4, diag5, diag5]) + offsets.extend([nx * ny - nx, nx - nx * ny, nx - 1, 1 - nx]) + + return diags(diagonals, offsets).todense() diff --git a/projects/project_5/test_gauss_seidel.py b/projects/project_5/test_gauss_seidel.py new file mode 100644 index 0000000..69d72d9 --- /dev/null +++ b/projects/project_5/test_gauss_seidel.py @@ -0,0 +1,21 @@ +import numpy as np +import pytest +from poisson_scipy import create_laplacian_2d +from gauss_seidel import compute_phi_2d + + +### test gauss seidel vs laplacian ### +@pytest.mark.parametrize('nx, ny', [ + (5, 5), + (10, 5), + (5, 10), + (30, 50) + ]) + +def test_compute_phi_2d(nx, ny): + n = (nx * ny - 1) / 2 + rho = np.linspace(-n , n, nx * ny).reshape(ny , nx) + laplacian = create_laplacian_2d(nx, ny, 1, 1) + phi = compute_phi_2d(rho, [1, 1]) + rho_calc = -np.dot(laplacian, phi.reshape(-1)).reshape(ny, nx) + np.testing.assert_almost_equal(rho, rho_calc, decimal=4) From 4f9c9f4ffc022dc1715c9e734fc61c343d053d6e Mon Sep 17 00:00:00 2001 From: Lucas Tepper Date: Thu, 13 Dec 2018 10:24:00 +0100 Subject: [PATCH 3/3] Solution to project 6 --- .../project_6/Shipra_Yaoyi_Louis_Lucas/LJ.py | 67 ++++++ .../Shipra_Yaoyi_Louis_Lucas/langevin.py | 44 ++++ .../Shipra_Yaoyi_Louis_Lucas/mmc_LJ_trap.py | 58 ++++++ .../Shipra_Yaoyi_Louis_Lucas/movie_maker.py | 33 +++ .../movie_of_configs.mp4 | Bin 0 -> 179661 bytes .../Shipra_Yaoyi_Louis_Lucas/plotting.ipynb | 192 ++++++++++++++++++ .../Shipra_Yaoyi_Louis_Lucas/pot_force.py | 38 ++++ 7 files changed, 432 insertions(+) create mode 100644 projects/project_6/Shipra_Yaoyi_Louis_Lucas/LJ.py create mode 100644 projects/project_6/Shipra_Yaoyi_Louis_Lucas/langevin.py create mode 100644 projects/project_6/Shipra_Yaoyi_Louis_Lucas/mmc_LJ_trap.py create mode 100644 projects/project_6/Shipra_Yaoyi_Louis_Lucas/movie_maker.py create mode 100644 projects/project_6/Shipra_Yaoyi_Louis_Lucas/movie_of_configs.mp4 create mode 100644 projects/project_6/Shipra_Yaoyi_Louis_Lucas/plotting.ipynb create mode 100644 projects/project_6/Shipra_Yaoyi_Louis_Lucas/pot_force.py diff --git a/projects/project_6/Shipra_Yaoyi_Louis_Lucas/LJ.py b/projects/project_6/Shipra_Yaoyi_Louis_Lucas/LJ.py new file mode 100644 index 0000000..760d012 --- /dev/null +++ b/projects/project_6/Shipra_Yaoyi_Louis_Lucas/LJ.py @@ -0,0 +1,67 @@ +import numpy as np + +# temporarily define all constants here +epsilon_lj = 1. +sigma_lj = 1. +cutoff_lj = 3. * sigma_lj + +def LJ_potential(q): + """Calculate the system Lennard-Jones potential based on given particle coordinates. + + Input: + q (iterable of (#dimension,)-arrays): list or array of particle coordinates. + + Output: + pot (float): sum of all pairwise LJ potentials. + """ + + # TODO: input check + + n_particle = np.shape(q)[0] + pot = 0. + for i in range(n_particle - 1): + for j in range(1, n_particle): + pot += _LJ_potential_pair(q[i], q[j]) + return pot + +def _LJ_potential_pair(qi, qj): + """Calculate pairwise Lennard-Jones potential. + (require global epsilon_lj, sigma_lj, cutoff_lj) + """ + rij = np.linalg.norm(qi - qj) + if rij <= 0 or rij > cutoff_lj: + return 0. + return 4 * epsilon_lj * (sigma_lj ** 12 / rij ** 12 - sigma_lj ** 6 / rij ** 6) + +def LJ_force(q): + """Calculate the system Lennard-Jones forces based on given particle coordinates. + + Input: + q (iterable of (#dimension,)-arrays): list or array of particle coordinates. + k (int): index of the particle for force calc. + + Output: + force ((n, #dimension)-array): system Lennard-Jones forces on particle *0~(n-1)*. + """ + + # TODO: input check + + n_particle = np.shape(q)[0] + ndim = np.shape(q)[1] + force = np.zeros((n_particle, ndim)) + for i in range(n_particle): + for j in range(n_particle): + # pairwise force calc will return 0 for identical two particles. + force[i] += _LJ_force_pair(q[i], q[j]) + return force + +def _LJ_force_pair(qk, qj): + """Calculate pairwise Lennard-Jones force on paricle *k*. + (require global epsilon_lj, sigma_lj, cutoff_lj) + """ + rjk = np.linalg.norm(qj - qk) + ndim = np.shape(qk)[0] + if rjk <= 0 or rjk > cutoff_lj: + return np.zeros(ndim) + # return 4 * epsilon_lj * (12 * sigma_lj ** 12 / rjk ** 14 - 6 * sigma_lj ** 6 / rjk ** 8) * (qj - qk) + return 4 * epsilon_lj * (12 * sigma_lj ** 12 / rjk ** 14 - 6 * sigma_lj ** 6 / rjk ** 8) * (qk - qj) diff --git a/projects/project_6/Shipra_Yaoyi_Louis_Lucas/langevin.py b/projects/project_6/Shipra_Yaoyi_Louis_Lucas/langevin.py new file mode 100644 index 0000000..3601a3a --- /dev/null +++ b/projects/project_6/Shipra_Yaoyi_Louis_Lucas/langevin.py @@ -0,0 +1,44 @@ +import numpy as np + + +def langevin( + force, n_steps, x_init, v_init, mass, + time_step=0.001, damping=0.1, beta=1.0): + """Langevin integrator for initial value problems + + This function implements the BAOAB algorithm of Benedict Leimkuhler + and Charles Matthews. See J. Chem. Phys. 138, 174102 (2013) for + further details. + + Arguments: + force (function): computes the forces of a single configuration + n_steps (int): number of integration steps + x_init (numpy.ndarray(n, d)): initial configuration + v_init (numpy.ndarray(n, d)): initial velocities + mass (numpy.ndarray(n)): particle masses + time_step (float): time step for the integration + damping (float): damping term, use zero if not coupled + beta (float): inverse temperature + + Returns: + x (numpy.ndarray(n_steps + 1, n, d)): configuraiton trajectory + v (numpy.ndarray(n_steps + 1, n, d)): velocity trajectory + """ + shape = list(x_init.shape) + th = 0.5 * time_step + thm = 0.5 * time_step / mass[:, None] + edt = np.exp(-damping * time_step) + sqf = np.sqrt((1.0 - edt ** 2) / (beta * mass))[:, None] + x = np.zeros([n_steps + 1] + shape) + v = np.zeros_like(x) + x[0, :, :] = x_init + v[0, :, :] = v_init + f = force(x[0]) + for i in range(n_steps): + v[i + 1, :, :] = v[i] + thm * f + x[i + 1, :, :] = x[i] + th * v[i + 1] + v[i + 1, :, :] = edt * v[i + 1] + sqf * np.random.randn(*shape) + x[i + 1, :, :] = x[i + 1] + th * v[i + 1] + f[:, :] = force(x[i + 1]) + v[i + 1, :, :] = v[i + 1] + thm * f + return x, v diff --git a/projects/project_6/Shipra_Yaoyi_Louis_Lucas/mmc_LJ_trap.py b/projects/project_6/Shipra_Yaoyi_Louis_Lucas/mmc_LJ_trap.py new file mode 100644 index 0000000..653abd9 --- /dev/null +++ b/projects/project_6/Shipra_Yaoyi_Louis_Lucas/mmc_LJ_trap.py @@ -0,0 +1,58 @@ +import numpy as np +##################### declare constants ######################## +N_particles= 4 +mc_steps = 1000 +particle_radius = 1 +potential_depth = 1 +spring_constant = 1 +beta = 1 +dimension = 2 +inital_density = 0.5 +initial_length = (N_particles/inital_density)**(1/dimension) +scaling = 0.1 +##################### distances ################################# +tril_vector = np.tril_indices(N_particles,-1) +def get_distances(coordinates): + dist_matrix = np.linalg.norm( + coordinates[:, None, :] - coordinates[None, :, :], + axis=-1) + return dist_matrix[tril_vector] +################### Lennard-Jones ############################### +def LJ_potential(coordinates): + u_LJ = 0 + d = get_distances(coordinates) + for _ in range(len(d)): + if d[_] == 0: + u_LJ = 1e500 + print('divided by zero') + elif d[_] < 2.5 * particle_radius: + attractive_part_of_potential = (particle_radius/d[_])**(6.) + u_LJ += (attractive_part_of_potential) ** 2. - attractive_part_of_potential + return u_LJ * 4 * potential_depth +################### harmonic_Potential ########################### +def harmonic_Potential(coordinates): + u_harmonic = 0 + for _ in range(N_particles): + u_harmonic += spring_constant * 0.5 * np.linalg.norm(coordinates[_])**2. + return u_harmonic +################## Metropolis Monte Carlo ######################## +def mmc(): + coordinates = np.zeros([mc_steps, N_particles, dimension]) + u = np.zeros(mc_steps) + initial_coordinates = np.random.rand(N_particles, dimension) * initial_length - 0.5 * initial_length * np.ones([N_particles, dimension]) + coordinates[0] = initial_coordinates + for t in range(1,mc_steps): + choose_particle = np.random.randint(0, high=N_particles, size=None, dtype='l') + random_vector = np.zeros([N_particles,dimension]) + random_vector[choose_particle] = np.random.rand(dimension)-0.5 + coordinates_ = coordinates[t-1] + scaling * random_vector / np.linalg.norm(random_vector) + u_ = LJ_potential(coordinates_) + harmonic_Potential(coordinates_) + u[t-1] = LJ_potential(coordinates[t-1]) + harmonic_Potential(coordinates[t-1]) + if u_ <= u[t-1] \ + or np.random.rand() < np.exp(beta*(u[t-1]-u_)): + coordinates[t] = coordinates_ + u[t] = u_ + else: + coordinates[t] = coordinates[t-1] + u[t] = u[t-1] + return u, coordinates diff --git a/projects/project_6/Shipra_Yaoyi_Louis_Lucas/movie_maker.py b/projects/project_6/Shipra_Yaoyi_Louis_Lucas/movie_maker.py new file mode 100644 index 0000000..23efd6a --- /dev/null +++ b/projects/project_6/Shipra_Yaoyi_Louis_Lucas/movie_maker.py @@ -0,0 +1,33 @@ +################### create Movie of configs ##################### +import numpy as np +import matplotlib.pyplot as plt +import matplotlib +from mmc_LJ_trap import * +matplotlib.use("Agg") +u, coordinates = mmc() +import matplotlib.animation as manimation + +FFMpegWriter = manimation.writers['ffmpeg'] +metadata = dict(title='Movie Test', artist='Matplotlib', + comment='Movie support!') +writer = FFMpegWriter(fps=20, metadata=metadata) + +fig = plt.figure() +l, = plt.plot([], [], 'ro') +plt.setp(l, markersize=30) +plt.setp(l, markerfacecolor='C0') + + +plt.xlim(-5, 5) +plt.ylim(-5, 5) + +x, y = np.zeros(N_particles), np.zeros(N_particles) + +with writer.saving(fig, "movie_of_configs.mp4", 100): + for _ in range(mc_steps): + coord = coordinates[_] + for i in range(N_particles): + x[i] = coord[i, -1] + y[i] = coord[i, 0] + l.set_data(x, y) + writer.grab_frame() diff --git a/projects/project_6/Shipra_Yaoyi_Louis_Lucas/movie_of_configs.mp4 b/projects/project_6/Shipra_Yaoyi_Louis_Lucas/movie_of_configs.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..3c854218218349e26791bfb1eb8d8fdb6bdeec4b GIT binary patch literal 179661 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%0D>KaQYb_2KVS!d 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