diff options
author | David Luevano <55825613+luevano@users.noreply.github.com> | 2019-12-12 20:49:41 -0700 |
---|---|---|
committer | David Luevano <55825613+luevano@users.noreply.github.com> | 2019-12-12 20:49:41 -0700 |
commit | ada04a42528c29ea86e48f0a19cb8723c8bc0a66 (patch) | |
tree | 4c72d4aaec333f34cb0e8b699e190583b3fd910b /c_matrix.py | |
parent | 4c1c9c0e6c74f51c2557fb2ef2d236321b62f43a (diff) |
First working parallelism
Diffstat (limited to 'c_matrix.py')
-rw-r--r-- | c_matrix.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/c_matrix.py b/c_matrix.py index 2bc4d4c0c..75cc4d8a2 100644 --- a/c_matrix.py +++ b/c_matrix.py @@ -30,7 +30,7 @@ from numpy.linalg import eig def c_matrix(mol_data, nc_data, max_len=25, - as_eig=False, + as_eig=True, bohr_radius_units=False): """ Creates the Coulomb Matrix from the molecule data given. @@ -150,13 +150,16 @@ def c_matrix(mol_data, def c_matrix_multiple(mol_data, nc_data, + pipe=None, max_len=25, - as_eig=False, + as_eig=True, bohr_radius_units=False): """ Calculates the Coulomb Matrix of multiple molecules. mol_data: molecule data, matrix of atom coordinates. nc_data: nuclear charge data, array of atom data. + pipe: for multiprocessing purposes. Sends the data calculated + through a pipe. max_len: maximum amount of atoms in molecule. as_eig: if data should be returned as matrix or array of eigenvalues. bohr_radius_units: if units should be in bohr's radius units. @@ -167,6 +170,9 @@ def c_matrix_multiple(mol_data, cm_data = np.array([c_matrix(mol, nc, max_len, as_eig, bohr_radius_units) for mol, nc in zip(mol_data, nc_data)]) + if pipe: + pipe.send(cm_data) + toc = time.perf_counter() printc('\tCM calculation took {:.4f} seconds.'.format(toc - tic), 'GREEN') |