Compare commits
	
		
			7 Commits
		
	
	
		
			00043637e9
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 4f35a234c3 | |||
| 893bf31292 | |||
| cf7ef06c67 | |||
|  | 9ff3badab1 | ||
|  | 492098fe01 | ||
| 65ac6e9143 | |||
|  | 4047db209c | 
| @@ -26,9 +26,13 @@ time, msd = md.correlation.shifted_correlation( | ||||
|  | ||||
| ## Installation | ||||
|  | ||||
| === DEPRECATED: 2025-08-19 ===  | ||||
| The package requires the Python package [pygmx](https://github.com/mdevaluate/pygmx), | ||||
| which handles reading of Gromacs file formats. | ||||
| Installation of pygmx is described in its own repository. | ||||
| === DEPRECATED: 2025-08-19 ===  | ||||
|  | ||||
| The package requires the Python package [pygmx](https://github.com/mdevaluate/pygmx), | ||||
|  | ||||
| The mdevaluate package itself is plain Python code and, hence, can be imported from its directory directly,  | ||||
| or may be installed via setuptools to the local Python environment by running | ||||
|   | ||||
							
								
								
									
										71
									
								
								create_mdevaluate_module.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										71
									
								
								create_mdevaluate_module.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,71 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| CONDA_VERSION=2024.10 | ||||
| PYTHON_VERSION=3.12 | ||||
|  | ||||
| if [ -z "$1" ]; then | ||||
|     echo "No argument supplied, version to create expected" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
|  | ||||
| if [ ! -w "/nfsopt/mdevaluate"]; then | ||||
| 	echo "Please remount /nfsopt writable" | ||||
| 	exit 2 | ||||
| fi | ||||
|  | ||||
| MD_VERSION=$1 | ||||
|  | ||||
| # purge evtl. loaded modules | ||||
| module purge | ||||
|  | ||||
|  | ||||
| echo "Create mdevaluate Python environemnt using conda" | ||||
| echo "Using conda version: $CONDA_VERSION" | ||||
| echo "Using Python version: $PYTHON_VERSION" | ||||
|  | ||||
| module load anaconda3/$CONDA_VERSION | ||||
| conda create -y --prefix /nfsopt/mdevaluate/mdevaluate-${MD_VERSION} \ | ||||
|              python=$PYTHON_VERSION | ||||
| module purge | ||||
|  | ||||
| echo "Create modulefile for mdevaluate/$MD_VERSION" | ||||
| cat > /nfsopt/modulefiles/mdevaluate/$MD_VERSION <<EOF | ||||
| #%Module1.0##################################################################### | ||||
| ## | ||||
| ## dot modulefile | ||||
| ## | ||||
| ## modulefiles/dot.  Generated from dot.in by configure. | ||||
| ## | ||||
|  | ||||
| module-whatis	"Enables the mdevaluate Python environment." | ||||
|  | ||||
| set version	${MD_VERSION} | ||||
| set module_path /nfsopt/mdevaluate/mdevaluate-\$version/bin | ||||
|  | ||||
| prepend-path PATH \$module_path | ||||
|  | ||||
| EOF | ||||
|  | ||||
| echo "Loading mdevaluate environment and install packages" | ||||
| module load mdevaluate/${MD_VERSION} | ||||
| pip install jupyter \ | ||||
| spyder \ | ||||
| mdanalysis \ | ||||
| pathos \ | ||||
| pandas \ | ||||
| dask \ | ||||
| sqlalchemy \ | ||||
| psycopg2-binary \ | ||||
| trimesh \ | ||||
| pyvista \ | ||||
| seaborn \ | ||||
| black \ | ||||
| black[jupyter] \ | ||||
| tables \ | ||||
| pyedr \ | ||||
| pytest | ||||
|  | ||||
| pip install git+https://gitea.pkm.physik.tu-darmstadt.de/IPKM/mdevaluate.git | ||||
| pip install git+https://gitea.pkm.physik.tu-darmstadt.de/IPKM/python-store.git | ||||
| pip install git+https://gitea.pkm.physik.tu-darmstadt.de/IPKM/python-tudplot.git | ||||
| @@ -182,10 +182,10 @@ def tetrahedral_order( | ||||
|     ) | ||||
|  | ||||
|     # Connection vectors | ||||
|     neighbors_1 -= atoms | ||||
|     neighbors_2 -= atoms | ||||
|     neighbors_3 -= atoms | ||||
|     neighbors_4 -= atoms | ||||
|     neighbors_1 = pbc_diff(neighbors_1, atoms, box=atoms.box) | ||||
|     neighbors_2 = pbc_diff(neighbors_2, atoms, box=atoms.box) | ||||
|     neighbors_3 = pbc_diff(neighbors_3, atoms, box=atoms.box) | ||||
|     neighbors_4 = pbc_diff(neighbors_4, atoms, box=atoms.box) | ||||
|  | ||||
|     # Normed Connection vectors | ||||
|     neighbors_1 /= np.linalg.norm(neighbors_1, axis=-1).reshape(-1, 1) | ||||
|   | ||||
| @@ -149,32 +149,21 @@ def nojump(frame: CoordinateFrame, usecache: bool = True) -> CoordinateFrame: | ||||
|             i0 = 0 | ||||
|             delta = 0 | ||||
|  | ||||
|         delta = ( | ||||
|             delta | ||||
|             + np.array( | ||||
|                 np.vstack( | ||||
|         delta = (delta | ||||
|             + np.vstack( | ||||
|                 [m[i0 : abstep + 1].sum(axis=0) for m in reader.nojump_matrices] | ||||
|                 ).T | ||||
|             ) | ||||
|             @ frame.box | ||||
|         ) | ||||
|             ).T) | ||||
|  | ||||
|         reader._nojump_cache[abstep] = delta | ||||
|         while len(reader._nojump_cache) > NOJUMP_CACHESIZE: | ||||
|             reader._nojump_cache.popitem(last=False) | ||||
|         delta = delta[selection, :] | ||||
|     else: | ||||
|         delta = ( | ||||
|             np.array( | ||||
|                 np.vstack( | ||||
|                     [ | ||||
|                         m[: frame.step + 1, selection].sum(axis=0) | ||||
|                         for m in reader.nojump_matrices | ||||
|                     ] | ||||
|         delta = np.vstack( | ||||
|                 [m[: frame.step + 1, selection].sum(axis=0) for m in reader.nojump_matrices] | ||||
|                 ).T | ||||
|             ) | ||||
|             @ frame.box | ||||
|         ) | ||||
|      | ||||
|     delta = delta[selection, :] | ||||
|     delta = np.array(delta @ frame.box) | ||||
|     return frame - delta | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user