This a standalone react/redux application for atomistic material structures design. Used within the Exabyte.io platform as explained in the corresponding part of its documentatation here.
As below:
-
Input/Output Menu
- Export materials in JSON/POSCAR formats
-
Edit Menu
- Undo/Redo/Reset/Clone operations
-
View
- Fullscreen mode
-
Advanced Menu
- Creating supercell
- Creating combinatorial set
- Creating interpolated set
- Creating surface/slab
-
Basis Editor
- Adding/Removing/Modifying sites
- Adding/Removing/Modifying atomic constraints
- Switching Crystal/Cartesian units
-
Lattice Editor
- Adjusting lattice units/types/parameters
-
3D Editor
- Visualizing materials
- Rotation
- Repetition/Radius
- Toggle axes
- Adjusting materials
- add/remove/select atoms
- Visualizing materials
Materials Designer can be installed from source as follow:
git clone git@github.com:Exabyte-io/materials-designer.git
cd materials-designer
npm install --no-save
# Fix materials-designer runtime-corejs symlink
cd node_modules/@babel/runtime
ln -sf ../runtime-corejs2/core-js .
cd -
Execute the following command to run the application in development mode.
npm start
Open http://localhost:3001 to view the application in the browser.
Start the application and then run one of the below commands to run the tests.
sh run-tests.sh # to run all the tests
sh run-tests.sh -f=menu/advanced/create-supercell.feature # to run an specific test
Desirable features/fixes for implementation:
- add tests for all the functionality listed above. We only tests advanced operations at current.
- switch color back to white when the material is back to original after editing
- add logic for Interstitials, Vacancy concentrations in combinatorial sets
- fix modal dialog exceptions for AdvancedGeometryDialog
- add line numbers to SourceEditor
- remove updateIndex action when index is the same
- show the total number of materials in set and the current index
- fix fullscreen support
This package depends on Made.js and Wave.js. See package.json for the full list.