Skip to content

Latest commit

 

History

History
137 lines (117 loc) · 5.74 KB

File metadata and controls

137 lines (117 loc) · 5.74 KB

DOSMaster

PyPI GitHub

Program Name: DOSMaster
Author: Youngjun Park (yjpark29@postech.ac.kr)
Inspired by: Jaeseon Kim (CNMD)
Tested by: Changhun Kim (CNMD), Suyun Chae (CNMD)
Description: A smart, highly customizable DOS plotting tool designed for terminal environments.

Version 1.8.3 and above will be publicly released to all CNMD members.


Release History

Version Changes
1.1 Improved loading speed on restart (by Jaeseon Kim)
1.2 Added final data file export feature
1.3 Bug fixes
1.4.2 Refactored for PyPI packaging
1.7.13 Full packaging; added DOS_Sum, Average_DOS, Axis_Optimization, and various performance improvements
1.8.1 Fixed label bugs; added settings save/load, DOS plot save/load, shift_x_axis, extended sequential number input, and legend display toggle
1.8.3 Added ISPIN = 1 calculation support; various bug fixes
1.8.4 License update
1.8.5 Fixed f-orbital error
1.8.8 Fixed ylim optimization error when saving plot in current directory
1.8.10 Fixed f-orbital sum error
1.8.12 Fixed import order error
1.8.15 Fixed graph_editor back feature (suggested by Hyeongbin Park, CNMD)
1.8.16 Added Gaussian smearing feature (contributed by Siyeong Park, CNMD)
1.8.22 Added package version check feature
1.8.24 Fixed PROCAR bug; code generator in development
1.8.25 README update
1.9.3 Add divide_by_n_of_atoms & save plot as .ipynb script
1.9.5 Add shading config in graph style & Change order of color

Features

  1. Add Atom DOS — Add the DOS of a desired atom to the plot.

  2. DOS Projection — Project a specific DOS onto a desired orbital.

  3. Sum DOS — Sum the contributions of selected DOS entries.

  4. Divide DOS by Number of Atoms — Divide each DOS by the number of atoms that compose it, correctly handling DOS lines made of different numbers of atoms.

  5. Average DOS — Average the contributions of selected DOS entries.

  6. Remove DOS — Remove a specific DOS from the plot.

  7. Plot only Positive/Negative Part — Display only the positive or negative region of the DOS plot.

  8. Edit Graph Style — Customize the graph style to your preference.

    Index Parameter Description
    1 figuresize Overall size of the figure (width × height)
    2 axis_label_fontsize Font size of the x/y axis labels
    3 legend_fontsize Font size of the legend text
    4 ticks_fontsize Font size of the axis tick labels
    5 title_fontsize Font size of the plot title
    6 legend_display Toggle legend visibility on/off
    7 legend_name Default legend label for each DOS entry
    8 legend_name_user User-defined custom legend labels
    9 legend_location Position of the legend within the plot
    10 bbox_to_anchor Fine-tune legend position using anchor coordinates
    11 line_width Line width of the plotted DOS curves
    12 xlim x-axis range (energy range)
    13 ylim y-axis range (DOS intensity range)
    14 positive_plot Toggle display of the positive DOS region
    15 negative_plot Toggle display of the negative DOS region
    16 save_filename Output filename when saving the plot
    17 save_format File format for saving (e.g. png, pdf, svg)
    18 save_dpi Resolution (DPI) of the saved plot
    19 dos_color Color of each DOS curve
    20 ylim_optimization Enable automatic y-axis limit optimization
    21 shift_x_axis Shift the x-axis by a fixed energy offset
    22 smearing Apply Gaussian smearing to smooth the DOS curves
    23 shading Fill the area between the x-axis and each DOS curve with a lighter tint of its color (default on)
  9. Axis Optimization — Automatically optimize the y-axis limits to fit the current DOS.

  10. Import Global Custom Setting — Load your personal graph settings from the package folder.

  11. Save Global Custom Setting — Save your personal graph settings to the package folder.

  12. Import DOSMaster Plot — Load a previously saved DOSMaster plot from the current directory.

  13. Save DOSMaster Plot — Save the current DOSMaster plot to the current directory.

  14. Save Plot Script — Save the currently drawn DOS as CSV files and generate a Jupyter notebook (.ipynb) that reproduces the exact plot.


Installation

Install via PyPI

  1. Installation
pip install dosmaster
  1. Run DOSMaster
dosmaster

Install from Source

  1. Copy the SSH key from your server:
    cat ~/.ssh/id_rsa.pub
  2. Go to your GitHub account → SettingsSSH and GPG KeysNew SSH Key, then paste the copied key.
  3. Clone the repository on your server:
    git clone git@github.com:pyj6767/DOSMaster.git
  4. Requirements
pip install matplotlib numpy pandas ase colorama
  1. Set Permissions
chmod 775 dosmaster
  1. Run DOSMaster Navigate to the directory containing your DOS calculation results and run:
cd [your DOS calculation folder]
dosmaster

License

DOSMaster is released under the MIT License.