ftherrien / p2ptrans Goto Github PK
View Code? Open in Web Editor NEWAn algorithm to match crystal structures atom-to-atom
Home Page: http://p2ptrans.rtfd.io
An algorithm to match crystal structures atom-to-atom
Home Page: http://p2ptrans.rtfd.io
Hi Félix,
I could not find the file p2p.in supplying the parameters for the run. Do you have an example of such a file?
Line 35 in 0bcbd71
Thank you very much!
First of all, thanks a lot for this amazing code!
I keep having troubles with adjusting the extra parameters. I am re-performing the FCC-BCC example using the standard p2p.in input file given in the documentation, but it keeps giving "Cannot match namelist object name ...". This is independent of the parameters included in the input file.
My output is the following:
The optimization will be performed in the reversed direction.
Transition is optimized from BCC structure (POSCAR_BCC) to FCC structure (POSCAR_FCC)
Initial spacegroup in optimization: Im-3m (229)
Final spacegroup in optimization: Fm-3m (225)
Number of BCC structure (POSCAR_BCC) cells in sphere: 300
Number of FCC structure (POSCAR_FCC) cells in sphere: 300
Total number of atoms in each sphere: 300
Optimizing... (this may take several hours)
Check progress in ./progress.txt
Mapping time: 36.93604016304016
Trying to find periodicity directly (find_cell):
At line 2044 of file source/transform.f90 (unit = 11, file = './p2p.in')
Fortran runtime error: Cannot match namelist object name init_class
Previously, I also had the error message "Fortran runtime error: End of file" with the transform.f90 fortran file. Therefore, I tried to manually control the parameters by changing the default values written in this file. I think this should work as well, but is it normal that the sentence "WARNING: tmat changed by more then the set tolerence 1.000000e-05." in the output file will always give the same tolerance value of 1e-5?
Best regards
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
interpolation 2.2.4 requires packaging<22.0,>=21.3, but you have packaging 23.2 which is incompatible.
Successfully installed packaging-23.2
(myenv) [x_nitje@tetralith2 ~]$ p2ptrans -h
RuntimeError: module compiled against API version 0x10 but this version of numpy is 0xf . Check the section C-API incompatibility at the Troubleshooting ImportError section at https://numpy.org/devdocs/user/troubleshooting-importerror.html#c-api-incompatibility for indications on how to solve this problem .
Traceback (most recent call last):
File "/home/x_nitje/.conda/envs/myenv/bin/p2ptrans", line 6, in
from p2ptrans import *
File "/home/x_nitje/.conda/envs/myenv/lib/python3.8/site-packages/p2ptrans/init.py", line 1, in
from . import fmodules
ImportError: numpy.core.multiarray failed to import
-- Configuring incomplete, errors occurred!
--
-------
------------
-----------------
----------------------
---------------------------
--------------------------------
-- Trying 'Unix Makefiles' generator - failure
--------------------------------------------------------------------------------
********************************************************************************
scikit-build could not get a working generator for your system. Aborting build.
Building MacOSX wheels for Python 3.10 requires XCode.
Get it here:
https://developer.apple.com/xcode/
********************************************************************************
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pylada
Failed to build p2ptrans pylada
ERROR: Could not build wheels for p2ptrans, pylada, which is required to install pyproject.toml-based projects
Hi Félix,
The p2ptrans that I installed through pip, reports an error both when I try to do
p2ptrans --help
TypeError: bad operand type for unary -: '_Helper'
and when I try:
p2ptrans -I POSCAR_148 -F POSCAR_227
SyntaxError: invalid syntax
So, what is going on?
Thanks,
Vladan
p2ptrans -I POSCAR_BCC -F POSCAR_FCC
Traceback (most recent call last):
File "/cfs/klemming/projects/snic/theophys/x_njena/anaconda3/bin/p2ptrans", line 6, in
from p2ptrans import *
File "/cfs/klemming/home/n/njena/.local/lib/python3.10/site-packages/p2ptrans/init.py", line 4, in
from . import display
File "/cfs/klemming/home/n/njena/.local/lib/python3.10/site-packages/p2ptrans/display.py", line 4, in
from .config import *
File "/cfs/klemming/home/n/njena/.local/lib/python3.10/site-packages/p2ptrans/config.py", line 1, in
from pylada.crystal import Structure, primitive, gruber, read, write, supercell, space_group, into_cell
File "/cfs/klemming/home/n/njena/.local/lib/python3.10/site-packages/pylada/init.py", line 127, in
from . import error, crystal, physics, misc, tools, ewald, decorations, periodic_table, vasp,
File "/cfs/klemming/home/n/njena/.local/lib/python3.10/site-packages/pylada/espresso/init.py", line 35, in
from .structure_handling import read_structure
File "/cfs/klemming/home/n/njena/.local/lib/python3.10/site-packages/pylada/espresso/structure_handling.py", line 240
%(atom.type, atom.pos[0],atom.pos[1], atom.pos[2],
^
SyntaxError: invalid syntax
Dear all
I am trying to install p2ptrans. Even though I tried in my windows computer, supercomputer, and MacBook, all of them failed.
The error occurs when Building wheel for p2ptrans (PEP 517) and pylada.
The following is a part of the error information. Does it seem I used the wrong vision of FORTRAN? Could you please give me more suggestions on how to install it correctly?
Best
Yuan
ERROR: Command errored out with exit status 1:
command: 'D:\software\PyCharm_Community_Edition\project\thankyou\venv\Scripts\python.exe' 'D:\software\PyCharm_Community_Edition\project\thankyou\venv\l
ib\site-packages\pip_vendor\pep517\in_process_in_process.py' build_wheel 'C:\Users\35884\AppData\Local\Temp\tmp57lvm3_o'
cwd: C:\Users\35884\AppData\Local\Temp\pip-install-uzaf822v\pylada_c0102c6f43ea4b54846477eba0124932
Complete output (104 lines):
Not searching for unused variables given on the command line.
-- The CXX compiler identification is MSVC 19.31.31104.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/VC2022/Enterprise/VC/Tools/MSVC/14.31.31103/bin/Hostx86/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The Fortran compiler identification is GNU 6.3.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: C:/MinGW/bin/gfortran.exe - skipped
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/35884/AppData/Local/Temp/pip-install-uzaf822v/pylada_c0102c6f43ea4b54846477eba0124932/_cmake_test_compile/b
uild
-- The C compiler identification is MSVC 19.31.31104.0
-- The CXX compiler identification is MSVC 19.31.31104.0
-- The Fortran compiler identification is GNU 6.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/VC2022/Enterprise/VC/Tools/MSVC/14.31.31103/bin/Hostx86/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/VC2022/Enterprise/VC/Tools/MSVC/14.31.31103/bin/Hostx86/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - failed
-- Check for working Fortran compiler: C:/MinGW/bin/gfortran.exe
-- Check for working Fortran compiler: C:/MinGW/bin/gfortran.exe - broken
CMake Error at C:/Users/35884/AppData/Local/Temp/pip-build-env-z5e102bv/overlay/Lib/site-packages/cmake/data/share/cmake-3.22/Modules/CMakeTestFortranCom
piler.cmake:61 (message):
The Fortran compiler
"C:/MinGW/bin/gfortran.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/Users/35884/AppData/Local/Temp/pip-install-uzaf822v/pylada_c0102c6f43ea4b54846477eba0124932/_skbuild/win-amd64-3.9/cmake-build/CMakeFi
les/CMakeTmp
Run Build Command(s):C:/Users/35884/AppData/Local/Temp/pip-build-env-z5e102bv/overlay/Lib/site-packages/ninja/data/bin/ninja cmTC_5610c && [1/4] Buil
ding Fortran preprocessed CMakeFiles/cmTC_5610c.dir/testFortranCompiler.f-pp.f
[2/4] Generating Fortran dyndep file CMakeFiles/cmTC_5610c.dir/Fortran.dd
[3/4] Building Fortran object CMakeFiles/cmTC_5610c.dir/testFortranCompiler.f.obj
[4/4] Linking Fortran executable cmTC_5610c.exe
FAILED: cmTC_5610c.exe
cmd.exe /C "cd . && C:\MinGW\bin\gfortran.exe /machine:x64 CMakeFiles/cmTC_5610c.dir/testFortranCompiler.f.obj -o cmTC_5610c.exe -Wl,--out-implib,li
bcmTC_5610c.dll.a -Wl,--major-image-version,0,--minor-image-version,0 && cd ."
gfortran.exe: error: /machine:x64: No such file or directory
ninja: build stopped: subcommand failed.
Hi Félix,
Some later change seems to have broken the p2p.in fix and made it required again.
Hi Felix,
I was trying to run the naive path, so I just used the cells from the old output (I will use the simpler cells from the relaxation so it will not be a problem), and I noticed that it did not correctly make the structure into a minimal unit cell. The structure in question was:
1.0
1.4831235021998115 -1.483318117615176 -1.4832521325148815
1.6387510773074265e-05 -2.569427229255193 2.5693940861892988
-6.293708258764652 -3.146895047240099 -3.1468950497351513
Fe
6
direct
1.1056164150354233 0.4999999999999999 0.1666666666666666
-0.3944539401618030 -0.0000000000000000 -0.0000000000000000
0.6055378322496290 -0.0000000000000001 0.3333333333333332
0.1055663507713127 0.4999999999999999 0.4999999999999998
0.1055175413165125 0.4999999999999998 0.8333333333333333
0.6055731535163139 -0.0000000000000002 0.6666666666666666
I'll check that this is indeed the right structure, but...
Also, this might be a pylada issue? Might need to be looked at.
Hi,
After installing the p2ptrans, I tried to follow the Tutorials with a simple example. But the following error occurred. How to fix this?
(base) [yuayan1@spartan-login2 test_for_p2p]$ p2ptrans -I POSCAR_FCC -F POSCAR_BCCp2ptrans -I POSCAR_FCC -F POSCAR_BCC
|\ __ \ / ___ |\ __
\ \ |\ //|_/ /\ \ |\
\ \ ____|// / /\ \ ____
\ \ _| / //\ \ _|
\ _\ |_\ _
|__| |_||__|
TRANSFORMATIONS
=>Reading crystal analysis parameters<=
Making the cells primitive.
FCC structure (POSCAR_FCC) did not change. It has 1 atoms.
BCC structure (POSCAR_BCC) did not change. It has 1 atoms.
The optimization will be performed in the reversed direction.
Transition is optimized from BCC structure (POSCAR_BCC) to FCC structure (POSCAR_FCC)
Initial spacegroup in optimization: Im-3m (229)
Final spacegroup in optimization: Fm-3m (225)
Number of BCC structure (POSCAR_BCC) cells in sphere: 300
Number of FCC structure (POSCAR_FCC) cells in sphere: 300
Total number of atoms in each sphere: 300
Optimizing... (this may take several hours)
Check progress in ./progress.txt
Mapping time: 93.5170590877533
Trying to find periodicity directly (find_cell):
Traceback (most recent call last):
File "/home/yuayan1/.local/lib/python3.8/site-packages/p2ptrans/core.py", line 711, in findMatching
result = pickle.load(open(outdir+"/fastoptimization.dat","rb"))
FileNotFoundError: [Errno 2] No such file or directory: './fastoptimization.dat'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/yuayan1/.local/bin/p2ptrans", line 183, in
main()
File "/home/yuayan1/.local/bin/p2ptrans", line 130, in main
tmat, dispStruc, vec_classes, _ = findMatching(A, B, ncell, fileA=fileA, fileB=fileB,
File "/home/yuayan1/.local/lib/python3.8/site-packages/p2ptrans/core.py", line 714, in findMatching
result = optimization(A, Acell, mulA, B, Bcell, mulB, ncell, filename, outdir, max_cell_size)
File "/home/yuayan1/.local/lib/python3.8/site-packages/p2ptrans/core.py", line 574, in optimization
print("Change in stretched dist: %f %%"(np.sum(la.norm(Bposst - Apos_map, axis=0)) - old_distp)/old_distp*100)
TypeError: 'str' object is not callable
Hi Felix,
Could you update the version of p2p when you make bugfixes so that pip --upgrade will appropriately update the software?
Here is the problem I faced during the usage of this script. So, I tried to generate some simple transition pathway with a small number of atoms in the unit cell and chose ZnO structures diamond-like and lonsdaleite-like ZnO. The geometries were taken from MaterialsProject and assigned as mp-1986 and mp-2133 – both structures are attached below.
So, I ran the script with default parameters, like
p2ptrans -I mp-1986.vasp -F mp-2133.vasp -o 1986_2133
and the resulting trajectory is very weird – initial and final structures have totally wrong geometry (see screenshots below).
This problem is happening on any kind of system (Linux and macOS) and on any kind of script version above 2.0.0.
So, I have attached all the necessary files below and if you need some more info – let me know.
As far as I understand, this weird bug is easy to fix.
[bug_p2ptrans.zip](https://github.com/ftherrien/p2ptrans/files/9241749/bug_p2ptrans.zip)On master Gruber is not actually used
I have successfully installed the p2ptrans, but whenever i am going "p2ptrans --help", it give me the following error:
Please expert need your help in this regard:
p2ptrans --help
Traceback (most recent call last):
File "/home/SanaUllah/anaconda3/bin/p2ptrans", line 6, in
from p2ptrans import *
File "/home/SanaUllah/anaconda3/lib/python3.9/site-packages/p2ptrans/init.py", line 5, in
from . import interfaces
File "/home/SanaUllah/anaconda3/lib/python3.9/site-packages/p2ptrans/interfaces.py", line 10, in
from .core import makeSphere, find_cell, makeStructures, switchDispStruc, find_periodicity
File "/home/SanaUllah/anaconda3/lib/python3.9/site-packages/p2ptrans/core.py", line 8, in
from .fmodules import hungarian as lap
ImportError: cannot import name 'hungarian' from 'p2ptrans.fmodules' (/home/SanaUllah/anaconda3/lib/python3.9/site-packages/p2ptrans/fmodules.cpython-39-x86_64-linux-gnu.so)
Hi, thanks for developing this software!
I have an issue if I want to run p2pint with an parameter file (it works properly without parameter file).
I created a file called p2p.in and copied the Fortran code from https://p2ptrans.readthedocs.io/en/latest/p2pint.html
When I then want to run p2pint, I get the following error:
At line 2317 of file source/transform.f90 (unit = 11, file = './p2p.in')
Fortran runtime error: Cannot match namelist object name tol*1.0d-3tol_class
Thanks and best regards
May have to add std = std_prev +1.0d0 + tol in the "ADJUST" if
On line 90 of p2ptrans.py, the test parameter is written as test = option.test
when it should be test = options.test
When running p2ptrans on the BCC and FCC structures from the example in the documentation, it fails partially through the crystallography section with
File "/home/snowcrash/.local/bin/p2ptrans", line 183, in <module>
main()
File "/home/snowcrash/.local/bin/p2ptrans", line 142, in main
eigval, U, P, Q, planeHab = analysis.crystallography(la.inv(tmat), B, A, ccell2, ccell1, planehkl,
File "/home/snowcrash/.local/lib/python3.8/site-packages/p2ptrans/analysis.py", line 157, in crystallography
planeHab, ratio = findHabit(U, P, eigval)
File "/home/snowcrash/.local/lib/python3.8/site-packages/p2ptrans/analysis.py", line 100, in findHabit
ratio = Inf
NameError: name 'Inf' is not defined
if you change it to np.inf
(which is what I believe you intended), it instead errors out with
Approximate low index OR
/home/snowcrash/.local/lib/python3.8/site-packages/p2ptrans/utils.py:60: RuntimeWarning: invalid value encountered in true_divide
min_uvw[:,l] = min_uvw[:,l]/gcd3
Traceback (most recent call last):
File "/home/snowcrash/.local/bin/p2ptrans", line 183, in <module>
main()
File "/home/snowcrash/.local/bin/p2ptrans", line 142, in main
eigval, U, P, Q, planeHab = analysis.crystallography(la.inv(tmat), B, A, ccell2, ccell1, planehkl,
File "/home/snowcrash/.local/lib/python3.8/site-packages/p2ptrans/analysis.py", line 191, in crystallography
print("(+): (% 2d, % 2d, % 2d) [% 2d, % 2d, % 2d] // (% d, % d, % d) [% d, % d, % d]"%(*planehkl, *diruvw, *resPlanehklClose[0,:], *resDiruvwClose[0,:]))
ValueError: cannot convert float NaN to integer
Since I feel like it's unlikely that you introduced this error without noticing it, I suspect it's an environmental issue (I'm on Ubuntu WSL2). I'll do some replication testing
'p2ptrans --help' terminated by signal SIGSEGV (Address boundary error)
Tried both CXXFLAGS="-std=c++11" pip install git+https://github.com/ftherrien/p2ptrans
and pip install git+https://github.com/ftherrien/p2ptrans
pip freeze
:
appnope==0.1.0
attrs==19.3.0
backcall==0.1.0
bleach==3.1.1
certifi==2019.11.28
cycler==0.10.0
Cython==0.29.15
decorator==4.4.1
defusedxml==0.6.0
entrypoints==0.3
f90nml==1.1.2
glob2==0.7
importlib-metadata==1.5.0
ipykernel==5.1.4
ipython==7.12.0
ipython-genutils==0.2.0
jedi==0.16.0
Jinja2==2.11.1
jsonschema==3.2.0
jupyter-client==6.0.0
jupyter-core==4.6.3
kiwisolver==1.1.0
Mako==1.1.1
MarkupSafe==1.1.1
matplotlib==3.1.3
mistune==0.8.4
more-itertools==8.2.0
nbconvert==5.6.1
nbformat==5.0.4
numpy==1.18.1
-e git+https://github.com/ftherrien/p2ptrans.git@93e32a8485e66bf102563ed669091bfbf76da732#egg=p2ptrans
packaging==20.1
pandocfilters==1.4.2
parse==1.14.0
parse-type==0.5.2
parso==0.6.1
pexpect==4.8.0
pickleshare==0.7.5
pluggy==0.13.1
prompt-toolkit==3.0.3
ptyprocess==0.6.0
py==1.8.1
Pygments==2.5.2
pylada==1.0
pyparsing==2.4.6
pyrsistent==0.15.7
pytest==5.3.5
pytest-bdd==3.2.1
python-dateutil==2.8.1
pyzmq==19.0.0
quantities==0.12.4
scipy==1.4.1
six==1.14.0
spglib==1.14.1.post0
testpath==0.4.4
tornado==6.0.3
traitlets==4.3.3
wcwidth==0.1.8
webencodings==0.5.1
zipp==3.0.0
and Python 3.7.6 on macOS 10.15.2
Attempting to install an Wendian in Pylada environment:
Cloning https://github.com/ftherrien/p2ptrans to /tmp/pip-req-build-4ej3jatk
Running command git clone -q https://github.com/ftherrien/p2ptrans /tmp/pip-req-build-4ej3jatk
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... error
ERROR: Command errored out with exit status 1:
command: /beegfs/sets/mbd/software/pylada_env/bin/python /beegfs/sets/mbd/software/pylada_env/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp3bpi2ui9
cwd: /tmp/pip-req-build-4ej3jatk
Complete output (102 lines):
running dist_info
creating /tmp/pip-modern-metadata-ztz9jm82/UNKNOWN.egg-info
writing /tmp/pip-modern-metadata-ztz9jm82/UNKNOWN.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-modern-metadata-ztz9jm82/UNKNOWN.egg-info/dependency_links.txt
writing top-level names to /tmp/pip-modern-metadata-ztz9jm82/UNKNOWN.egg-info/top_level.txt
writing manifest file '/tmp/pip-modern-metadata-ztz9jm82/UNKNOWN.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-modern-metadata-ztz9jm82/UNKNOWN.egg-info/SOURCES.txt'
writing manifest file '/tmp/pip-modern-metadata-ztz9jm82/UNKNOWN.egg-info/SOURCES.txt'
creating '/tmp/pip-modern-metadata-ztz9jm82/UNKNOWN.dist-info'
running dist_info
running build_src
build_src
building extension "p2ptrans.fmodules" sources
f2py options: ['only:', 'sphere', 'parallelepiped', 'circle', 'center', 'fastoptimization', 'munkres', ':']
f2py:> build/src.linux-x86_64-3.6/p2ptrans/fmodulesmodule.c
creating build
creating build/src.linux-x86_64-3.6
creating build/src.linux-x86_64-3.6/p2ptrans
Reading fortran codes...
Reading file 'source/lap.f90' (format:free)
Reading file 'source/tiling.f90' (format:free)
Reading file 'source/transform.f90' (format:free)
Post-processing...
Block: fmodules
Block: hungarian
Block: munkres
Block: tiling
Block: parallelepiped
Block: sphere
In: :fmodules:source/tiling.f90:tiling:sphere
get_parameters: got "invalid syntax (<string>, line 1)" on '3.141592653589793d+0'
Block: circle
In: :fmodules:source/tiling.f90:tiling:circle
get_parameters: got "invalid syntax (<string>, line 1)" on '3.141592653589793d+0'
Block: transform
In: :fmodules:source/transform.f90:transform
get_parameters: got "unexpected EOF while parsing (<string>, line 1)" on '3.141592653589793d0'
Block: center
Block: fastoptimization
In: :fmodules:source/transform.f90:transform:fastoptimization
get_parameters: got "unexpected EOF while parsing (<string>, line 1)" on '3.141592653589793d0'
Post-processing (stage 2)...
Block: fmodules
Block: unknown_interface
Block: hungarian
Block: munkres
Block: tiling
Block: parallelepiped
Block: sphere
Block: circle
Block: transform
Block: center
Block: fastoptimization
Building modules...
Building module "fmodules"...
Constructing F90 module support for "hungarian"...
Constructing wrapper function "hungarian.munkres"...
sumsol,jsol = munkres(c,[n])
Constructing F90 module support for "tiling"...
Constructing wrapper function "tiling.parallelepiped"...
asc = parallelepiped(acell,nx,ny,nz)
Constructing wrapper function "tiling.sphere"...
asc = sphere(acell,ncell,center)
Constructing wrapper function "tiling.circle"...
asc = circle(acell,ncell)
Constructing F90 module support for "transform"...
Constructing wrapper function "transform.center"...
center(pos,[n])
Constructing wrapper function "transform.fastoptimization"...
apos_out,bpos_out,bpos_out_stretch,n_out,n_a,classes_list_out,tmat,dmin,vec = fastoptimization(apos,bpos,acell,iacell,ratio,atoms,filename,outdir,[na,nb,n_atoms])
Wrote C/API module "fmodules" to file "build/src.linux-x86_64-3.6/p2ptrans/fmodulesmodule.c"
Fortran 90 wrappers are saved to "build/src.linux-x86_64-3.6/p2ptrans/fmodules-f2pywrappers2.f90"
adding 'build/src.linux-x86_64-3.6/build/src.linux-x86_64-3.6/p2ptrans/fortranobject.c' to sources.
adding 'build/src.linux-x86_64-3.6/build/src.linux-x86_64-3.6/p2ptrans' to include_dirs.
creating build/src.linux-x86_64-3.6/build
creating build/src.linux-x86_64-3.6/build/src.linux-x86_64-3.6
creating build/src.linux-x86_64-3.6/build/src.linux-x86_64-3.6/p2ptrans
copying /tmp/pip-build-env-20929kbk/overlay/lib/python3.6/site-packages/numpy/f2py/src/fortranobject.c -> build/src.linux-x86_64-3.6/build/src.linux-x86_64-3.6/p2ptrans
copying /tmp/pip-build-env-20929kbk/overlay/lib/python3.6/site-packages/numpy/f2py/src/fortranobject.h -> build/src.linux-x86_64-3.6/build/src.linux-x86_64-3.6/p2ptrans
adding 'build/src.linux-x86_64-3.6/p2ptrans/fmodules-f2pywrappers2.f90' to sources.
build_src: building npy-pkg config files
creating /tmp/pip-modern-metadata-ztz9jm82/p2ptrans.egg-info
writing /tmp/pip-modern-metadata-ztz9jm82/p2ptrans.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-modern-metadata-ztz9jm82/p2ptrans.egg-info/dependency_links.txt
writing requirements to /tmp/pip-modern-metadata-ztz9jm82/p2ptrans.egg-info/requires.txt
writing top-level names to /tmp/pip-modern-metadata-ztz9jm82/p2ptrans.egg-info/top_level.txt
writing manifest file '/tmp/pip-modern-metadata-ztz9jm82/p2ptrans.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-modern-metadata-ztz9jm82/p2ptrans.egg-info/SOURCES.txt'
writing manifest file '/tmp/pip-modern-metadata-ztz9jm82/p2ptrans.egg-info/SOURCES.txt'
creating '/tmp/pip-modern-metadata-ztz9jm82/p2ptrans.dist-info'
rmbadname1: Replacing "char" with "char_bn".
rmbadname1: Replacing "char" with "char_bn".
Traceback (most recent call last):
File "/beegfs/sets/mbd/software/pylada_env/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 257, in <module>
main()
File "/beegfs/sets/mbd/software/pylada_env/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 240, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/beegfs/sets/mbd/software/pylada_env/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 110, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "/tmp/pip-build-env-20929kbk/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 174, in prepare_metadata_for_build_wheel
assert len(dist_infos) == 1
AssertionError
----------------------------------------
ERROR: Command errored out with exit status 1: /beegfs/sets/mbd/software/pylada_env/bin/python /beegfs/sets/mbd/software/pylada_env/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp3bpi2ui9 Check the logs for full command output. ```
Hey Therrien,
First of all thanks a lot for your contribution and making it available to reuse!
I am trying to match crystal structures but when I run "p2ptrans -I POSCAR.0 -F POSCAR.1" I get the following output which says the progress is shown in progess.txt but there is no output in the progress.txt file (apart from the initial output when I first start the program) even after several hours. I am not sure if p2p is doing any computations or is it just stuck. Any help in this would be greatly appreciated. Please let me know if you need more information or the POSCAR files to diagnose whats going on
Thank you
Srilok
________ _______ ________
|\ __ \ / ___ \|\ __ \
\ \ \|\ \/__/|_/ /\ \ \|\ \
\ \ ____\__|// / /\ \ ____\
\ \ \___| / /_/__\ \ \___|
\ \__\ |\________\ \__\
\|__| \|_______|\|__|
__________TRANSFORMATIONS__________
=>Reading crystal analysis parameters<=
Making the cells primitive.
C (POSCAR.0) did not change. It has 4 atoms.
C (POSCAR.1) did not change. It has 8 atoms.
The optimization will be performed in the reversed direction.
Transition is *optimized* from C (POSCAR.1) to C (POSCAR.0)
Initial spacegroup in optimization: Cccm (66)
Final spacegroup in optimization: I4_132 (214)
Number of C (POSCAR.1) cells in sphere: 300
Number of C (POSCAR.0) cells in sphere: 600
Total number of atoms in each sphere: 2400
Optimizing... (this may take several hours)
Check progress in ./progress.txt
Contents of the progress.txt file
New initial step on thread 4, iteration 376
New initial step on thread 5, iteration 501
New initial step on thread 6, iteration 626
New initial step on thread 7, iteration 751
New initial step on thread 8, iteration 876
New initial step on thread 2, iteration 126
New initial step on thread 1, iteration 1
New initial step on thread 3, iteration 251
Right now I'm using pymatgen's StructureMatcher
and am looking for (hopefully) drop-in replacements to it due to speed concerns. See https://matsci.org/c/pymatgen/9 and sparks-baird/matbench-genmetrics#9. It seems like p2ptrans
might be one alternative to a drop-in replacement. Is my interpretation correct? Also, any comments on the speed? For example, running ~6e7 pairwise match calculations.
I was trying to run another transition, and got a pylada error:
Traceback (most recent call last):
File "/u/st/am/aepera/.conda/envs/ash/bin/p2ptrans", line 160, in
main()
File "/u/st/am/aepera/.conda/envs/ash/bin/p2ptrans", line 118, in main
tmat, dispStruc, vec_classes = findMatching(A, B, ncell, fileA=fileA, fileB=fileB,
File "/u/st/am/aepera/.conda/envs/ash/lib/python3.8/site-packages/p2ptrans/core.py", line 456, in findMatching
B = primitive(B, tol)
File "_primitive.pyx", line 116, in crystal._primitive.primitive
pylada.error.RuntimeError: Found translation but no primitive cell
I have attached the structures and error in question.
pylada_err.zip
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.