sgsaenger / vipster Goto Github PK
View Code? Open in Web Editor NEWVisualization and editing of periodic molecular structure files.
Home Page: https://sgsaenger.github.io/vipster
License: GNU General Public License v3.0
Visualization and editing of periodic molecular structure files.
Home Page: https://sgsaenger.github.io/vipster
License: GNU General Public License v3.0
Is your feature request related to a problem? Please describe.
For coarse-grained modeling, it is important to be able to manually specify which pairs of atoms are bonded together (instead of trying to infer it from the distance and atom-type names). I know we have discussed this before by email, but I'm making a formal request for it here. I hope that's okay.
Describe the solution you'd like
Would it be possible to have a "New Bond" feature? (Perhaps select "Edit"->"New Bond"?). Then select two atoms?
Additionally, it would be pretty useful to be able to display a (hideable) table of bonds. (Similar in style to the hideable tables of atoms and cell vectors that you already have on the left-hand side.) This way, the user can also specify the bond type (a text string).
AtomID1 AtomID2 BondType
143 534 C-H
685 349 C=O
:
(For most coarse-grained models, the angles, dihedrals, and impropers can be generated automatically from the bond network and atom types. So this would be enough to help most users.)
To make VIPSTER work with coarse grained models, you would also have to provide a way to override VIPSTER so that it no longer automatically tries to infer the atom's type (element) from its name. ("C3" is assumed to be a carbon atom. "Ha" is assumed to be a hydrogen atom. Etc...) Perhaps I should make a separate feature request for this.
Feel free to ignore this feedback.
-andrew
/wrkdirs/usr/ports/science/vipster/work/vipster-819e2c3/vipster/qt/tools/definewidget.cpp:188:32: error: no member named 'extract' in 'std::__1::map<std::__1::basic_string<char>, Vipster::SelectionBase<StepMutable, Vipster::AtomList>, std::__1::less<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, Vipster::SelectionBase<StepMutable, Vipster::AtomList> > > >'
auto nh1 = defMap->extract(name);
~~~~~~ ^
/wrkdirs/usr/ports/science/vipster/work/vipster-819e2c3/vipster/qt/tools/definewidget.cpp:189:31: error: no member named 'extract' in 'std::__1::map<std::__1::basic_string<char>, DefineWidget::GroupData, std::__1::less<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, DefineWidget::GroupData> > >'
auto nh2 = curMap.extract(name);
~~~~~~ ^
2 errors generated.
OS: FreeBSD
compiler: clang-6.0.1
Is your feature request related to a problem? Please describe.
I'm having trouble drawing a simple molecule (eg. H2O) in VIPSTER using the mouse. I am able to type coordinates into the table, but I can't move them where I want using the mouse. (The "Modify" button does not appear to do anything, but perhaps I am just misunderstanding what it does.)
Details:
Creat a new atom ("Edit->New Atom")
Click on the "Select" tab, draw a rectangle around the atom to select it.
Click on the "Modify" tab (the cursor is replaced with a hand)
Drag the atom.
Nothing happens. I expected it to move.
More details:
If I create another atom ("Edit->New Atom"), it places another atom at the same location. (That's what I think occurred because when I delete the atom, I have to delete it twice to get rid of it.) But this confirms that the atom did not move (and not that the camera is centered on the atom, regardless where it is moved.)
Describe the solution you'd like
I think VIPSTER could really benefit from some kind of tutorial that explains the steps necessary to draw a molecule, add bonds, and save it to a file. LAMMPS desperately needs a graphical way for users to draw the molecules. But the GUI was not intuitive enough for me to figure out how to do this in VIPSTER.
-A
Many other programs define the test
target so that it is easy to run tests.
[70/71] /usr/bin/c++ -DFFT_FFTW3 -DFMT_HEADER_ONLY=1 -DLAMMPS_EXCEPTIONS -DLAMMPS_SMALLBIG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DUSE_LAMMPS -I. -I/usr/ports/science/vipster/work/vipster-80892af -Ivipster_autogen/include -I/usr/ports/science/vipster/work/vipster-80892af/gui/common -I/usr/ports/science/vipster/work/vipster-80892af/gui/qt -I/usr/ports/science/vipster/work/vipster-80892af/external/tinyexpr -isystem /usr/local/include/qt5 -isystem /usr/local/include/qt5/QtGui -isystem /usr/local/include -isystem /usr/local/include/qt5/QtCore -isystem /usr/local/lib/qt5/mkspecs/freebsd-clang -isystem /usr/local/include/qt5/QtWidgets -isystem /usr/local/mpi/openmpi/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -fPIE -fPIC -fexceptions -pthread -std=gnu++17 -MD -MT CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/uff.lmp.cpp.o -MF CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/uff.lmp.cpp.o.d -o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/uff.lmp.cpp.o -c /usr/ports/science/vipster/work/vipster-80892af/gui/qt/toolwidgets/lammpswidget_aux/uff.lmp.cpp
[71/71] : && /usr/bin/c++ -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -fstack-protector-strong -Wl,-rpath=-Wl,-rpath=/usr/local/lib/gcc9 -Wl,-rpath -Wl,/usr/local/mpi/openmpi/lib -Wl,--enable-new-dtags -pthread CMakeFiles/vipster.dir/vipster_autogen/mocs_compilation.cpp.o CMakeFiles/vipster.dir/gui/common/guidata.cpp.o CMakeFiles/vipster.dir/gui/common/guimat.cpp.o CMakeFiles/vipster.dir/gui/common/guiwrapper.cpp.o CMakeFiles/vipster.dir/gui/common/meshdata.cpp.o CMakeFiles/vipster.dir/gui/common/seldata.cpp.o CMakeFiles/vipster.dir/gui/common/stepdata.cpp.o CMakeFiles/vipster.dir/gui/qt/basewidget.cpp.o CMakeFiles/vipster.dir/gui/qt/datawidgets/data2dwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/datawidgets/data3dvwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/datawidgets/data3dwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/glwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/main.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/datawidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/atommodel.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/bonddelegate.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/bondmodel.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/cellmodel.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/doubledelegate.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/newelement.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/paramwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/periodictablewidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/presetwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/settingswidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwindow.cpp.o CMakeFiles/vipster.dir/gui/qt/savefmtdialog.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/cellmodwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/definewidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/millerwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/pickwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/pinwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/scripthelp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/scriptwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/viewport.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget.lmp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/fix_vipster.lmp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/forcefield.lmp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/run.lmp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/uff.lmp.cpp.o CMakeFiles/vipster.dir/vipster_autogen/YHP5W5E6RA/qrc_vipster.cpp.o -o vipster -Wl,-rpath,/usr/local/lib/qt5:/usr/ports/science/vipster/work/.build:/usr/local/lib:/usr/local/mpi/openmpi/lib: /usr/local/lib/qt5/libQt5Widgets.so.5.14.2 libvipster.so.1.19 /usr/local/lib/liblammps.so.0 /usr/local/lib/qt5/libQt5Gui.so.5.14.2 /usr/local/lib/qt5/libQt5Core.so.5.14.2 -ldl /usr/local/mpi/openmpi/lib/libmpi_cxx.so /usr/local/mpi/openmpi/lib/libmpi.so /usr/local/lib/libfftw3.so -Wl,-rpath-link,/usr/local/lib && :
FAILED: vipster
: && /usr/bin/c++ -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -fstack-protector-strong -Wl,-rpath=-Wl,-rpath=/usr/local/lib/gcc9 -Wl,-rpath -Wl,/usr/local/mpi/openmpi/lib -Wl,--enable-new-dtags -pthread CMakeFiles/vipster.dir/vipster_autogen/mocs_compilation.cpp.o CMakeFiles/vipster.dir/gui/common/guidata.cpp.o CMakeFiles/vipster.dir/gui/common/guimat.cpp.o CMakeFiles/vipster.dir/gui/common/guiwrapper.cpp.o CMakeFiles/vipster.dir/gui/common/meshdata.cpp.o CMakeFiles/vipster.dir/gui/common/seldata.cpp.o CMakeFiles/vipster.dir/gui/common/stepdata.cpp.o CMakeFiles/vipster.dir/gui/qt/basewidget.cpp.o CMakeFiles/vipster.dir/gui/qt/datawidgets/data2dwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/datawidgets/data3dvwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/datawidgets/data3dwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/glwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/main.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/datawidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/atommodel.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/bonddelegate.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/bondmodel.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/cellmodel.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/doubledelegate.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/molwidget_aux/newelement.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/paramwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/periodictablewidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/presetwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwidgets/settingswidget.cpp.o CMakeFiles/vipster.dir/gui/qt/mainwindow.cpp.o CMakeFiles/vipster.dir/gui/qt/savefmtdialog.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/cellmodwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/definewidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/millerwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/pickwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/pinwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/scripthelp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/scriptwidget.cpp.o CMakeFiles/vipster.dir/gui/qt/viewport.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget.lmp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/fix_vipster.lmp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/forcefield.lmp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/run.lmp.cpp.o CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/uff.lmp.cpp.o CMakeFiles/vipster.dir/vipster_autogen/YHP5W5E6RA/qrc_vipster.cpp.o -o vipster -Wl,-rpath,/usr/local/lib/qt5:/usr/ports/science/vipster/work/.build:/usr/local/lib:/usr/local/mpi/openmpi/lib: /usr/local/lib/qt5/libQt5Widgets.so.5.14.2 libvipster.so.1.19 /usr/local/lib/liblammps.so.0 /usr/local/lib/qt5/libQt5Gui.so.5.14.2 /usr/local/lib/qt5/libQt5Core.so.5.14.2 -ldl /usr/local/mpi/openmpi/lib/libmpi_cxx.so /usr/local/mpi/openmpi/lib/libmpi.so /usr/local/lib/libfftw3.so -Wl,-rpath-link,/usr/local/lib && :
ld: error: undefined symbol: LAMMPS_NS::LAMMPS::LAMMPS(int, char**, int)
>>> referenced by lammpswidget.lmp.cpp
>>> CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget.lmp.cpp.o:(LammpsWidget::LammpsWidget(QWidget*))
>>> referenced by run.lmp.cpp
>>> CMakeFiles/vipster.dir/gui/qt/toolwidgets/lammpswidget_aux/run.lmp.cpp.o:(Vipster::Lammps::run(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Vipster::Lammps::runParams, int, Vipster::Molecule*))
c++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
rev. 80892af
OS: FreeBSD 12.1
lammps-2020.05.5_2
Describe the bug
See the log.
Your system/installation (please complete the following information):
Downstream bug report.
Investigate compatibility of PWI format implementation with newer QE-Version's features: https://www.quantum-espresso.org/Doc/INPUT_PW.html
The current implementation was done against QE V4.
Possible issues/tasks:
&FCP
namelist, tie export to value of lfcp
&RISM
namelist, tie export to value of trism
The pybind11
package is available for a wide variety of systems: https://repology.org/metapackage/pybind11/versions, so there is no need to download and rebuild it separately.
Is your feature request related to a problem? Please describe.
Currently moltemplate users have to run ltemplify.py on the files created by VIPSTER, by typing this into the terminal/shell:
ltemplify.py LAMMPS_DATA_FILE > MOLTEMPLATE_FILE
Describe the solution you'd like
Can we add a new entry ("Moltemplate LT") to the list of file formats that users can select from when saving (exporting) a molecule? It would behave identically to the "LAMMPS Data File" format, with the same list of options. However when VIPSTER saves the file, it runs the ltemplify.py script on this file to automatically convert the result into moltemplate format (using the syntax above).
This will either require users to have also installed moltemplate (since "ltemplify.py" is distributed with moltemplate), OR we could copy the current version of the "ltemplify.py" code into VIPSTER. (This would require adding "ltemplify.py", "ttree_lex.py", and "lttree_styles.py" to VIPSTER. This is 6785 lines of code, but this code is currently relatively stable. These files do not change very often these days.) I am happy either way.
Describe alternatives you've considered
Alternatively, you could instead add a new "IO-Config Preset" for the existing LAMMPS file format (instead of creating a new entry in the list of available file formats). That's okay too. However, if you do that, perhaps we could change the name of the entry from "LAMMPS Data File" to "LAMMPS File", or something vague like that (because moltemplate files have a different format from LAMMPS data files).
It's possible I may add one or two additional options that are specific to moltemplate (to allow the user to specify the force field they want, for example). But we can worry about this later.
Please let me if there is anything I can do to make this easier for you.
The web frontend need to be responsive to support smartphones and small tablets.
/usr/ports/science/vipster/work/vipster-1.19.1b-14-g7168a1b/vipster/filter.h:163:5: warning: non-void lambda does not return a value in all control paths [-Wreturn-type]
};
^
/usr/ports/science/vipster/work/vipster-1.19.1b-14-g7168a1b/vipster/filter.h:262:15: note: in instantiation of function template specialization 'Vipster::evalPos<Vipster::StepMutable<Vipster::detail::AtomList> >' requested here
tmp = evalPos(step, filter);
^
/usr/ports/science/vipster/work/vipster-1.19.1b-14-g7168a1b/vipster/stepbase.h:463:42: note: in instantiation of function template specialization 'Vipster::evalFilter<Vipster::StepMutable<Vipster::detail::AtomList> >' requested here
this->atoms, evalFilter(*this, filter)),
^
/usr/ports/science/vipster/work/vipster-1.19.1b-14-g7168a1b/tests/test_stepsel.cpp:51:23: note: in instantiation of member function 'Vipster::StepMutable<Vipster::detail::AtomList>::select' requested here
auto selC = s.select("type C");
^
1 warning generated.
```/usr/ports/science/vipster/work/vipster-1.19.1b-14-g7168a1b/vipster/stepformatter.h:110:89: warning: returning reference to local temporary object [-Wreturn-stack-address]
operator const Vec::value_type&() const {return static_cast<const Vec&>(_v)[i];}
^~
/usr/ports/science/vipster/work/vipster-1.19.1b-14-g7168a1b/vipster/step.cpp:157:35: note: in instantiation of member function 'Vipster::detail::Formatter<Vipster::detail::AtomList>::AtomView<false>::_Vec::_Value_type::operator const double &' requested here
at.coord[0] -= std::floor(at.coord[0]);
^
1 warning generated.
Describe the bug
When modifying periodic structures, I often toggle between selecting, modifying mode and camera mode
using the keyboard shortcuts. However, sometimes when you switch back from modifying to camera
and try to rotate / translate the whole view, the atoms are moved inside the unit cell instead, which
f**s up everything you did before 😄
To Reproduce
Not 100% sure what exactly triggers the bug, but I am fairly certain that it is connected to
using the hotkeys instead of the dropdown menu.
Expected behavior
Well,...
Your system/installation:
The file loading widget should be redesigned to improve the user interace:
Vipster needs to be available for VASP users too.
Input and Output of VASP files would be desirable
Poscars should be the main focus but XDATCAR(trajectories) and CHGCAR(electron densities) for visualization could be added too.
Is your feature request related to a problem? Please describe.
Not really.
In order to create nice surface slab pictures it would be outstanding
if one could, for example, represent the bulk surface atoms with
vdW-radii, while adsorbates are represented with covalent radii.
Also different representation modes like Ball and Stick, Wireframe,
tetrahedron motifs or similar, would be fantastic.
Also a (sort of dashed line or sth) that indicates H-bonding if
desired would be nice.
Describe the solution you'd like
Similar as you can set up e.g. in Vesta (But ofc much better as usual...)
Possibly divide Atoms into "Sub molecules" that have their own type
of representation.
Describe alternatives you've considered
Vesta and VMD... But,... well would be great if vipster had such capabilities :>
Describe the bug
/usr/ports/science/vipster/work/vipster-6944bc3/gui/qt/toolwidgets/lammpswidget_aux/fix_vipster.lmp.h:6:10: fatal error: 'molecule.h' file not found
#include "molecule.h"
^~~~~~~~~~~~
1 error generated.
revision 6944bc3
OS: FreeBSD 12.1
CMake Error at CMakeLists.txt:203 (add_subdirectory):
add_subdirectory given source "external/lammps/cmake" which is not an
existing directory.
It's natural to ask what is the distance between two atoms. Vipster should display the distance (for example under the "Atoms" list) when two atoms are selected.
The unit test coverage of the library should be increased.
Acceptance criteria
Files in vipster/
, but not vipster/plugins
should have an average test coverage of 90%.
Notes
Structure of tests in tests/unit_tests
should mirror structure of library sources.
Create a new test file per class or function unit.
Describe the bug
I was unable to get the .AppImage file to run in Ubuntu 18.04.
To Reproduce
Download the AppImage file from https://github.com/sgsaenger/vipster/releases and change its permissions. (I was using version v1.18b)
When launched (either from the terminal by double-clicking), a VIPSTER window is created. However it fails to update and fill. The window remains filled with whatever pixels were occupying the screen before VIPSTER was launched. (For example, my web browser, my terminal, my cluttered desktop, etc...)
I am running Ubuntu 18.04 on a laptop with a dedicated ATI/AMD mobile 5870 graphics card (with the proprietary AMD "fgrlx" drivers).
Expected behavior
I expected to see a GUI similar to
https://sgsaenger.github.io/vipster/gui.html
Screenshots
Desktop (please complete the following information):
VIPSTER v1.18b, date: 2019-6-18 (I think)
Interface
Qt version
Platform
Ubuntu linux 18.04 using the Unity window manager and the AMD "fglrx" video drivers.
Describe the bug
Hi Sebastian
I am following the instructions here to build QtVipster from source. But after I am done, I cannot find the QtVipster binary. I don't know if this is a bug. Perhaps it is present somewhere. But if so, I don't have enough clue to figure out where it is or what it is called. Please change the documentation so that it clarifies where the QtVipster binary is located after a build, and how to invoke it.
To Reproduce
Here's what I did:
(Note: I built vipster on a different computer where I have admin privileges. Then I took photos of the terminal with my phone. Then I retyped it here. There may be typos. But hopefully, you get the idea.)
# Download the source code and create the build directory
git clone https://github.com/sgsaenger/vipster/ ~/vipster
mkdir ~/vipster/build
cd ~/vipster/build
# Define the variables we need:
SOURCE_DIR=$HOME/vipster
BUILD_DIR=$HOME/vipster/build
# Compile'
# step 1
cmake $SOURCE_DIR -DCMAKE_INSTALL_PREFIX=$HOME/.local -DVIPSTER_DESKTOP=ON
# step 2
cmake --build .
# step 3
cmake --build . -- install
The compilation completes with no error messages during steps 1,2,3.
Then I start a new terminal and type:
$ vipster
vipster: command not found
(I knew this probably wouldn't work, but I tried it anyway.)
Then I use the unix "find" command to search for files containing "vipster" in ~/.local
$ find ~/.local/ -name "*vipster*"
/home/jewett/.local/include/vipster
/home/jewett/.local/lib/libvipster.so
/home/jewett/.local/lib/libvipster.so.1
/home/jewett/.local/lib/libvipster.so.1.19.1
(I did not attempt to install PyVipster or WebVipster.)
Expected behavior
I was expecting to see a binary file (perhaps something in the ~/.local/bin directory). I could only find the library and some include files. If the QtVipster binary is there, I think the documentation could provide more instructions so that users can find it.
Your system/installation (please complete the following information):
Additional context
I am trying to build vipster from source because I wanted to try the new moltemplate export capabilities that you kindly added in issue #35. (Thank you so much for adding this. I am starting to get questions about this feature by moltemplate users. I feel bad that it took me this long to try this out.)
Forgive me for taking so long to followup on this and don't feel obligated to respond. If you don't have time to deal with this now, I completely understand. (I often feel that way when people ask me moltemplate questions.)
Please provide an AppImage for Linux for download on the GitHub Releases page (like for Mac and Windows), thanks.
When the user moves the window it moves very slowly, leaving a trace of partially moved frames on the screen. It "pushes back" on the user moving it. vipster's CPU consumption goes t0 100% during window moves.
FreeBSD 11.2
I added the printout:
===> Performing out-of-source build
/bin/mkdir -p /usr/ports/science/vipster/work/.build
-- Vipster is looking for the file file /usr/local/include/lammps/lammps/exceptions.h
Found incompatible LAMMPS (suitable version "20201130" at /usr/local/include/lammps has exceptions disabled)
and it turned out that it uses a wrong path.
$ pkg info -l lammps | grep exception
/usr/local/include/lammps/exceptions.h
Version 1.19.1b
Incidentally, I just tried using the binary from the most recent artifact. Unfortunately it generated this error message:
$ chmod 755 ./Vipster-Linux-x86_64.AppImage $ ./Vipster-Linux-x86_64.AppImage /tmp/.mount_VipsteepTSBB/AppRun: 13: /tmp/.mount_VipsteepTSBB/AppRun: 12: python3.10: not found python3.10: not foundI was surprised that the program requires a specific version of python. I have python 3.8.12 installed instead. If I get around to upgrading my python version, I'll try again. (This will probably happen when I upgrade my OS later this year. Doing that will make it easier to upgrade my Qt version as well.)
Meanwhile, the binary for the 1.19.1b release is working fine on my computer (although it lacks the recent moltemplate features you added).
Thank you for all your efforts.
-Andrew
Originally posted by @jewettaij in #49 (comment)
Investigations needed:
Python's minor versions are not ABI compatible, the system version being unsuitable is (unfortunately) not a bug
Basic implementation done with 8d1f591
Completed:
Ignored:
Is your feature request related to a problem? Please describe.
There is no problem with VIPSTER.
On the other hand, it looks like there may be a problem with my Qt installation.
When compiling VIPSTER, my Qt version was revealed to be too low:
vipster/qt/glwidget.cpp:12:5: error: ‘setTextureFormat’ was not declared in this scope
("setTextureFormat" requires Qt 5.10. Ubuntu comes with 5.9.5)
Describe the solution you'd like
I suppose it would be nice if VIPSTER could be compiled using older versions of Qt5. Again, this is not a problem. I'm sure that eventually, later versions of Ubuntu and other linux distributions (besides redhat...) will come with updated versions of Qt.
Please don't spend effort on this issue. (As for me at least, there are other issues I care about more.)
I just wanted to let you know I tried. :)
Feel free to close this issue as soon as you read it.
-andrew
Describe the bug
Vipster crashes when loading PW.x Output data. It crashes
both when loading from the cli with the --pwo option or directly when
loading from inside the GUI. The only message I recieve is
/tmp/.mount_vipstefRqgBt/AppRun: line 57: 5974 Segmentation fault (core dumped)
Otherwise vipster works fine.
To Reproduce
Load any PW.x output data into vipster (on CentOS?)
Your system/installation (please complete the following information):
Additional context
I will try to see if I have the same problems on Ubuntu, but I
have no installation atm...
FreeBSD port's build fails:
In file included from /wrkdirs/usr/ports/science/vipster/work/vipster-1.14a/vipster/qt/main.cpp:4:
In file included from /wrkdirs/usr/ports/science/vipster/work/vipster-1.14a/external/CLI11.hpp:143:
/usr/include/c++/v1/experimental/optional:11:2: error: "<experimental/optional> has been removed. Use <optional> instead."
#error "<experimental/optional> has been removed. Use <optional> instead."
^
In file included from /wrkdirs/usr/ports/science/vipster/work/vipster-1.14a/vipster/qt/main.cpp:4:
/wrkdirs/usr/ports/science/vipster/work/vipster-1.14a/external/CLI11.hpp:172:71: error: no member named 'experimental' in namespace 'std'
template <typename T> std::istream &operator>>(std::istream &in, std::experimental::optional<T> &val) {
~~~~~^
2 errors generated.
http://beefy11.nyi.freebsd.org/data/head-i386-default/p490335_s343029/logs/vipster-1.14.a.log (IPv6 URL)
Version 1.14.a
Build fails:
/usr/include/c++/v1/experimental/optional:11:2: error: "<experimental/optional> has been removed. Use <optional> instead."
#error "<experimental/optional> has been removed. Use <optional> instead."
^
In file included from /wrkdirs/usr/ports/science/vipster/work/vipster-1.14a/vipster/qt/main.cpp:4:
/wrkdirs/usr/ports/science/vipster/work/vipster-1.14a/external/CLI11.hpp:172:71: error: no member named 'experimental' in namespace 'std'
template <typename T> std::istream &operator>>(std::istream &in, std::experimental::optional<T> &val) {
~~~~~^
FreeBSD 12 amd64
clang-7
vipster-1.14.a
Upconversion of container classes should be provided:
Selection
-> Step
-> Molecule
Also, compatibility of Vipster::Vec
and the different Atom classes' Vec
should be enabled.
The current architecture of the main Vipster frontend (vipster/gui/qt
) is too convoluted and not maintainable.
Development of a new application architecture is performed on a branch https://github.com/sgsaenger/vipster/tree/architecture.
Acceptance criteria
Vipster::Application
)
triggerUpdate
/updateWidget
are removedA 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.