From 312e639ee0c9e8e8f71126ed2ac0a8e54ffd69d9 Mon Sep 17 00:00:00 2001 From: atztogo Date: Sun, 5 Jan 2025 11:40:02 +0000 Subject: [PATCH] deploy: 9c2c12e57c08744c8f2b53f310cc0099f0789220 --- .doctrees/environment.pickle | Bin 42215 -> 58052 bytes .doctrees/index.doctree | Bin 7207 -> 7280 bytes .doctrees/velph-command.doctree | Bin 79353 -> 10750 bytes .doctrees/velph-example.doctree | Bin 0 -> 39076 bytes .doctrees/velph-init.doctree | Bin 0 -> 34920 bytes .doctrees/velph-subcommands.doctree | Bin 0 -> 12819 bytes _sources/index.md | 3 + _sources/velph-command.md | 658 +-------------------- _sources/velph-example.md | 468 +++++++++++++++ _sources/velph-init.md | 187 ++++++ _sources/velph-subcommands.md | 52 ++ changelog.html | 9 +- genindex.html | 3 + index.html | 3 + install.html | 3 + objects.inv | Bin 409 -> 443 bytes phelel-command.html | 3 + search.html | 3 + searchindex.js | 2 +- velph-command.html | 697 +--------------------- velph-example.html | 862 ++++++++++++++++++++++++++++ velph-init.html | 629 ++++++++++++++++++++ velph-subcommands.html | 564 ++++++++++++++++++ workflow.html | 3 + 24 files changed, 2800 insertions(+), 1349 deletions(-) create mode 100644 .doctrees/velph-example.doctree create mode 100644 .doctrees/velph-init.doctree create mode 100644 .doctrees/velph-subcommands.doctree create mode 100644 _sources/velph-example.md create mode 100644 _sources/velph-init.md create mode 100644 _sources/velph-subcommands.md create mode 100644 velph-example.html create mode 100644 velph-init.html create mode 100644 velph-subcommands.html diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 2066e5a4aad53e95d2642d7ee139e2a7f8de715d..ca78151d19e250ab7d16839ac301ad7ad722be92 100644 GIT binary patch literal 58052 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

QiC2H|64;4#Z>o;)zr0VQ;}UD>D{e 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 NV|KHw!(Gqk{y*JVdx`)6 diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree index 3eacc5bbbc2cec9b94301b96354f8cd49dc0af3d..729939af49d68727c36e9bcb3d9fedf94a0850d6 100644 GIT binary patch delta 251 zcmZ2(@xg+nfpu!?MwVv+rd(yIIRzQInR%HdQ`)BZ^$0@v#idEf`MJ4?c`3zUVP1%E zYDHphK~C!Arvi37S#uZ}7_#Pphy|M!1m7_;e%Q<}s>Q-+Fxg7dj8SiLp`;w6{^SXg zN{kMZH%nRoMczo7O6f8&F!TtP=NF|U=a=S{=;mhTm6oIyPsy^MY%Qe~aTsLYJ`iCJ zB1}NUP7tvTNR;+)<|XE)mQ)r1HPlYg$O5VE1gq=>tLiMxPy~sC49MVt=oSX+-n>^T GixB|VaZc<2 delta 200 zcmexhvD|{Cfpx0PMwVv+lT`#QH|GexW@db~IYLy6g;k4*fuVTvMm~cRdtqTD1yX624wI+ ObPI!ZZ)TIuVgvv*=s2SQ diff --git a/.doctrees/velph-command.doctree b/.doctrees/velph-command.doctree index 7bf8eda34191651ff9e454d2e3c47cac800b48d8..8b93fc90781aa27502cff03bae698772a9a546b3 100644 GIT binary patch delta 498 zcmezQn&n?GTLbIV&zcMy*_dP|OUimq4wiA59I34|`L&GjiF=6LV#^8)z`*Ffp|EZ5kP@J&cAh^MEY4 zX;&epMd>ptG96}`UaQY&B7F#`4Xb%qn5Li6XOynbkOjJnC$YGPJufjgH8Z6cWJMO( zFS1#|K;2n>AYufgEqf>1&M{^{3x8W-MV6 qVFm`9+++tnHa4X!L1qSq$p=|wrq48CG+^fk@=B8ur*AW5bOr#`!Ijkj literal 79353 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 Fe*s5I814W7 diff --git a/.doctrees/velph-example.doctree b/.doctrees/velph-example.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c93e4ce03c4f2aa49ef2c3f3287ec6b8527c74de GIT binary patch literal 39076 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

n= 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 literal 0 HcmV?d00001 diff --git a/_sources/index.md b/_sources/index.md index bf425dd..26ba15c 100644 --- a/_sources/index.md +++ b/_sources/index.md @@ -31,5 +31,8 @@ install workflow phelel-command velph-command +velph-init +velph-subcommands +velph-example changelog ``` diff --git a/_sources/velph-command.md b/_sources/velph-command.md index 679f956..00c619d 100644 --- a/_sources/velph-command.md +++ b/_sources/velph-command.md @@ -47,666 +47,10 @@ Commands: transport Choose transport options. ``` -## `velph` command operations - -### `velph hints` +## `velph hints` This command provides a quick reference of calculation steps. ``` % velph hints ``` - -### `velph init` - -`velph init` with command options will generate modified `velph.toml` from the -template. -``` -% velph init [OPTIONS] CELL_FILENAME PROJECT_FOLDER -``` - -`velph init --help` shows short documents of the options. Two arguments have to -be specified, POSCAR-format crystal structure and directory name that is created -where `velph.toml` is stored. The available options are explained below. Some -options can be specified in `[init.options]` section of the velph-toml template -file (see {ref}`velph-init-template`). - - -#### `--template-toml` - -Using this option, `velph.toml` like file is read as the template instead of the -template hard coded in velph code. - -#### `--tolerance` - -This is used for the symmetry check tolerance in Angstrom. Symmetry is searched -always even without `--symmetrize`. - -#### `--symmetrize` - -By default (no-symmetrize), the input POSCAR-type structure is simply used as -the unit cell. With `--symmetrize`, input POSCAR-type structure is symmetrized -and standardized conventional unit cell and primitive cell ("unitcell" and -"primitive_cell", respectively) are written in `velph.toml`. - -#### `--no-find-primitive` - -By this option, the input POSCAR-type structure is used as the primitive cell -even if it is not a primitive cell. - -#### `--kspacing` and `--kspacing-dense` - -Sampling k-point meshes are calculated from these values in the similar way to -VASP `KSPACING` definition by overwriting the template. - -#### `--max-num-atoms` - -Supercell shape is determined so that its number of atoms is equal or less than -this number respecting the crystallographic point group. - -#### `--phonopy-max-num-atoms` and `--phono3py-max-num-atoms` - -Supercell shapes for phonopy and phono3py are determined in the same manner as -`--max-num-atoms`. - -#### `--cell-for-relax` - -This chooses unit cell or primitive cell for structure optimization (`relax`). -The default is `unitcell`. Specify `primitive` to use primitive cell. - -#### `--cell-for-nac` - -This chooses unit cell or primitive cell for NAC calculation (`nac`). The -default is `primitive`. Specify `primitive` to use primitive cell. - -#### `--primitive-cell-choice` - -Primitive cell choice, "standardized" (default) or "reduced". - -#### `--use-grg` - -Use generalized regular grid. - -#### `--amplitude` - -Distance of displacements in Angstrom. - -#### `--magmom` - -String corresponding to INCAR MAGMOM tag value for unit cell, e.g., "24*1" or "0 -0 1". This is similar to `MAGMOM` tag in phonopy, see -https://phonopy.github.io/phonopy/setting-tags.html#magmom. In velph, the -asterisk symbol (`*`) is supported. - -(velph-init-template)= -## `velph init` template - -`velph init` is the command to prepare `velph.toml`. Without specifying a -velph-toml-template, the default template is used. Custom template can be -specified as follows: - -``` -% velph init [OPTIONS] CELL_FILENAME PROJECT_FOLDER --template-toml velph-tmpl.toml -``` - -The `velph-tmpl.toml` (arbitrary file name) is almost like the `velph.toml` -file. It means that the `velph-tmpl.toml` may be created modifying -`velph.toml`. The sections that exist only in the `velph-tmpl.toml` but not in -`velph.toml` is `[init.options]`. This can be used as alternatives of command -options of `velph-init`, e.g., - -```toml -[init.options] -kspacing = 0.2 -kspacing_dense = 0.1 -max_num_atoms = 120 -``` - -These `[init.options]` keywords can be found along with the list of the command -options by - -``` -% velph init --help -``` - -## Settings in sections of `velph.toml` - -Note that the same can be applied to `velph-tmpl.toml`. - -### Default INCAR settings - -The default INCAR settins are written in `[vasp.incar]`. These settings are -overwritten by `[vasp.CALC_TYPE.incar]` (`CALC_TYPE` can be `phelel`, `relax`, -`nac`, `transport`, `phono3py`, `phono3py.phonon`, etc). - -### Scheduler settings - -The parameters used for generating the job submission script are specified as -strings in `[scheduler]`. If `[vasp.CALC_TYPE.scheduler]` is -specified, `[scheduler]` settings are overwritten by the settings for -`[vasp.CALC_TYPE]`. The content in this section operates through [Python string -formatting](https://docs.python.org/3/library/stdtypes.html#str.format), using -replacement fields named after keyword arguments. Each parameter line in the -`[scheduler]` section is treated as a keyword argument, which is then inserted -into the string format. - -In the `[scheduler]` section, the parameters `scheduler_name` and -`scheduler_template` have special roles: - -- `scheduler_name`: Specifies the template type, with options `slurm`, `sge`, or - `custom`. For `slurm` and `sge`, the template string (i.e., - `scheduler_template`) is - [hard-coded](https://github.com/phonopy/phelel/blob/develop/src/phelel/velph/utils/scheduler.py). - If `custom` is selected, the string provided by `scheduler_template` is used, - into which the parameters are inserted. -- `scheduler_template`: The string template where parameters defined in this - section are inserted. - -An example is shown below. - -```toml -[scheduler] -scheduler_name = "sge" -job_name = "PbTe" -mpirun_command = "mpirun" -vasp_binary = "/usr/local/cluster-1/bin/vasp_std" -pe = "vienna 32" -prepend_text = ''' -source /opt/intel/oneapi/setvars.sh --config="/home/togo/.oneapi-config" -''' - -... -[vasp.phelel.scheduler] -pe = "paris 24" - -... -[vasp.phonopy.scheduler] -scheduler_template = '''#!/bin/bash -#QSUB2 core 192 -#QSUB2 mpi 192 -#QSUB2 smp 1 -#QSUB2 wtime 48:00:00 -#PBS -N {job_name} -cd $PBS_O_WORKDIR - -{prepend_text} -{mpirun_command} {vasp_binary} | tee vasp_output -{append_text} -''' -job_name = "PbTe" -mpirun_command = "mpijob" -vasp_binary = "/usr/local/cluster-2/bin/vasp_std" -prepend_text = ''' -. /etc/profile.d/modules.sh -module load inteloneapi22u3 -''' -append_text = "" -``` - - -## Example (NiTiSn) - -`POSCAR-unitcell`, `POTCAR`, and `velph-tmpl.toml` are located in the current directory. - -Initial `POSCAR-unitcell`, -``` -Ti4Sn4Ni4 -1.0 -5.906882041566931 0.000000000000000 0.000000000000000 -0.000000000000000 5.906882041566931 0.000000000000000 -0.000000000000000 0.000000000000000 5.906882041566931 -Ti Sn Ni -4 4 4 -Direct -0.000000000000000 0.000000000000000 0.000000000000000 -0.000000000000000 0.500000000000000 0.500000000000000 -0.500000000000000 0.000000000000000 0.500000000000000 -0.500000000000000 0.500000000000000 0.000000000000000 -0.500000000000000 0.500000000000000 0.500000000000000 -0.500000000000000 0.000000000000000 0.000000000000000 -0.000000000000000 0.500000000000000 0.000000000000000 -0.000000000000000 0.000000000000000 0.500000000000000 -0.250000000000000 0.250000000000000 0.250000000000000 -0.250000000000000 0.750000000000000 0.750000000000000 -0.750000000000000 0.250000000000000 0.750000000000000 -0.750000000000000 0.750000000000000 0.250000000000000 -``` - -`velph-tmpl.toml`, -```toml -[init.options] -kspacing = 0.1 -kspacing_dense = 0.2 -max_num_atoms = 100 - -[vasp.incar] -encut = 520 -ncore = 4 - -[vasp.phelel.incar] -kpar = 2 -[vasp.phelel.scheduler] -pe = "mpi* 48" - -[vasp.transport.scheduler] -pe = "mpi* 144" - -[scheduler] -scheduler_name = "sge" -job_name = "TiNiSn" -mpirun_command = "mpirun" -vasp_binary = "/usr/local/vasp/bin/vasp_std" -pe = "vienna 32" -prepend_text = ''' -source /opt/intel/oneapi/setvars.sh intel64 --config="/home/togo/.oneapi-config" -''' -append_text = "" -``` - -`POTCAR` choice, -``` - PAW_PBE Ti_sv 26Sep2005 - PAW_PBE Sn_d 06Sep2000 - PAW_PBE Ni 02Aug2007 -``` - -``` -% velph init POSCAR_Ti4Sn4Ni4 relax --template-toml velph-tmpl.toml -Crystal structure file: "POSCAR_Ti4Sn4Ni4". -Velph template file: "velph-tmpl.toml". -Read crystal structure file "POSCAR_Ti4Sn4Ni4". -Read velph template file "velph-tmpl.toml". -Following options were found in "velph-tmpl.toml": - kspacing = "0.1" - kspacing_dense = "0.2" - max_num_atoms = "100" -The command options were prefered to [init.options] in "velph-tmpl.toml". -Found a primitive cell whose transformation matrix is - [ 0.000 0.500 0.500] - [ 0.500 0.000 0.500] - [ 0.500 0.500 0.000] -Supercell is generated with respect to the cell below. --------------------------------------------------------------------------------- -lattice: -- [ 5.906882041566931, 0.000000000000000, 0.000000000000000 ] # a -- [ 0.000000000000000, 5.906882041566931, 0.000000000000000 ] # b -- [ 0.000000000000000, 0.000000000000000, 5.906882041566931 ] # c -points: -- symbol: Ti # 1 - coordinates: [ 0.000000000000000, 0.000000000000000, 0.000000000000000 ] - mass: 47.867000 -- symbol: Ti # 2 - coordinates: [ 0.000000000000000, 0.500000000000000, 0.500000000000000 ] - mass: 47.867000 -- symbol: Ti # 3 - coordinates: [ 0.500000000000000, 0.000000000000000, 0.500000000000000 ] - mass: 47.867000 -- symbol: Ti # 4 - coordinates: [ 0.500000000000000, 0.500000000000000, 0.000000000000000 ] - mass: 47.867000 -- symbol: Sn # 5 - coordinates: [ 0.500000000000000, 0.500000000000000, 0.500000000000000 ] - mass: 118.710000 -- symbol: Sn # 6 - coordinates: [ 0.500000000000000, 0.000000000000000, 0.000000000000000 ] - mass: 118.710000 -- symbol: Sn # 7 - coordinates: [ 0.000000000000000, 0.500000000000000, 0.000000000000000 ] - mass: 118.710000 -- symbol: Sn # 8 - coordinates: [ 0.000000000000000, 0.000000000000000, 0.500000000000000 ] - mass: 118.710000 -- symbol: Ni # 9 - coordinates: [ 0.250000000000000, 0.250000000000000, 0.250000000000000 ] - mass: 58.693400 -- symbol: Ni # 10 - coordinates: [ 0.250000000000000, 0.750000000000000, 0.750000000000000 ] - mass: 58.693400 -- symbol: Ni # 11 - coordinates: [ 0.750000000000000, 0.250000000000000, 0.750000000000000 ] - mass: 58.693400 -- symbol: Ni # 12 - coordinates: [ 0.750000000000000, 0.750000000000000, 0.250000000000000 ] - mass: 58.693400 --------------------------------------------------------------------------------- -[vasp.incar] (basic INCAR settings) - ismear = 0 - sigma = 0.01 - ediff = 1e-08 - encut = 520 - prec = accurate - lreal = False - lwave = False - lcharg = False - ncore = 4 -[phelel] - supercell_dimension: [2 2 2] -[vasp.*.kpoints.mesh] (*kspacing=0.1) - selfenergy: [18 18 18]* - el_bands: [18 18 18]* - phelel: [5 5 5]* - relax: [11 11 11]* - nac: [18 18 18]* -[vasp.*.kpoints_dense.mesh] (*kspacing_dense=0.2) - selfenergy: [9 9 9]* - el_bands: [9 9 9]* -Created new folder "relax". -Initial settings were written to "relax/velph.toml". -Found "POTCAR". - PAW_PBE Ti_sv 26Sep2005 - PAW_PBE Sn_d 06Sep2000 - PAW_PBE Ni 02Aug2007 - Max ENMAX in "POTCAR" is 274.61. -"POTCAR" was copied to "relax/POTCAR". -``` - - -A directory `relax` is created and `velph.toml` is stored in it. - -`relax/velph.toml`, -```toml -[phelel] -version = "0.6.0" -supercell_dimension = [2, 2, 2] -amplitude = 0.03 -diagonal = true -plusminus = true -fft_mesh = [32, 32, 32] - -# ... - -[vasp.relax] -cell = "unitcell" -[vasp.relax.incar] -ediffg = -1e-06 -ibrion = 2 -isif = 3 -nsw = 10 -ismear = 0 -sigma = 0.01 -ediff = 1e-08 -encut = 520 -prec = "accurate" -lreal = false -lwave = false -lcharg = false -ncore = 4 -[vasp.relax.kpoints] -mesh = [11, 11, 11] - -# ... - -[scheduler] -scheduler_name = "sge" -job_name = "TiNiSn" -mpirun_command = "mpirun" -vasp_binary = "/usr/local/vasp/bin/vasp_std" -pe = "vienna 32" -prepend_text = "source /opt/intel/oneapi/setvars.sh intel64 --config=\"/home/togo/.oneapi-config\"\n" -append_text = "" - -[symmetry] -spacegroup_type = "F-43m" -tolerance = 1e-05 -primitive_matrix = [ - [ 0.000000000000000, 0.500000000000000, 0.500000000000000 ], - [ 0.500000000000000, 0.000000000000000, 0.500000000000000 ], - [ 0.500000000000000, 0.500000000000000, 0.000000000000000 ], -] - -[unitcell] -lattice = [ - [ 5.906882041566931, 0.000000000000000, 0.000000000000000 ], # a - [ 0.000000000000000, 5.906882041566931, 0.000000000000000 ], # b - [ 0.000000000000000, 0.000000000000000, 5.906882041566931 ], # c -] -[[unitcell.points]] # 1 -symbol = "Ti" -coordinates = [ 0.000000000000000, 0.000000000000000, 0.000000000000000 ] -[[unitcell.points]] # 2 -symbol = "Ti" -coordinates = [ 0.000000000000000, 0.500000000000000, 0.500000000000000 ] -[[unitcell.points]] # 3 -symbol = "Ti" -coordinates = [ 0.500000000000000, 0.000000000000000, 0.500000000000000 ] -[[unitcell.points]] # 4 -symbol = "Ti" -coordinates = [ 0.500000000000000, 0.500000000000000, 0.000000000000000 ] -[[unitcell.points]] # 5 -symbol = "Sn" -coordinates = [ 0.500000000000000, 0.500000000000000, 0.500000000000000 ] -[[unitcell.points]] # 6 -symbol = "Sn" -coordinates = [ 0.500000000000000, 0.000000000000000, 0.000000000000000 ] -[[unitcell.points]] # 7 -symbol = "Sn" -coordinates = [ 0.000000000000000, 0.500000000000000, 0.000000000000000 ] -[[unitcell.points]] # 8 -symbol = "Sn" -coordinates = [ 0.000000000000000, 0.000000000000000, 0.500000000000000 ] -[[unitcell.points]] # 9 -symbol = "Ni" -coordinates = [ 0.250000000000000, 0.250000000000000, 0.250000000000000 ] -[[unitcell.points]] # 10 -symbol = "Ni" -coordinates = [ 0.250000000000000, 0.750000000000000, 0.750000000000000 ] -[[unitcell.points]] # 11 -symbol = "Ni" -coordinates = [ 0.750000000000000, 0.250000000000000, 0.750000000000000 ] -[[unitcell.points]] # 12 -symbol = "Ni" -coordinates = [ 0.750000000000000, 0.750000000000000, 0.250000000000000 ] -[primitive_cell] -lattice = [ - [ 0.000000000000000, 2.953441020783465, 2.953441020783465 ], # a - [ 2.953441020783465, 0.000000000000000, 2.953441020783465 ], # b - [ 2.953441020783465, 2.953441020783465, 0.000000000000000 ], # c -] -[[primitive_cell.points]] # 1 -symbol = "Ti" -coordinates = [ 0.000000000000000, 0.000000000000000, 0.000000000000000 ] -[[primitive_cell.points]] # 2 -symbol = "Sn" -coordinates = [ 0.500000000000000, 0.500000000000000, 0.500000000000000 ] -[[primitive_cell.points]] # 3 -symbol = "Ni" -coordinates = [ 0.250000000000000, 0.250000000000000, 0.250000000000000 ] -``` - -`fft_mesh` is calculated from `encut` value in the `[vasp.selfenergy.incar]` section. - -Change directory to `relax`. -``` -% velph relax generate -% cd relax/iter1 -% qsub _job.sh -``` -Structure optimization is done until stress becomes less than 0.1kB (0.01GPa). -Go back to the top directory and start supercell calculation. - -``` -% velph init --template-toml velph-tmpl.toml `ls relax/relax/iter*/CONTCAR|tail -n 1` calc -Crystal structure file: "relax/relax/iter2/CONTCAR". -Velph template file: "velph-tmpl.toml". -Read crystal structure file "relax/relax/iter2/CONTCAR". -Read velph template file "velph-tmpl.toml". -Following options were found in "velph-tmpl.toml": - kspacing = "0.1" - kspacing_dense = "0.2" - max_num_atoms = "100" -The command options were prefered to [init.options] in "velph-tmpl.toml". -Found a primitive cell whose transformation matrix is - [ 0.000 0.500 0.500] - [ 0.500 0.000 0.500] - [ 0.500 0.500 0.000] -Supercell is generated with respect to the cell below. --------------------------------------------------------------------------------- -lattice: -- [ 5.949975748250650, 0.000000000000000, 0.000000000000000 ] # a -- [ 0.000000000000000, 5.949975748250650, -0.000000000000000 ] # b -- [ 0.000000000000000, 0.000000000000000, 5.949975748250650 ] # c -points: -- symbol: Ti # 1 - coordinates: [ 0.000000000000000, 0.000000000000000, 0.000000000000000 ] - mass: 47.867000 -- symbol: Ti # 2 - coordinates: [ 0.000000000000000, 0.500000000000000, 0.500000000000000 ] - mass: 47.867000 -- symbol: Ti # 3 - coordinates: [ 0.500000000000000, 0.000000000000000, 0.500000000000000 ] - mass: 47.867000 -- symbol: Ti # 4 - coordinates: [ 0.500000000000000, 0.500000000000000, 0.000000000000000 ] - mass: 47.867000 -- symbol: Sn # 5 - coordinates: [ 0.500000000000000, 0.500000000000000, 0.500000000000000 ] - mass: 118.710000 -- symbol: Sn # 6 - coordinates: [ 0.500000000000000, 0.000000000000000, 0.000000000000000 ] - mass: 118.710000 -- symbol: Sn # 7 - coordinates: [ 0.000000000000000, 0.500000000000000, 0.000000000000000 ] - mass: 118.710000 -- symbol: Sn # 8 - coordinates: [ 0.000000000000000, 0.000000000000000, 0.500000000000000 ] - mass: 118.710000 -- symbol: Ni # 9 - coordinates: [ 0.250000000000000, 0.250000000000000, 0.250000000000000 ] - mass: 58.693400 -- symbol: Ni # 10 - coordinates: [ 0.250000000000000, 0.750000000000000, 0.750000000000000 ] - mass: 58.693400 -- symbol: Ni # 11 - coordinates: [ 0.750000000000000, 0.250000000000000, 0.750000000000000 ] - mass: 58.693400 -- symbol: Ni # 12 - coordinates: [ 0.750000000000000, 0.750000000000000, 0.250000000000000 ] - mass: 58.693400 --------------------------------------------------------------------------------- -[vasp.incar] (basic INCAR settings) - ismear = 0 - sigma = 0.01 - ediff = 1e-08 - encut = 520 - prec = accurate - lreal = False - lwave = False - lcharg = False - ncore = 4 -[phelel] - supercell_dimension: [2 2 2] -[vasp.*.kpoints.mesh] (*kspacing=0.1) - selfenergy: [18 18 18]* - el_bands: [18 18 18]* - phelel: [5 5 5]* - relax: [11 11 11]* - nac: [18 18 18]* -[vasp.*.kpoints_dense.mesh] (*kspacing_dense=0.2) - selfenergy: [9 9 9]* - el_bands: [9 9 9]* -Created new folder "calc". -Initial settings were written to "calc/velph.toml". -Found "POTCAR". - PAW_PBE Ti_sv 26Sep2005 - PAW_PBE Sn_d 06Sep2000 - PAW_PBE Ni 02Aug2007 - Max ENMAX in "POTCAR" is 274.61. -"POTCAR" was copied to "calc/POTCAR". -``` - -Change directory to `calc`. -``` -% cd calc -``` - -`velph.toml`, -``` -[phelel] -version = "0.6.0" -supercell_dimension = [2, 2, 2] -amplitude = 0.03 -diagonal = true -plusminus = true -fft_mesh = [32, 32, 32] - -[vasp.phelel.incar] -lwap = true -isym = 0 -kpar = 2 -ismear = 0 -sigma = 0.01 -ediff = 1e-08 -encut = 520 -prec = "accurate" -lreal = false -lwave = false -lcharg = false -ncore = 4 -[vasp.phelel.kpoints] -mesh = [5, 5, 5] -[vasp.phelel.scheduler] -pe = "mpi* 48" - -# ... - -[vasp.nac] -cell = "primitive" -[vasp.nac.incar] -lepsilon = true -ismear = 0 -sigma = 0.01 -ediff = 1e-08 -encut = 520 -prec = "accurate" -lreal = false -lwave = false -lcharg = false -[vasp.nac.kpoints] -mesh = [18, 18, 18] - -# ... -``` - -NAC and supercell calculations, -``` -% velph nac generate -% cd nac; qsub _job.sh; cd .. -% velph phelel init -Found "nac" directory. Read NAC params. -"phelel/phelel_disp.yaml" was generated by phelel. -VASP input files will be generated by "velph phelel generate". -% velph supercell generate -VASP input files were generated in "supercell/disp-000". -VASP input files were generated in "supercell/disp-001". -VASP input files were generated in "supercell/disp-002". -VASP input files were generated in "supercell/disp-003". -VASP input files were generated in "supercell/disp-004". -VASP input files were generated in "supercell/disp-005". -VASP input files were generated in "supercell/disp-006". -% for i in {000..006};do cd phelel/disp-$i; qsub _job.sh; cd ../..;done -``` - -Using the VASP results of the supercell calculations, derivatives of properties -are computed using the phelel code. The results are stored in a newly created -file `phelel/phelel_params.hdf5`. This process creates only -`phelel/phelel_params.hdf5` and is invoked by the following velph command: -``` -% velph phelel differentiate -Running finufft (eps=1.000e-06)... -Running finufft (eps=1.000e-06)... -Running finufft (eps=1.000e-06)... -"phelel/phelel_params.hdf5" has been made. -``` - -NAC parameters in `phelel/phelel_params.hdf5` comes from -`phelel/phelel_disp.yaml`, i.e., - -1. NAC parameters are stored in `phelel/phelel_disp.yaml` when - `phelel/phelel_disp.yaml` is created by `velph phelel init`. -2. NAC data in `phelel/phelel_disp.yaml` are transfered to - `phelel/phelel_params.hdf5` by `velph phelel differentiate`. - -Therefore, `nac` calculation has to exist in the initial step `velph phelel -init`. If the `nac` calculation is performed after the supercell calculation, -`velph phelel init` and `velph phelel differentiate` have to be re-executed to -store the NAC parameters in `phelel/phelel_params.hdf5`. diff --git a/_sources/velph-example.md b/_sources/velph-example.md new file mode 100644 index 0000000..eb9885e --- /dev/null +++ b/_sources/velph-example.md @@ -0,0 +1,468 @@ +# `velph` example + +## NiTiSn + +`POSCAR-unitcell`, `POTCAR`, and `velph-tmpl.toml` are located in the current directory. + +Initial `POSCAR-unitcell`, +``` +Ti4Sn4Ni4 +1.0 +5.906882041566931 0.000000000000000 0.000000000000000 +0.000000000000000 5.906882041566931 0.000000000000000 +0.000000000000000 0.000000000000000 5.906882041566931 +Ti Sn Ni +4 4 4 +Direct +0.000000000000000 0.000000000000000 0.000000000000000 +0.000000000000000 0.500000000000000 0.500000000000000 +0.500000000000000 0.000000000000000 0.500000000000000 +0.500000000000000 0.500000000000000 0.000000000000000 +0.500000000000000 0.500000000000000 0.500000000000000 +0.500000000000000 0.000000000000000 0.000000000000000 +0.000000000000000 0.500000000000000 0.000000000000000 +0.000000000000000 0.000000000000000 0.500000000000000 +0.250000000000000 0.250000000000000 0.250000000000000 +0.250000000000000 0.750000000000000 0.750000000000000 +0.750000000000000 0.250000000000000 0.750000000000000 +0.750000000000000 0.750000000000000 0.250000000000000 +``` + +`velph-tmpl.toml`, +```toml +[init.options] +kspacing = 0.1 +kspacing_dense = 0.2 +max_num_atoms = 100 + +[vasp.incar] +encut = 520 +ncore = 4 + +[vasp.phelel.incar] +kpar = 2 +[vasp.phelel.scheduler] +pe = "mpi* 48" + +[vasp.transport.scheduler] +pe = "mpi* 144" + +[scheduler] +scheduler_name = "sge" +job_name = "TiNiSn" +mpirun_command = "mpirun" +vasp_binary = "/usr/local/vasp/bin/vasp_std" +pe = "vienna 32" +prepend_text = ''' +source /opt/intel/oneapi/setvars.sh intel64 --config="/home/togo/.oneapi-config" +''' +append_text = "" +``` + +`POTCAR` choice, +``` + PAW_PBE Ti_sv 26Sep2005 + PAW_PBE Sn_d 06Sep2000 + PAW_PBE Ni 02Aug2007 +``` + +``` +% velph init POSCAR_Ti4Sn4Ni4 relax --template-toml velph-tmpl.toml +Crystal structure file: "POSCAR_Ti4Sn4Ni4". +Velph template file: "velph-tmpl.toml". +Read crystal structure file "POSCAR_Ti4Sn4Ni4". +Read velph template file "velph-tmpl.toml". +Following options were found in "velph-tmpl.toml": + kspacing = "0.1" + kspacing_dense = "0.2" + max_num_atoms = "100" +The command options were prefered to [init.options] in "velph-tmpl.toml". +Found a primitive cell whose transformation matrix is + [ 0.000 0.500 0.500] + [ 0.500 0.000 0.500] + [ 0.500 0.500 0.000] +Supercell is generated with respect to the cell below. +-------------------------------------------------------------------------------- +lattice: +- [ 5.906882041566931, 0.000000000000000, 0.000000000000000 ] # a +- [ 0.000000000000000, 5.906882041566931, 0.000000000000000 ] # b +- [ 0.000000000000000, 0.000000000000000, 5.906882041566931 ] # c +points: +- symbol: Ti # 1 + coordinates: [ 0.000000000000000, 0.000000000000000, 0.000000000000000 ] + mass: 47.867000 +- symbol: Ti # 2 + coordinates: [ 0.000000000000000, 0.500000000000000, 0.500000000000000 ] + mass: 47.867000 +- symbol: Ti # 3 + coordinates: [ 0.500000000000000, 0.000000000000000, 0.500000000000000 ] + mass: 47.867000 +- symbol: Ti # 4 + coordinates: [ 0.500000000000000, 0.500000000000000, 0.000000000000000 ] + mass: 47.867000 +- symbol: Sn # 5 + coordinates: [ 0.500000000000000, 0.500000000000000, 0.500000000000000 ] + mass: 118.710000 +- symbol: Sn # 6 + coordinates: [ 0.500000000000000, 0.000000000000000, 0.000000000000000 ] + mass: 118.710000 +- symbol: Sn # 7 + coordinates: [ 0.000000000000000, 0.500000000000000, 0.000000000000000 ] + mass: 118.710000 +- symbol: Sn # 8 + coordinates: [ 0.000000000000000, 0.000000000000000, 0.500000000000000 ] + mass: 118.710000 +- symbol: Ni # 9 + coordinates: [ 0.250000000000000, 0.250000000000000, 0.250000000000000 ] + mass: 58.693400 +- symbol: Ni # 10 + coordinates: [ 0.250000000000000, 0.750000000000000, 0.750000000000000 ] + mass: 58.693400 +- symbol: Ni # 11 + coordinates: [ 0.750000000000000, 0.250000000000000, 0.750000000000000 ] + mass: 58.693400 +- symbol: Ni # 12 + coordinates: [ 0.750000000000000, 0.750000000000000, 0.250000000000000 ] + mass: 58.693400 +-------------------------------------------------------------------------------- +[vasp.incar] (basic INCAR settings) + ismear = 0 + sigma = 0.01 + ediff = 1e-08 + encut = 520 + prec = accurate + lreal = False + lwave = False + lcharg = False + ncore = 4 +[phelel] + supercell_dimension: [2 2 2] +[vasp.*.kpoints.mesh] (*kspacing=0.1) + selfenergy: [18 18 18]* + el_bands: [18 18 18]* + phelel: [5 5 5]* + relax: [11 11 11]* + nac: [18 18 18]* +[vasp.*.kpoints_dense.mesh] (*kspacing_dense=0.2) + selfenergy: [9 9 9]* + el_bands: [9 9 9]* +Created new folder "relax". +Initial settings were written to "relax/velph.toml". +Found "POTCAR". + PAW_PBE Ti_sv 26Sep2005 + PAW_PBE Sn_d 06Sep2000 + PAW_PBE Ni 02Aug2007 + Max ENMAX in "POTCAR" is 274.61. +"POTCAR" was copied to "relax/POTCAR". +``` + + +A directory `relax` is created and `velph.toml` is stored in it. + +`relax/velph.toml`, +```toml +[phelel] +version = "0.6.0" +supercell_dimension = [2, 2, 2] +amplitude = 0.03 +diagonal = true +plusminus = true +fft_mesh = [32, 32, 32] + +# ... + +[vasp.relax] +cell = "unitcell" +[vasp.relax.incar] +ediffg = -1e-06 +ibrion = 2 +isif = 3 +nsw = 10 +ismear = 0 +sigma = 0.01 +ediff = 1e-08 +encut = 520 +prec = "accurate" +lreal = false +lwave = false +lcharg = false +ncore = 4 +[vasp.relax.kpoints] +mesh = [11, 11, 11] + +# ... + +[scheduler] +scheduler_name = "sge" +job_name = "TiNiSn" +mpirun_command = "mpirun" +vasp_binary = "/usr/local/vasp/bin/vasp_std" +pe = "vienna 32" +prepend_text = "source /opt/intel/oneapi/setvars.sh intel64 --config=\"/home/togo/.oneapi-config\"\n" +append_text = "" + +[symmetry] +spacegroup_type = "F-43m" +tolerance = 1e-05 +primitive_matrix = [ + [ 0.000000000000000, 0.500000000000000, 0.500000000000000 ], + [ 0.500000000000000, 0.000000000000000, 0.500000000000000 ], + [ 0.500000000000000, 0.500000000000000, 0.000000000000000 ], +] + +[unitcell] +lattice = [ + [ 5.906882041566931, 0.000000000000000, 0.000000000000000 ], # a + [ 0.000000000000000, 5.906882041566931, 0.000000000000000 ], # b + [ 0.000000000000000, 0.000000000000000, 5.906882041566931 ], # c +] +[[unitcell.points]] # 1 +symbol = "Ti" +coordinates = [ 0.000000000000000, 0.000000000000000, 0.000000000000000 ] +[[unitcell.points]] # 2 +symbol = "Ti" +coordinates = [ 0.000000000000000, 0.500000000000000, 0.500000000000000 ] +[[unitcell.points]] # 3 +symbol = "Ti" +coordinates = [ 0.500000000000000, 0.000000000000000, 0.500000000000000 ] +[[unitcell.points]] # 4 +symbol = "Ti" +coordinates = [ 0.500000000000000, 0.500000000000000, 0.000000000000000 ] +[[unitcell.points]] # 5 +symbol = "Sn" +coordinates = [ 0.500000000000000, 0.500000000000000, 0.500000000000000 ] +[[unitcell.points]] # 6 +symbol = "Sn" +coordinates = [ 0.500000000000000, 0.000000000000000, 0.000000000000000 ] +[[unitcell.points]] # 7 +symbol = "Sn" +coordinates = [ 0.000000000000000, 0.500000000000000, 0.000000000000000 ] +[[unitcell.points]] # 8 +symbol = "Sn" +coordinates = [ 0.000000000000000, 0.000000000000000, 0.500000000000000 ] +[[unitcell.points]] # 9 +symbol = "Ni" +coordinates = [ 0.250000000000000, 0.250000000000000, 0.250000000000000 ] +[[unitcell.points]] # 10 +symbol = "Ni" +coordinates = [ 0.250000000000000, 0.750000000000000, 0.750000000000000 ] +[[unitcell.points]] # 11 +symbol = "Ni" +coordinates = [ 0.750000000000000, 0.250000000000000, 0.750000000000000 ] +[[unitcell.points]] # 12 +symbol = "Ni" +coordinates = [ 0.750000000000000, 0.750000000000000, 0.250000000000000 ] +[primitive_cell] +lattice = [ + [ 0.000000000000000, 2.953441020783465, 2.953441020783465 ], # a + [ 2.953441020783465, 0.000000000000000, 2.953441020783465 ], # b + [ 2.953441020783465, 2.953441020783465, 0.000000000000000 ], # c +] +[[primitive_cell.points]] # 1 +symbol = "Ti" +coordinates = [ 0.000000000000000, 0.000000000000000, 0.000000000000000 ] +[[primitive_cell.points]] # 2 +symbol = "Sn" +coordinates = [ 0.500000000000000, 0.500000000000000, 0.500000000000000 ] +[[primitive_cell.points]] # 3 +symbol = "Ni" +coordinates = [ 0.250000000000000, 0.250000000000000, 0.250000000000000 ] +``` + +`fft_mesh` is calculated from `encut` value in the `[vasp.selfenergy.incar]` section. + +Change directory to `relax`. +``` +% velph relax generate +% cd relax/iter1 +% qsub _job.sh +``` +Structure optimization is done until stress becomes less than 0.1kB (0.01GPa). +Go back to the top directory and start supercell calculation. + +``` +% velph init --template-toml velph-tmpl.toml `ls relax/relax/iter*/CONTCAR|tail -n 1` calc +Crystal structure file: "relax/relax/iter2/CONTCAR". +Velph template file: "velph-tmpl.toml". +Read crystal structure file "relax/relax/iter2/CONTCAR". +Read velph template file "velph-tmpl.toml". +Following options were found in "velph-tmpl.toml": + kspacing = "0.1" + kspacing_dense = "0.2" + max_num_atoms = "100" +The command options were prefered to [init.options] in "velph-tmpl.toml". +Found a primitive cell whose transformation matrix is + [ 0.000 0.500 0.500] + [ 0.500 0.000 0.500] + [ 0.500 0.500 0.000] +Supercell is generated with respect to the cell below. +-------------------------------------------------------------------------------- +lattice: +- [ 5.949975748250650, 0.000000000000000, 0.000000000000000 ] # a +- [ 0.000000000000000, 5.949975748250650, -0.000000000000000 ] # b +- [ 0.000000000000000, 0.000000000000000, 5.949975748250650 ] # c +points: +- symbol: Ti # 1 + coordinates: [ 0.000000000000000, 0.000000000000000, 0.000000000000000 ] + mass: 47.867000 +- symbol: Ti # 2 + coordinates: [ 0.000000000000000, 0.500000000000000, 0.500000000000000 ] + mass: 47.867000 +- symbol: Ti # 3 + coordinates: [ 0.500000000000000, 0.000000000000000, 0.500000000000000 ] + mass: 47.867000 +- symbol: Ti # 4 + coordinates: [ 0.500000000000000, 0.500000000000000, 0.000000000000000 ] + mass: 47.867000 +- symbol: Sn # 5 + coordinates: [ 0.500000000000000, 0.500000000000000, 0.500000000000000 ] + mass: 118.710000 +- symbol: Sn # 6 + coordinates: [ 0.500000000000000, 0.000000000000000, 0.000000000000000 ] + mass: 118.710000 +- symbol: Sn # 7 + coordinates: [ 0.000000000000000, 0.500000000000000, 0.000000000000000 ] + mass: 118.710000 +- symbol: Sn # 8 + coordinates: [ 0.000000000000000, 0.000000000000000, 0.500000000000000 ] + mass: 118.710000 +- symbol: Ni # 9 + coordinates: [ 0.250000000000000, 0.250000000000000, 0.250000000000000 ] + mass: 58.693400 +- symbol: Ni # 10 + coordinates: [ 0.250000000000000, 0.750000000000000, 0.750000000000000 ] + mass: 58.693400 +- symbol: Ni # 11 + coordinates: [ 0.750000000000000, 0.250000000000000, 0.750000000000000 ] + mass: 58.693400 +- symbol: Ni # 12 + coordinates: [ 0.750000000000000, 0.750000000000000, 0.250000000000000 ] + mass: 58.693400 +-------------------------------------------------------------------------------- +[vasp.incar] (basic INCAR settings) + ismear = 0 + sigma = 0.01 + ediff = 1e-08 + encut = 520 + prec = accurate + lreal = False + lwave = False + lcharg = False + ncore = 4 +[phelel] + supercell_dimension: [2 2 2] +[vasp.*.kpoints.mesh] (*kspacing=0.1) + selfenergy: [18 18 18]* + el_bands: [18 18 18]* + phelel: [5 5 5]* + relax: [11 11 11]* + nac: [18 18 18]* +[vasp.*.kpoints_dense.mesh] (*kspacing_dense=0.2) + selfenergy: [9 9 9]* + el_bands: [9 9 9]* +Created new folder "calc". +Initial settings were written to "calc/velph.toml". +Found "POTCAR". + PAW_PBE Ti_sv 26Sep2005 + PAW_PBE Sn_d 06Sep2000 + PAW_PBE Ni 02Aug2007 + Max ENMAX in "POTCAR" is 274.61. +"POTCAR" was copied to "calc/POTCAR". +``` + +Change directory to `calc`. +``` +% cd calc +``` + +`velph.toml`, +``` +[phelel] +version = "0.6.0" +supercell_dimension = [2, 2, 2] +amplitude = 0.03 +diagonal = true +plusminus = true +fft_mesh = [32, 32, 32] + +[vasp.phelel.incar] +lwap = true +isym = 0 +kpar = 2 +ismear = 0 +sigma = 0.01 +ediff = 1e-08 +encut = 520 +prec = "accurate" +lreal = false +lwave = false +lcharg = false +ncore = 4 +[vasp.phelel.kpoints] +mesh = [5, 5, 5] +[vasp.phelel.scheduler] +pe = "mpi* 48" + +# ... + +[vasp.nac] +cell = "primitive" +[vasp.nac.incar] +lepsilon = true +ismear = 0 +sigma = 0.01 +ediff = 1e-08 +encut = 520 +prec = "accurate" +lreal = false +lwave = false +lcharg = false +[vasp.nac.kpoints] +mesh = [18, 18, 18] + +# ... +``` + +NAC and supercell calculations, +``` +% velph nac generate +% cd nac; qsub _job.sh; cd .. +% velph phelel init +Found "nac" directory. Read NAC params. +"phelel/phelel_disp.yaml" was generated by phelel. +VASP input files will be generated by "velph phelel generate". +% velph supercell generate +VASP input files were generated in "supercell/disp-000". +VASP input files were generated in "supercell/disp-001". +VASP input files were generated in "supercell/disp-002". +VASP input files were generated in "supercell/disp-003". +VASP input files were generated in "supercell/disp-004". +VASP input files were generated in "supercell/disp-005". +VASP input files were generated in "supercell/disp-006". +% for i in {000..006};do cd phelel/disp-$i; qsub _job.sh; cd ../..;done +``` + +Using the VASP results of the supercell calculations, derivatives of properties +are computed using the phelel code. The results are stored in a newly created +file `phelel/phelel_params.hdf5`. This process creates only +`phelel/phelel_params.hdf5` and is invoked by the following velph command: +``` +% velph phelel differentiate +Running finufft (eps=1.000e-06)... +Running finufft (eps=1.000e-06)... +Running finufft (eps=1.000e-06)... +"phelel/phelel_params.hdf5" has been made. +``` + +NAC parameters in `phelel/phelel_params.hdf5` comes from +`phelel/phelel_disp.yaml`, i.e., + +1. NAC parameters are stored in `phelel/phelel_disp.yaml` when + `phelel/phelel_disp.yaml` is created by `velph phelel init`. +2. NAC data in `phelel/phelel_disp.yaml` are transfered to + `phelel/phelel_params.hdf5` by `velph phelel differentiate`. + +Therefore, `nac` calculation has to exist in the initial step `velph phelel +init`. If the `nac` calculation is performed after the supercell calculation, +`velph phelel init` and `velph phelel differentiate` have to be re-executed to +store the NAC parameters in `phelel/phelel_params.hdf5`. diff --git a/_sources/velph-init.md b/_sources/velph-init.md new file mode 100644 index 0000000..96a2a99 --- /dev/null +++ b/_sources/velph-init.md @@ -0,0 +1,187 @@ +# `velph init` + +`velph init` with command options will generate modified `velph.toml` from the +template. +``` +% velph init [OPTIONS] CELL_FILENAME PROJECT_FOLDER +``` + +`velph init --help` shows short documents of the options. Two arguments have to +be specified, POSCAR-format crystal structure and directory name that is created +where `velph.toml` is stored. The available options are explained below. Some +options can be specified in `[init.options]` section of the velph-toml template +file (see {ref}`velph-init-template`). + +## `velph init` options + +### `--template-toml` + +Using this option, `velph.toml` like file is read as the template instead of the +template hard coded in velph code. + +### `--tolerance` + +This is used for the symmetry check tolerance in Angstrom. Symmetry is searched +always even without `--symmetrize`. + +### `--symmetrize` + +By default (no-symmetrize), the input POSCAR-type structure is simply used as +the unit cell. With `--symmetrize`, input POSCAR-type structure is symmetrized +and standardized conventional unit cell and primitive cell ("unitcell" and +"primitive_cell", respectively) are written in `velph.toml`. + +### `--no-find-primitive` + +By this option, the input POSCAR-type structure is used as the primitive cell +even if it is not a primitive cell. + +### `--kspacing` and `--kspacing-dense` + +Sampling k-point meshes are calculated from these values in the similar way to +VASP `KSPACING` definition by overwriting the template. + +### `--max-num-atoms` + +Supercell shape is determined so that its number of atoms is equal or less than +this number respecting the crystallographic point group. + +### `--phonopy-max-num-atoms` and `--phono3py-max-num-atoms` + +Supercell shapes for phonopy and phono3py are determined in the same manner as +`--max-num-atoms`. + +### `--cell-for-relax` + +This chooses unit cell or primitive cell for structure optimization (`relax`). +The default is `unitcell`. Specify `primitive` to use primitive cell. + +### `--cell-for-nac` + +This chooses unit cell or primitive cell for NAC calculation (`nac`). The +default is `primitive`. Specify `primitive` to use primitive cell. + +### `--primitive-cell-choice` + +Primitive cell choice, "standardized" (default) or "reduced". + +### `--use-grg` + +Use generalized regular grid. + +### `--amplitude` + +Distance of displacements in Angstrom. + +### `--magmom` + +String corresponding to INCAR MAGMOM tag value for unit cell, e.g., "24*1" or "0 +0 1". This is similar to `MAGMOM` tag in phonopy, see +https://phonopy.github.io/phonopy/setting-tags.html#magmom. In velph, the +asterisk symbol (`*`) is supported. + + +(velph-init-template)= +## `velph init` template + +`velph init` is the command to prepare `velph.toml`. Without specifying a +velph-toml-template, the default template is used. Custom template can be +specified as follows: + +``` +% velph init [OPTIONS] CELL_FILENAME PROJECT_FOLDER --template-toml velph-tmpl.toml +``` + +The `velph-tmpl.toml` (arbitrary file name) is almost like the `velph.toml` +file. It means that the `velph-tmpl.toml` may be created modifying +`velph.toml`. The sections that exist only in the `velph-tmpl.toml` but not in +`velph.toml` is `[init.options]`. This can be used as alternatives of command +options of `velph-init`, e.g., + +```toml +[init.options] +kspacing = 0.2 +kspacing_dense = 0.1 +max_num_atoms = 120 +``` + +These `[init.options]` keywords can be found along with the list of the command +options by + +``` +% velph init --help +``` + +## Settings in sections of `velph.toml` + +Note that the same can be applied to `velph-tmpl.toml`. + +### Default INCAR settings + +The default INCAR settins are written in `[vasp.incar]`. These settings are +overwritten by `[vasp.CALC_TYPE.incar]` (`CALC_TYPE` can be `phelel`, `relax`, +`nac`, `transport`, `phono3py`, `phono3py.phonon`, etc). + +### Scheduler settings + +The parameters used for generating the job submission script are specified as +strings in `[scheduler]`. If `[vasp.CALC_TYPE.scheduler]` is +specified, `[scheduler]` settings are overwritten by the settings for +`[vasp.CALC_TYPE]`. The content in this section operates through [Python string +formatting](https://docs.python.org/3/library/stdtypes.html#str.format), using +replacement fields named after keyword arguments. Each parameter line in the +`[scheduler]` section is treated as a keyword argument, which is then inserted +into the string format. + +In the `[scheduler]` section, the parameters `scheduler_name` and +`scheduler_template` have special roles: + +- `scheduler_name`: Specifies the template type, with options `slurm`, `sge`, or + `custom`. For `slurm` and `sge`, the template string (i.e., + `scheduler_template`) is + [hard-coded](https://github.com/phonopy/phelel/blob/develop/src/phelel/velph/utils/scheduler.py). + If `custom` is selected, the string provided by `scheduler_template` is used, + into which the parameters are inserted. +- `scheduler_template`: The string template where parameters defined in this + section are inserted. + +An example is shown below. + +```toml +[scheduler] +scheduler_name = "sge" +job_name = "PbTe" +mpirun_command = "mpirun" +vasp_binary = "/usr/local/cluster-1/bin/vasp_std" +pe = "vienna 32" +prepend_text = ''' +source /opt/intel/oneapi/setvars.sh --config="/home/togo/.oneapi-config" +''' + +... +[vasp.phelel.scheduler] +pe = "paris 24" + +... +[vasp.phonopy.scheduler] +scheduler_template = '''#!/bin/bash +#QSUB2 core 192 +#QSUB2 mpi 192 +#QSUB2 smp 1 +#QSUB2 wtime 48:00:00 +#PBS -N {job_name} +cd $PBS_O_WORKDIR + +{prepend_text} +{mpirun_command} {vasp_binary} | tee vasp_output +{append_text} +''' +job_name = "PbTe" +mpirun_command = "mpijob" +vasp_binary = "/usr/local/cluster-2/bin/vasp_std" +prepend_text = ''' +. /etc/profile.d/modules.sh +module load inteloneapi22u3 +''' +append_text = "" +``` diff --git a/_sources/velph-subcommands.md b/_sources/velph-subcommands.md new file mode 100644 index 0000000..1287cd4 --- /dev/null +++ b/_sources/velph-subcommands.md @@ -0,0 +1,52 @@ +# `velph` subcommands + +## `velph phelel` + +This command calculates the derivatives of local potentials and PAW strengths +with respect to displacement, performing similar operations as steps 1 and 3 +carried out by the `phelel` command in the {ref}`workflow `. + +### `velph phelel init` + +### `velph phelel generate` + +### `velph phelel differentiate` + +### `velph phelel phonopy` + +## `velph transport` + +### `velph transport generate` + +### `velph transport plot` + +## `velph relax` + +### `velph relax generate` + +## `velph nac` + +### `velph nac generate` + +## `velph el_bands` + +### `velph el_bands generate` +### `velph el_bands plot` + +## `velph ph_bands` + +### `velph ph_bands generate` + +### `velph ph_bands plot` + +## `velph phono3py` + +### `velph phono3py init` + +### `velph phono3py generate` + +## `velph phonopy` + +### `velph phonopy init` + +### `velph phonopy generate` diff --git a/changelog.html b/changelog.html index 8ec9713..ef729a8 100644 --- a/changelog.html +++ b/changelog.html @@ -46,7 +46,7 @@ - + @@ -141,6 +141,9 @@

  • Workflow of el-ph calculation
  • phelel command
  • velph command
  • +
  • velph init
  • +
  • velph subcommands
  • +
  • velph example
  • Change Log
  • @@ -338,12 +341,12 @@

    Dec-9-2024: Version 0.6.6

    previous

    -

    velph command

    +

    velph example

    diff --git a/genindex.html b/genindex.html index 1b4a73b..752e2ad 100644 --- a/genindex.html +++ b/genindex.html @@ -141,6 +141,9 @@
  • Workflow of el-ph calculation
  • phelel command
  • velph command
  • +
  • velph init
  • +
  • velph subcommands
  • +
  • velph example
  • Change Log
  • diff --git a/index.html b/index.html index 1368953..cd54089 100644 --- a/index.html +++ b/index.html @@ -143,6 +143,9 @@
  • Workflow of el-ph calculation
  • phelel command
  • velph command
  • +
  • velph init
  • +
  • velph subcommands
  • +
  • velph example
  • Change Log
  • diff --git a/install.html b/install.html index 174d122..2789634 100644 --- a/install.html +++ b/install.html @@ -142,6 +142,9 @@
  • Workflow of el-ph calculation
  • phelel command
  • velph command
  • +
  • velph init
  • +
  • velph subcommands
  • +
  • velph example
  • Change Log
  • diff --git a/objects.inv b/objects.inv index 673e4fe5b38c8c38b81c8d0f3cf216b60d83f6b8..ccd3edcd84e77e101eeb72efb8ada6a194d94442 100644 GIT binary patch delta 331 zcmV-R0kr;^1G@u|d4D}`!ypibcmE2cbakb!Svyr~BugDSMg%U#>H${3P4e%H4aA3S zwVmR7@1FNQf>7MFfVO4M%e}OM)h|qB@mYC|>~#v+yKO5`lp{X@u7TYXMOrYOk#H-C zti}#+<7YLOr8!7NqW}RziSrz>ESjWjGzHvu)>PWcjn4hO&VPx>9IPA=(hU97rxsRg zZY1qfW+ECjmb3&PDLl7bVuZbY77uLCGW~vNN4uW1~u$F(yFmAy{w^<#r1;yuz7g8AIHeWb zx;;tKDTo|hwnYEv_04wWeaj18?d9u?_DaXdTI~LrE9{wt*D|sk#gHC(!9Rv59Kt33 d=W*2GR+{5)UOB3B?IHaV!@xuDsvrGhlb2;UqQn3I delta 297 zcmV+^0oMMz1DOMmd4Dl)!ypiacmE2cbakb!Su<5?BugDSMief_>H$_vn&jUX`yl3G ztL5Xwl`0{T`AL2tEJqJ9x7i_a!l6uapt-h5jrW=Hu6xCAy&CDMZHoQ5kW zvPvCZ$KPtUr8x>mV*ml8We5_HnVA v5$}IwC8~3JHX@9_55W@R4*$zI*tn&Y_*+&!)!DmG-y$&b&=1uQ0FzVqRmhJE diff --git a/phelel-command.html b/phelel-command.html index d8f2f09..93740ff 100644 --- a/phelel-command.html +++ b/phelel-command.html @@ -142,6 +142,9 @@
  • Workflow of el-ph calculation
  • phelel command
  • velph command
  • +
  • velph init
  • +
  • velph subcommands
  • +
  • velph example
  • Change Log
  • diff --git a/search.html b/search.html index 3f94988..a216bf7 100644 --- a/search.html +++ b/search.html @@ -143,6 +143,9 @@
  • Workflow of el-ph calculation
  • phelel command
  • velph command
  • +
  • velph init
  • +
  • velph subcommands
  • +
  • velph example
  • Change Log
  • diff --git a/searchindex.js b/searchindex.js index 25ecb33..1cdc855 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"--amplitude": [[4, "amplitude"]], "--cd, --create-derivatives": [[3, "cd-create-derivatives"]], "--cell-for-nac": [[4, "cell-for-nac"]], "--cell-for-relax": [[4, "cell-for-relax"]], "--dim": [[3, "dim"]], "--kspacing and --kspacing-dense": [[4, "kspacing-and-kspacing-dense"]], "--magmom": [[4, "magmom"]], "--max-num-atoms": [[4, "max-num-atoms"]], "--no-find-primitive": [[4, "no-find-primitive"]], "--phonopy-max-num-atoms and --phono3py-max-num-atoms": [[4, "phonopy-max-num-atoms-and-phono3py-max-num-atoms"]], "--pm": [[3, "pm"]], "--primitive-cell-choice": [[4, "primitive-cell-choice"]], "--symmetrize": [[4, "symmetrize"]], "--template-toml": [[4, "template-toml"]], "--tolerance": [[4, "tolerance"]], "--use-grg": [[4, "use-grg"]], "-c, --cell": [[3, "c-cell"]], "-d": [[3, "d"]], "Additional steps (Optional)": [[5, "additional-steps-optional"]], "Calculation of derivatives of potentials": [[3, "calculation-of-derivatives-of-potentials"]], "Change Log": [[0, null]], "Contributors": [[1, "contributors"]], "Dec-31-2024: Version 0.7.0": [[0, "dec-31-2024-version-0-7-0"]], "Dec-9-2024: Version 0.6.6": [[0, "dec-9-2024-version-0-6-6"]], "Default INCAR settings": [[4, "default-incar-settings"]], "Example (NiTiSn)": [[4, "example-nitisn"]], "Generation of displacements in supercell": [[3, "generation-of-displacements-in-supercell"]], "Installation": [[2, null]], "Installation from source code": [[2, "installation-from-source-code"]], "Jan-5-2025: Version 0.8.0": [[0, "jan-5-2025-version-0-8-0"]], "License": [[1, "license"]], "Listing velph subcommands": [[4, "listing-velph-subcommands"]], "Minimal calculation steps": [[5, "minimal-calculation-steps"]], "Phelel": [[1, null]], "Requirement": [[2, "requirement"]], "Scheduler settings": [[4, "scheduler-settings"]], "Settings in sections of velph.toml": [[4, "settings-in-sections-of-velph-toml"]], "Shell completion of velph command": [[2, "shell-completion-of-velph-command"]], "What does the velph command do?": [[4, "what-does-the-velph-command-do"]], "Workflow of el-ph calculation": [[5, null]], "phelel and velph commands": [[2, "phelel-and-velph-commands"]], "phelel command": [[3, null]], "velph command": [[4, null]], "velph command operations": [[4, "velph-command-operations"]], "velph hints": [[4, "velph-hints"]], "velph init": [[4, "velph-init"]], "velph init template": [[4, "velph-init-template"]]}, "docnames": ["changelog", "index", "install", "phelel-command", "velph-command", "workflow"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["changelog.md", "index.md", "install.md", "phelel-command.md", "velph-command.md", "workflow.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"0": [3, 4], "00": 4, "000": [3, 4], "000000000000000": 4, "000e": 4, "001": [3, 4], "002": [3, 4], "003": [3, 4], "004": [3, 4], "005": 4, "006": 4, "01": 4, "01gpa": 4, "02aug2007": 4, "03": 4, "05": 4, "06": 4, "06sep2000": 4, "08": 4, "094316": 1, "1": [3, 4], "10": 4, "100": [1, 4], "106": 1, "11": 4, "118": 4, "12": 4, "120": 4, "144": 4, "174304": 1, "18": 4, "192": 4, "1e": 4, "1kb": 4, "2": [3, 4], "2019": 1, "2022": 1, "24": 4, "250000000000000": 4, "26sep2005": 4, "274": 4, "3": [1, 3, 4], "32": 4, "4": [4, 5], "43m": 4, "47": 4, "48": 4, "5": 4, "500": 4, "500000000000000": 4, "520": 4, "58": 4, "6": 4, "61": 4, "693400": 4, "7": 4, "710000": 4, "750000000000000": 4, "8": 4, "867000": 4, "9": 4, "906882041566931": 4, "949975748250650": 4, "953441020783465": 4, "A": [1, 2, 4], "By": 4, "For": [2, 3, 4, 5], "If": [3, 4], "In": 4, "It": [3, 4], "The": [2, 3, 4], "Their": [2, 3], "These": 4, "To": 5, "With": [3, 4], "_job": 4, "_velph_complet": 2, "about": 3, "accur": 4, "activ": 2, "addition": [2, 3, 5], "after": [2, 3, 4, 5], "all": 4, "almost": 4, "along": 4, "also": 2, "altern": 4, "alwai": 4, "among": 3, "an": [2, 3, 4], "analyz": 4, "angstrom": 4, "append_text": 4, "appli": [3, 4, 5], "ar": [2, 3, 4], "arbitrari": 4, "arg": 4, "argument": 4, "asterisk": 4, "atom": 5, "atsushi": 1, "auto": 3, "avail": [2, 4], "axi": 3, "b": [1, 4], "back": 4, "band": [2, 4, 5], "bandgap": 1, "base": 5, "bash": [2, 4], "bash_sourc": 2, "bashrc": 2, "basic": 4, "becom": 4, "been": 4, "befor": 5, "below": 4, "bin": 4, "born": [4, 5], "both": [3, 5], "bsd": 1, "c": [2, 4], "calc": 4, "calc_typ": 4, "calcul": [1, 2, 4], "can": [3, 4, 5], "cannot": 1, "carla": 1, "cd": [2, 4], "cell": 5, "cell_filenam": 4, "cetain": 3, "chang": 4, "chaput": 1, "charg": [4, 5], "check": 4, "choos": [2, 4], "class": 0, "claus": 1, "click": 2, "clone": 2, "cluster": 4, "code": [1, 4], "coeffici": 5, "collect": [0, 3], "com": 2, "combin": 3, "come": 4, "command": [0, 5], "comput": [1, 3, 4, 5], "conda": 2, "conda_prefix": 2, "conduct": [4, 5], "config": 4, "configur": [2, 3], "constant": [4, 5], "contain": 3, "contcar": 4, "content": 4, "contribut": 5, "conveni": 4, "convent": 4, "coordin": 4, "copi": 4, "core": 4, "correspond": [3, 4], "coupl": 1, "creat": [2, 4], "crystal": [3, 4], "crystallograph": 4, "current": [3, 4], "custom": 4, "d": [2, 4], "data": [3, 4], "defin": [3, 4], "definit": 4, "demonstr": 3, "densiti": [4, 5], "deriv": [4, 5], "describ": 2, "determin": [3, 4], "diagon": [3, 4], "dielectr": [4, 5], "differenti": 4, "dipol": 5, "direct": [3, 4], "directori": [3, 4], "disp": [3, 4], "dispac": 3, "displac": [1, 4, 5], "distanc": 4, "do": 0, "document": [0, 3, 4], "done": 4, "e": [2, 3, 4], "each": [3, 4], "ediff": 4, "ediffg": 4, "effect": [4, 5], "el": [0, 3, 4], "el_band": [2, 4], "electr": 5, "electron": [1, 2, 4, 5], "element": 3, "elph_nband": 0, "elph_selfen_band_stop": 0, "enabl": 5, "encut": 4, "engel": 1, "enmax": 4, "env_var": 2, "environ": 2, "ep": 4, "equal": 4, "equival": 3, "estim": 0, "etc": [2, 4], "eval": 2, "even": 4, "exactli": 3, "exampl": [2, 3], "execut": [3, 4], "exist": 4, "exit": 4, "explain": 4, "extend": 3, "f": 4, "factor": 3, "fals": 4, "few": 1, "fft_mesh": 4, "field": 4, "figur": 5, "file": [2, 3, 4], "finit": 1, "finufft": [2, 4], "first": 3, "folder": 4, "follow": [0, 2, 3, 4], "forg": 2, "format": [3, 4], "found": 4, "from": [0, 3, 4], "further": 2, "g": [2, 3, 4], "gather": 5, "gener": [2, 4, 5], "georg": 1, "git": 2, "github": [2, 4], "given": 3, "go": 4, "grid": 4, "group": 4, "h": 4, "ha": 4, "hard": 4, "have": [3, 4], "hdf5": [3, 4], "help": [4, 5], "henriqu": 1, "here": 3, "hint": 2, "home": 4, "html": 4, "http": [2, 4], "i": [0, 2, 3, 4], "ibrion": 4, "implement": 2, "includ": [3, 5], "incorpor": 5, "indic": 3, "inform": 3, "init": 2, "initi": [2, 4, 5], "input": [3, 4, 5], "insert": 4, "instanc": 5, "instead": [0, 4], "institut": 1, "integ": 3, "intel": 4, "intel64": 4, "inteloneapi22u3": 4, "interact": [1, 4, 5], "introduc": 3, "invok": 4, "io": 4, "isao": 1, "isif": 4, "ismear": 4, "isym": 4, "iter": 4, "iter1": 4, "iter2": 4, "its": 4, "job": 4, "job_nam": 4, "k": 4, "kei": 2, "keyword": 4, "kpar": 4, "kpoint": 4, "kpoints_dens": 4, "kress": 1, "kspacing_dens": 4, "l": 4, "lattic": [4, 5], "laurent": 1, "lcharg": 4, "lepsilon": 4, "less": 4, "like": 4, "line": [2, 3, 4], "list": 2, "load": 4, "local": [3, 4, 5], "locat": 4, "long": 5, "lreal": 4, "lwap": 4, "lwave": 4, "made": 4, "mai": 4, "mainten": 0, "major": 0, "make": 2, "manag": 5, "manner": 4, "manuel": 1, "marsman": 1, "martijn": 1, "mass": 4, "materi": 1, "matrix": [3, 4], "max_num_atom": 4, "mean": [3, 4], "merit": 5, "mesh": 4, "messag": 4, "method": 1, "minor": 0, "miranda": 1, "mode": [0, 3], "modifi": 4, "modul": 4, "monitor": 5, "mpi": 4, "mpijob": 4, "mpirun": 4, "mpirun_command": 4, "n": [2, 4], "nac": 2, "name": [3, 4], "nation": 1, "ncore": 4, "necessari": 3, "need": 5, "new": 4, "newli": 4, "next": [2, 3], "ni": 4, "nine": 3, "note": 4, "nsw": 4, "number": 4, "obtain": [3, 5], "one": 3, "oneapi": 4, "onli": [1, 3, 4], "oper": 3, "opposit": 3, "opt": 4, "optim": 4, "option": [2, 3, 4], "orchestr": 4, "order": 3, "overwrit": 4, "overwritten": 4, "pa": 3, "packag": 2, "parallel": 3, "param": 4, "paramet": [4, 5], "pari": 4, "particularli": 5, "paw": [3, 5], "paw_pb": 4, "pb": 4, "pbs_o_workdir": 4, "pbte": 4, "pe": 4, "perform": [3, 4, 5], "ph": [3, 4], "ph_band": [2, 4], "phelel": [0, 4, 5], "phelel_disp": [3, 4], "phelel_param": [3, 4], "phono3pi": 2, "phonon": [1, 2, 3, 4, 5], "phonopi": [0, 2, 3], "phy": 1, "pip": 2, "plusminu": 4, "point": 4, "popular": 2, "poscar": [2, 3, 4], "poscar_ti4sn4ni4": 4, "potcar": 4, "potenti": 5, "prec": 4, "prefer": 4, "prepar": 4, "prepend_text": 4, "primit": 2, "primitive_cel": 4, "primitive_matrix": 4, "process": 4, "profil": 4, "project": 4, "project_fold": 4, "properti": [1, 4, 5], "provid": [1, 2, 3, 4], "push": 2, "pypi": 2, "python": 4, "qsub": 4, "qsub2": 4, "quantiti": 5, "quick": 4, "rang": 5, "re": 4, "read": [3, 4], "recommend": 3, "reduc": 4, "refactor": 0, "refer": 4, "regular": 4, "relat": [1, 5], "relax": 2, "releas": 0, "reli": 2, "reload": 2, "renorm": 1, "replac": 4, "report": 1, "repres": 3, "requir": [4, 5], "respect": [2, 3, 4, 5], "result": [3, 4, 5], "rev": 1, "role": 4, "run": [3, 4], "same": 4, "sampl": 4, "scheduler_nam": 4, "scheduler_templ": 4, "scienc": 1, "script": 4, "search": 4, "section": 2, "see": [2, 4], "seebeck": 5, "seekpath": 2, "select": [3, 4], "selfenergi": [2, 4], "sequenc": 4, "sequenti": 3, "seri": 4, "set": 2, "settin": 4, "setvar": 4, "sge": 4, "sh": [2, 4], "shape": [3, 4], "short": 4, "show": [2, 4], "shown": 4, "sigma": 4, "similar": 4, "simplest": 2, "simpli": [3, 4], "slurm": 4, "smp": 4, "sn": 4, "sn_d": 4, "so": [3, 4], "some": 4, "sourc": 4, "spacegroup_typ": 4, "special": 4, "specif": 4, "specifi": [3, 4], "spglib": 2, "sposcar": 3, "standard": 4, "start": 4, "state": [4, 5], "step": [3, 4], "store": [3, 4], "strenght": 3, "strength": [3, 5], "stress": 4, "string": 4, "structur": [2, 3, 4, 5], "sub": 2, "submiss": 4, "subsequ": 4, "supercel": [2, 4, 5], "supercell_dimens": 4, "support": [2, 4], "symbol": 4, "symmetr": 3, "symmetri": [3, 4], "systemat": [3, 4], "tab": 2, "tag": 4, "tail": 4, "tanaka": 1, "tee": 4, "than": 4, "thei": 3, "therefor": 4, "thermal": [4, 5], "thermoelectr": [1, 5], "thi": [1, 3, 4], "those": 3, "three": 3, "through": 4, "ti": 4, "ti4sn4ni4": 4, "ti_sv": 4, "tinisn": 4, "tmpl": 4, "togo": [1, 4], "tomli": 2, "tool": [3, 4], "top": 4, "transfer": 4, "transform": 4, "transport": [0, 2, 4], "treat": 4, "trigger": 3, "true": 4, "two": [3, 4], "type": 4, "under": [3, 5], "unit": [3, 4, 5], "unitcel": [2, 3, 4], "unless": 3, "until": 4, "updat": 0, "us": [1, 2, 3, 5], "usag": [2, 3, 4], "usr": 4, "util": 4, "valu": [3, 4], "vasp": [1, 3, 4, 5], "vasp_binari": 4, "vasp_output": 4, "vasp_std": 4, "velph": [0, 5], "verdi": 1, "version": 4, "vienna": 4, "w": 2, "wa": 4, "wai": 4, "well": 5, "were": [3, 4], "when": 4, "where": 4, "which": [2, 3, 4], "whose": 4, "without": 4, "workflow": [3, 4], "write": [2, 4], "written": 4, "wtime": 4, "yaml": [3, 4], "you": 4, "zsh": 2, "zsh_sourc": 2, "zshrc": 2}, "titles": ["Change Log", "Phelel", "Installation", "phelel command", "velph command", "Workflow of el-ph calculation"], "titleterms": {"0": 0, "2024": 0, "2025": 0, "31": 0, "5": 0, "6": 0, "7": 0, "8": 0, "9": 0, "addit": 5, "amplitud": 4, "atom": 4, "c": 3, "calcul": [3, 5], "cd": 3, "cell": [3, 4], "chang": 0, "choic": 4, "code": 2, "command": [2, 3, 4], "complet": 2, "contributor": 1, "creat": 3, "d": 3, "dec": 0, "default": 4, "dens": 4, "deriv": 3, "dim": 3, "displac": 3, "do": 4, "doe": 4, "el": 5, "exampl": 4, "find": 4, "from": 2, "gener": 3, "grg": 4, "hint": 4, "incar": 4, "init": 4, "instal": 2, "jan": 0, "kspace": 4, "licens": 1, "list": 4, "log": 0, "magmom": 4, "max": 4, "minim": 5, "nac": 4, "nitisn": 4, "num": 4, "oper": 4, "option": 5, "ph": 5, "phelel": [1, 2, 3], "phono3pi": 4, "phonopi": 4, "pm": 3, "potenti": 3, "primit": 4, "relax": 4, "requir": 2, "schedul": 4, "section": 4, "set": 4, "shell": 2, "sourc": 2, "step": 5, "subcommand": 4, "supercel": 3, "symmetr": 4, "templat": 4, "toler": 4, "toml": 4, "us": 4, "velph": [2, 4], "version": 0, "what": 4, "workflow": 5}}) \ No newline at end of file +Search.setIndex({"alltitles": {"--amplitude": [[6, "amplitude"]], "--cd, --create-derivatives": [[3, "cd-create-derivatives"]], "--cell-for-nac": [[6, "cell-for-nac"]], "--cell-for-relax": [[6, "cell-for-relax"]], "--dim": [[3, "dim"]], "--kspacing and --kspacing-dense": [[6, "kspacing-and-kspacing-dense"]], "--magmom": [[6, "magmom"]], "--max-num-atoms": [[6, "max-num-atoms"]], "--no-find-primitive": [[6, "no-find-primitive"]], "--phonopy-max-num-atoms and --phono3py-max-num-atoms": [[6, "phonopy-max-num-atoms-and-phono3py-max-num-atoms"]], "--pm": [[3, "pm"]], "--primitive-cell-choice": [[6, "primitive-cell-choice"]], "--symmetrize": [[6, "symmetrize"]], "--template-toml": [[6, "template-toml"]], "--tolerance": [[6, "tolerance"]], "--use-grg": [[6, "use-grg"]], "-c, --cell": [[3, "c-cell"]], "-d": [[3, "d"]], "Additional steps (Optional)": [[8, "additional-steps-optional"]], "Calculation of derivatives of potentials": [[3, "calculation-of-derivatives-of-potentials"]], "Change Log": [[0, null]], "Contributors": [[1, "contributors"]], "Dec-31-2024: Version 0.7.0": [[0, "dec-31-2024-version-0-7-0"]], "Dec-9-2024: Version 0.6.6": [[0, "dec-9-2024-version-0-6-6"]], "Default INCAR settings": [[6, "default-incar-settings"]], "Generation of displacements in supercell": [[3, "generation-of-displacements-in-supercell"]], "Installation": [[2, null]], "Installation from source code": [[2, "installation-from-source-code"]], "Jan-5-2025: Version 0.8.0": [[0, "jan-5-2025-version-0-8-0"]], "License": [[1, "license"]], "Listing velph subcommands": [[4, "listing-velph-subcommands"]], "Minimal calculation steps": [[8, "minimal-calculation-steps"]], "NiTiSn": [[5, "nitisn"]], "Phelel": [[1, null]], "Requirement": [[2, "requirement"]], "Scheduler settings": [[6, "scheduler-settings"]], "Settings in sections of velph.toml": [[6, "settings-in-sections-of-velph-toml"]], "Shell completion of velph command": [[2, "shell-completion-of-velph-command"]], "What does the velph command do?": [[4, "what-does-the-velph-command-do"]], "Workflow of el-ph calculation": [[8, null]], "phelel and velph commands": [[2, "phelel-and-velph-commands"]], "phelel command": [[3, null]], "velph command": [[4, null]], "velph el_bands": [[7, "velph-el-bands"]], "velph el_bands generate": [[7, "velph-el-bands-generate"]], "velph el_bands plot": [[7, "velph-el-bands-plot"]], "velph example": [[5, null]], "velph hints": [[4, "velph-hints"]], "velph init": [[6, null]], "velph init options": [[6, "velph-init-options"]], "velph init template": [[6, "velph-init-template"]], "velph nac": [[7, "velph-nac"]], "velph nac generate": [[7, "velph-nac-generate"]], "velph ph_bands": [[7, "velph-ph-bands"]], "velph ph_bands generate": [[7, "velph-ph-bands-generate"]], "velph ph_bands plot": [[7, "velph-ph-bands-plot"]], "velph phelel": [[7, "velph-phelel"]], "velph phelel differentiate": [[7, "velph-phelel-differentiate"]], "velph phelel generate": [[7, "velph-phelel-generate"]], "velph phelel init": [[7, "velph-phelel-init"]], "velph phelel phonopy": [[7, "velph-phelel-phonopy"]], "velph phono3py": [[7, "velph-phono3py"]], "velph phono3py generate": [[7, "velph-phono3py-generate"]], "velph phono3py init": [[7, "velph-phono3py-init"]], "velph phonopy": [[7, "velph-phonopy"]], "velph phonopy generate": [[7, "velph-phonopy-generate"]], "velph phonopy init": [[7, "velph-phonopy-init"]], "velph relax": [[7, "velph-relax"]], "velph relax generate": [[7, "velph-relax-generate"]], "velph subcommands": [[7, null]], "velph transport": [[7, "velph-transport"]], "velph transport generate": [[7, "velph-transport-generate"]], "velph transport plot": [[7, "velph-transport-plot"]]}, "docnames": ["changelog", "index", "install", "phelel-command", "velph-command", "velph-example", "velph-init", "velph-subcommands", "workflow"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["changelog.md", "index.md", "install.md", "phelel-command.md", "velph-command.md", "velph-example.md", "velph-init.md", "velph-subcommands.md", "workflow.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"0": [3, 5, 6], "00": 6, "000": [3, 5], "000000000000000": 5, "000e": 5, "001": [3, 5], "002": [3, 5], "003": [3, 5], "004": [3, 5], "005": 5, "006": 5, "01": 5, "01gpa": 5, "02aug2007": 5, "03": 5, "05": 5, "06": 5, "06sep2000": 5, "08": 5, "094316": 1, "1": [3, 5, 6, 7], "10": 5, "100": [1, 5], "106": 1, "11": 5, "118": 5, "12": 5, "120": 6, "144": 5, "174304": 1, "18": 5, "192": 6, "1e": 5, "1kb": 5, "2": [3, 5, 6], "2019": 1, "2022": 1, "24": 6, "250000000000000": 5, "26sep2005": 5, "274": 5, "3": [1, 3, 5, 7], "32": [5, 6], "4": [5, 8], "43m": 5, "47": 5, "48": [5, 6], "5": 5, "500": 5, "500000000000000": 5, "520": 5, "58": 5, "6": 5, "61": 5, "693400": 5, "7": 5, "710000": 5, "750000000000000": 5, "8": 5, "867000": 5, "9": 5, "906882041566931": 5, "949975748250650": 5, "953441020783465": 5, "A": [1, 2, 5], "By": 6, "For": [2, 3, 6, 8], "If": [3, 5, 6], "In": 6, "It": [3, 6], "The": [2, 3, 4, 5, 6], "Their": [2, 3], "These": [4, 6], "To": 8, "With": [3, 6], "_job": 5, "_velph_complet": 2, "about": 3, "accur": 5, "activ": 2, "addition": [2, 3, 8], "after": [2, 3, 5, 6, 8], "all": 4, "almost": 6, "along": 6, "also": 2, "altern": 6, "alwai": 6, "among": 3, "amplitud": 5, "an": [2, 3, 4, 6], "analyz": 4, "angstrom": 6, "append_text": [5, 6], "appli": [3, 6, 8], "ar": [2, 3, 4, 5, 6], "arbitrari": 6, "arg": 4, "argument": 6, "asterisk": 6, "atom": 8, "atsushi": 1, "auto": 3, "avail": [2, 6], "axi": 3, "b": [1, 5], "back": 5, "band": [2, 4, 8], "bandgap": 1, "base": 8, "bash": [2, 6], "bash_sourc": 2, "bashrc": 2, "basic": 5, "becom": 5, "been": 5, "befor": 8, "below": [5, 6], "bin": [5, 6], "born": [4, 8], "both": [3, 8], "bsd": 1, "c": [2, 5], "calc": 5, "calc_typ": 6, "calcul": [1, 2, 4, 5, 6, 7], "can": [3, 4, 6, 8], "cannot": 1, "carla": 1, "carri": 7, "cd": [2, 5, 6], "cell": [5, 8], "cell_filenam": 6, "cetain": 3, "chang": 5, "chaput": 1, "charg": [4, 8], "check": 6, "choic": 5, "choos": [2, 4, 6], "class": 0, "claus": 1, "click": 2, "clone": 2, "cluster": 6, "code": [1, 4, 5, 6], "coeffici": 8, "collect": [0, 3], "com": 2, "combin": 3, "come": 5, "command": [0, 5, 6, 7, 8], "comput": [1, 3, 5, 8], "conda": 2, "conda_prefix": 2, "conduct": [4, 8], "config": [5, 6], "configur": [2, 3], "constant": [4, 8], "contain": 3, "contcar": 5, "content": 6, "contribut": 8, "conveni": 4, "convent": 6, "coordin": 5, "copi": 5, "core": 6, "correspond": [3, 6], "coupl": 1, "creat": [2, 5, 6], "crystal": [3, 5, 6], "crystallograph": 6, "current": [3, 5], "custom": 6, "d": [2, 6], "data": [3, 4, 5], "defin": [3, 6], "definit": 6, "demonstr": 3, "densiti": [4, 8], "deriv": [5, 7, 8], "describ": 2, "determin": [3, 6], "diagon": [3, 5], "dielectr": [4, 8], "differenti": 5, "dipol": 8, "direct": [3, 5], "directori": [3, 5, 6], "disp": [3, 5], "dispac": 3, "displac": [1, 6, 7, 8], "distanc": 6, "do": [0, 5], "document": [0, 3, 6], "done": 5, "e": [2, 3, 5, 6], "each": [3, 6], "ediff": 5, "ediffg": 5, "effect": [4, 8], "el": [0, 3, 4], "el_band": [2, 4, 5], "electr": 8, "electron": [1, 2, 4, 8], "element": 3, "elph_nband": 0, "elph_selfen_band_stop": 0, "enabl": 8, "encut": 5, "engel": 1, "enmax": 5, "env_var": 2, "environ": 2, "ep": 5, "equal": 6, "equival": 3, "estim": 0, "etc": [2, 6], "eval": 2, "even": 6, "exactli": 3, "exampl": [2, 3, 6], "execut": [3, 4, 5], "exist": [5, 6], "exit": 4, "explain": 6, "extend": 3, "f": 5, "factor": 3, "fals": 5, "few": 1, "fft_mesh": 5, "field": 6, "figur": 8, "file": [2, 3, 4, 5, 6], "finit": 1, "finufft": [2, 5], "first": 3, "folder": 5, "follow": [0, 2, 3, 5, 6], "forg": 2, "format": [3, 6], "found": [5, 6], "from": [0, 3, 5, 6], "further": 2, "g": [2, 3, 6], "gather": 8, "gener": [2, 4, 5, 6, 8], "georg": 1, "git": 2, "github": [2, 6], "given": 3, "go": 5, "grid": 6, "group": 6, "h": 4, "ha": 5, "hard": 6, "have": [3, 5, 6], "hdf5": [3, 5], "help": [4, 6, 8], "henriqu": 1, "here": 3, "hint": 2, "home": [5, 6], "html": 6, "http": [2, 6], "i": [0, 2, 3, 4, 5, 6], "ibrion": 5, "implement": 2, "incar": 5, "includ": [3, 8], "incorpor": 8, "indic": 3, "inform": 3, "init": [2, 4, 5], "initi": [2, 4, 5, 8], "input": [3, 4, 5, 6, 8], "insert": 6, "instanc": 8, "instead": [0, 6], "institut": 1, "integ": 3, "intel": [5, 6], "intel64": 5, "inteloneapi22u3": 6, "interact": [1, 4, 8], "introduc": 3, "invok": 5, "io": 6, "isao": 1, "isif": 5, "ismear": 5, "isym": 5, "iter": 5, "iter1": 5, "iter2": 5, "its": 6, "job": 6, "job_nam": [5, 6], "k": 6, "kei": 2, "keyword": 6, "kpar": 5, "kpoint": 5, "kpoints_dens": 5, "kress": 1, "kspace": 5, "kspacing_dens": [5, 6], "l": 5, "lattic": [4, 5, 8], "laurent": 1, "lcharg": 5, "lepsilon": 5, "less": [5, 6], "like": 6, "line": [2, 3, 4, 6], "list": [2, 6], "load": 6, "local": [3, 5, 6, 7, 8], "locat": 5, "long": 8, "lreal": 5, "lwap": 5, "lwave": 5, "made": 5, "mai": 6, "mainten": 0, "major": 0, "make": 2, "manag": 8, "manner": 6, "manuel": 1, "marsman": 1, "martijn": 1, "mass": 5, "materi": 1, "matrix": [3, 5], "max": 5, "max_num_atom": [5, 6], "mean": [3, 6], "merit": 8, "mesh": [5, 6], "messag": 4, "method": 1, "minor": 0, "miranda": 1, "mode": [0, 3], "modifi": 6, "modul": 6, "monitor": 8, "mpi": [5, 6], "mpijob": 6, "mpirun": [5, 6], "mpirun_command": [5, 6], "n": [2, 5, 6], "nac": [2, 4, 5], "name": [3, 6], "nation": 1, "ncore": 5, "necessari": 3, "need": 8, "new": 5, "newli": 5, "next": [2, 3], "ni": 5, "nine": 3, "note": 6, "nsw": 5, "number": 6, "obtain": [3, 8], "one": 3, "oneapi": [5, 6], "onli": [1, 3, 5, 6], "oper": [3, 6, 7], "opposit": 3, "opt": [5, 6], "optim": [5, 6], "option": [2, 3, 4, 5], "orchestr": 4, "order": 3, "out": 7, "overwrit": 6, "overwritten": 6, "pa": 3, "packag": 2, "parallel": 3, "param": 5, "paramet": [5, 6, 8], "pari": 6, "particularli": 8, "paw": [3, 7, 8], "paw_pb": 5, "pb": 6, "pbs_o_workdir": 6, "pbte": 6, "pe": [5, 6], "perform": [3, 4, 5, 7, 8], "ph": [3, 4], "ph_band": [2, 4], "phelel": [0, 4, 5, 6, 8], "phelel_disp": [3, 5], "phelel_param": [3, 5], "phono3pi": [2, 4], "phonon": [1, 2, 3, 4, 6, 8], "phonopi": [0, 2, 3, 4], "phy": 1, "pip": 2, "plusminu": 5, "point": [5, 6], "popular": 2, "poscar": [2, 3, 4, 5, 6], "poscar_ti4sn4ni4": 5, "potcar": 5, "potenti": [7, 8], "prec": 5, "prefer": 5, "prepar": 6, "prepend_text": [5, 6], "primit": [2, 4, 5], "primitive_cel": [5, 6], "primitive_matrix": 5, "process": 5, "profil": 6, "project": 4, "project_fold": 6, "properti": [1, 5, 8], "provid": [1, 2, 3, 4, 6], "push": 2, "pypi": 2, "python": 6, "qsub": 5, "qsub2": 6, "quantiti": 8, "quick": 4, "rang": 8, "re": 5, "read": [3, 5, 6], "recommend": 3, "reduc": 6, "refactor": 0, "refer": 4, "regular": 6, "relat": [1, 8], "relax": [2, 4, 5], "releas": 0, "reli": 2, "reload": 2, "renorm": 1, "replac": 6, "report": 1, "repres": 3, "requir": [4, 8], "respect": [2, 3, 5, 6, 7, 8], "result": [3, 4, 5, 8], "rev": 1, "role": 6, "run": [3, 4, 5], "same": 6, "sampl": 6, "schedul": 5, "scheduler_nam": [5, 6], "scheduler_templ": 6, "scienc": 1, "script": 6, "search": 6, "section": [2, 5], "see": [2, 4, 6], "seebeck": 8, "seekpath": 2, "select": [3, 6], "selfenergi": [2, 4, 5], "sequenc": 4, "sequenti": 3, "seri": 4, "set": [2, 5], "settin": 6, "setvar": [5, 6], "sge": [5, 6], "sh": [2, 5, 6], "shape": [3, 6], "short": 6, "show": [2, 4, 6], "shown": 6, "sigma": 5, "similar": [6, 7], "simplest": 2, "simpli": [3, 4, 6], "slurm": 6, "smp": 6, "sn": 5, "sn_d": 5, "so": [3, 6], "some": 6, "sourc": [5, 6], "spacegroup_typ": 5, "special": 6, "specif": 4, "specifi": [3, 6], "spglib": 2, "sposcar": 3, "standard": 6, "start": 5, "state": [4, 8], "step": [3, 4, 5, 7], "store": [3, 5, 6], "strenght": 3, "strength": [3, 7, 8], "stress": 5, "string": 6, "structur": [2, 3, 4, 5, 6, 8], "sub": 2, "submiss": 6, "subsequ": 4, "supercel": [2, 4, 5, 6, 8], "supercell_dimens": 5, "support": [2, 4, 6], "symbol": [5, 6], "symmetr": 3, "symmetri": [3, 5, 6], "systemat": [3, 4], "tab": 2, "tag": 6, "tail": 5, "tanaka": 1, "tee": 6, "templat": 5, "than": [5, 6], "thei": 3, "therefor": 5, "thermal": [4, 8], "thermoelectr": [1, 8], "thi": [1, 3, 4, 5, 6, 7], "those": 3, "three": 3, "through": 6, "ti": 5, "ti4sn4ni4": 5, "ti_sv": 5, "tinisn": 5, "tmpl": [5, 6], "togo": [1, 5, 6], "toler": 5, "toml": 5, "tomli": 2, "tool": [3, 4], "top": 5, "transfer": 5, "transform": 5, "transport": [0, 2, 4, 5, 6], "treat": 6, "trigger": 3, "true": 5, "two": [3, 6], "type": [4, 6], "under": [3, 8], "unit": [3, 6, 8], "unitcel": [2, 3, 4, 5, 6], "unless": 3, "until": 5, "updat": 0, "us": [1, 2, 3, 4, 5, 8], "usag": [2, 3, 4], "usr": [5, 6], "util": 4, "valu": [3, 5, 6], "vasp": [1, 3, 4, 5, 6, 8], "vasp_binari": [5, 6], "vasp_output": 6, "vasp_std": [5, 6], "velph": [0, 8], "verdi": 1, "version": 5, "vienna": [5, 6], "w": 2, "wa": 5, "wai": 6, "well": 8, "were": [3, 5], "when": 5, "where": 6, "which": [2, 3, 4, 6], "whose": 5, "without": 6, "workflow": [3, 4, 7], "write": [2, 4], "written": [5, 6], "wtime": 6, "yaml": [3, 5], "you": 4, "zsh": 2, "zsh_sourc": 2, "zshrc": 2}, "titles": ["Change Log", "Phelel", "Installation", "phelel command", "velph command", "velph example", "velph init", "velph subcommands", "Workflow of el-ph calculation"], "titleterms": {"0": 0, "2024": 0, "2025": 0, "31": 0, "5": 0, "6": 0, "7": 0, "8": 0, "9": 0, "addit": 8, "amplitud": 6, "atom": 6, "c": 3, "calcul": [3, 8], "cd": 3, "cell": [3, 6], "chang": 0, "choic": 6, "code": 2, "command": [2, 3, 4], "complet": 2, "contributor": 1, "creat": 3, "d": 3, "dec": 0, "default": 6, "dens": 6, "deriv": 3, "differenti": 7, "dim": 3, "displac": 3, "do": 4, "doe": 4, "el": 8, "el_band": 7, "exampl": 5, "find": 6, "from": 2, "gener": [3, 7], "grg": 6, "hint": 4, "incar": 6, "init": [6, 7], "instal": 2, "jan": 0, "kspace": 6, "licens": 1, "list": 4, "log": 0, "magmom": 6, "max": 6, "minim": 8, "nac": [6, 7], "nitisn": 5, "num": 6, "option": [6, 8], "ph": 8, "ph_band": 7, "phelel": [1, 2, 3, 7], "phono3pi": [6, 7], "phonopi": [6, 7], "plot": 7, "pm": 3, "potenti": 3, "primit": 6, "relax": [6, 7], "requir": 2, "schedul": 6, "section": 6, "set": 6, "shell": 2, "sourc": 2, "step": 8, "subcommand": [4, 7], "supercel": 3, "symmetr": 6, "templat": 6, "toler": 6, "toml": 6, "transport": 7, "us": 6, "velph": [2, 4, 5, 6, 7], "version": 0, "what": 4, "workflow": 8}}) \ No newline at end of file diff --git a/velph-command.html b/velph-command.html index feab71e..4eb7efd 100644 --- a/velph-command.html +++ b/velph-command.html @@ -46,7 +46,7 @@ - + @@ -142,6 +142,9 @@
  • Workflow of el-ph calculation
  • phelel command
  • velph command
  • +
  • velph init
  • +
  • velph subcommands
  • +
  • velph example
  • Change Log
  • @@ -290,33 +293,7 @@

    Contents

    @@ -378,643 +355,13 @@

    Listing velph -
    -

    velph command operations#

    -

    velph hints#

    +

    velph hints#

    This command provides a quick reference of calculation steps.

    % velph hints
     
    -
    -

    velph init#

    -

    velph init with command options will generate modified velph.toml from the -template.

    -
    % velph init [OPTIONS] CELL_FILENAME PROJECT_FOLDER
    -
    -
    -

    velph init --help shows short documents of the options. Two arguments have to -be specified, POSCAR-format crystal structure and directory name that is created -where velph.toml is stored. The available options are explained below. Some -options can be specified in [init.options] section of the velph-toml template -file (see velph init template).

    -
    -

    --template-toml#

    -

    Using this option, velph.toml like file is read as the template instead of the -template hard coded in velph code.

    -
    -
    -

    --tolerance#

    -

    This is used for the symmetry check tolerance in Angstrom. Symmetry is searched -always even without --symmetrize.

    -
    -
    -

    --symmetrize#

    -

    By default (no-symmetrize), the input POSCAR-type structure is simply used as -the unit cell. With --symmetrize, input POSCAR-type structure is symmetrized -and standardized conventional unit cell and primitive cell (“unitcell” and -“primitive_cell”, respectively) are written in velph.toml.

    -
    -
    -

    --no-find-primitive#

    -

    By this option, the input POSCAR-type structure is used as the primitive cell -even if it is not a primitive cell.

    -
    -
    -

    --kspacing and --kspacing-dense#

    -

    Sampling k-point meshes are calculated from these values in the similar way to -VASP KSPACING definition by overwriting the template.

    -
    -
    -

    --max-num-atoms#

    -

    Supercell shape is determined so that its number of atoms is equal or less than -this number respecting the crystallographic point group.

    -
    -
    -

    --phonopy-max-num-atoms and --phono3py-max-num-atoms#

    -

    Supercell shapes for phonopy and phono3py are determined in the same manner as ---max-num-atoms.

    -
    -
    -

    --cell-for-relax#

    -

    This chooses unit cell or primitive cell for structure optimization (relax). -The default is unitcell. Specify primitive to use primitive cell.

    -
    -
    -

    --cell-for-nac#

    -

    This chooses unit cell or primitive cell for NAC calculation (nac). The -default is primitive. Specify primitive to use primitive cell.

    -
    -
    -

    --primitive-cell-choice#

    -

    Primitive cell choice, “standardized” (default) or “reduced”.

    -
    -
    -

    --use-grg#

    -

    Use generalized regular grid.

    -
    -
    -

    --amplitude#

    -

    Distance of displacements in Angstrom.

    -
    -
    -

    --magmom#

    -

    String corresponding to INCAR MAGMOM tag value for unit cell, e.g., “24*1” or “0 -0 1”. This is similar to MAGMOM tag in phonopy, see -https://phonopy.github.io/phonopy/setting-tags.html#magmom. In velph, the -asterisk symbol (*) is supported.

    -
    -
    -
    -
    -

    velph init template#

    -

    velph init is the command to prepare velph.toml. Without specifying a -velph-toml-template, the default template is used. Custom template can be -specified as follows:

    -
    % velph init [OPTIONS] CELL_FILENAME PROJECT_FOLDER --template-toml velph-tmpl.toml
    -
    -
    -

    The velph-tmpl.toml (arbitrary file name) is almost like the velph.toml -file. It means that the velph-tmpl.toml may be created modifying -velph.toml. The sections that exist only in the velph-tmpl.toml but not in -velph.toml is [init.options]. This can be used as alternatives of command -options of velph-init, e.g.,

    -
    [init.options]
    -kspacing = 0.2
    -kspacing_dense = 0.1
    -max_num_atoms = 120
    -
    -
    -

    These [init.options] keywords can be found along with the list of the command -options by

    -
    % velph init --help
    -
    -
    -
    -
    -

    Settings in sections of velph.toml#

    -

    Note that the same can be applied to velph-tmpl.toml.

    -
    -

    Default INCAR settings#

    -

    The default INCAR settins are written in [vasp.incar]. These settings are -overwritten by [vasp.CALC_TYPE.incar] (CALC_TYPE can be phelel, relax, -nac, transport, phono3py, phono3py.phonon, etc).

    -
    -
    -

    Scheduler settings#

    -

    The parameters used for generating the job submission script are specified as -strings in [scheduler]. If [vasp.CALC_TYPE.scheduler] is -specified, [scheduler] settings are overwritten by the settings for -[vasp.CALC_TYPE]. The content in this section operates through Python string -formatting, using -replacement fields named after keyword arguments. Each parameter line in the -[scheduler] section is treated as a keyword argument, which is then inserted -into the string format.

    -

    In the [scheduler] section, the parameters scheduler_name and -scheduler_template have special roles:

    -
      -
    • scheduler_name: Specifies the template type, with options slurm, sge, or -custom. For slurm and sge, the template string (i.e., -scheduler_template) is -hard-coded. -If custom is selected, the string provided by scheduler_template is used, -into which the parameters are inserted.

    • -
    • scheduler_template: The string template where parameters defined in this -section are inserted.

    • -
    -

    An example is shown below.

    -
    [scheduler]
    -scheduler_name = "sge"
    -job_name = "PbTe"
    -mpirun_command = "mpirun"
    -vasp_binary = "/usr/local/cluster-1/bin/vasp_std"
    -pe = "vienna 32"
    -prepend_text = '''
    -source /opt/intel/oneapi/setvars.sh --config="/home/togo/.oneapi-config"
    -'''
    -
    -...
    -[vasp.phelel.scheduler]
    -pe = "paris 24"
    -
    -...
    -[vasp.phonopy.scheduler]
    -scheduler_template = '''#!/bin/bash
    -#QSUB2 core 192
    -#QSUB2 mpi 192
    -#QSUB2 smp 1
    -#QSUB2 wtime 48:00:00
    -#PBS -N {job_name}
    -cd $PBS_O_WORKDIR
    -
    -{prepend_text}
    -{mpirun_command} {vasp_binary} | tee vasp_output
    -{append_text}
    -'''
    -job_name = "PbTe"
    -mpirun_command = "mpijob"
    -vasp_binary = "/usr/local/cluster-2/bin/vasp_std"
    -prepend_text = '''
    -. /etc/profile.d/modules.sh
    -module load inteloneapi22u3
    -'''
    -append_text = ""
    -
    -
    -
    -
    -
    -

    Example (NiTiSn)#

    -

    POSCAR-unitcell, POTCAR, and velph-tmpl.toml are located in the current directory.

    -

    Initial POSCAR-unitcell,

    -
    Ti4Sn4Ni4
    -1.0
    -5.906882041566931   0.000000000000000   0.000000000000000
    -0.000000000000000   5.906882041566931   0.000000000000000
    -0.000000000000000   0.000000000000000   5.906882041566931
    -Ti   Sn   Ni
    -4   4   4
    -Direct
    -0.000000000000000   0.000000000000000   0.000000000000000
    -0.000000000000000   0.500000000000000   0.500000000000000
    -0.500000000000000   0.000000000000000   0.500000000000000
    -0.500000000000000   0.500000000000000   0.000000000000000
    -0.500000000000000   0.500000000000000   0.500000000000000
    -0.500000000000000   0.000000000000000   0.000000000000000
    -0.000000000000000   0.500000000000000   0.000000000000000
    -0.000000000000000   0.000000000000000   0.500000000000000
    -0.250000000000000   0.250000000000000   0.250000000000000
    -0.250000000000000   0.750000000000000   0.750000000000000
    -0.750000000000000   0.250000000000000   0.750000000000000
    -0.750000000000000   0.750000000000000   0.250000000000000
    -
    -
    -

    velph-tmpl.toml,

    -
    [init.options]
    -kspacing = 0.1
    -kspacing_dense = 0.2
    -max_num_atoms = 100
    -
    -[vasp.incar]
    -encut = 520
    -ncore = 4
    -
    -[vasp.phelel.incar]
    -kpar = 2
    -[vasp.phelel.scheduler]
    -pe = "mpi* 48"
    -
    -[vasp.transport.scheduler]
    -pe = "mpi* 144"
    -
    -[scheduler]
    -scheduler_name = "sge"
    -job_name = "TiNiSn"
    -mpirun_command = "mpirun"
    -vasp_binary = "/usr/local/vasp/bin/vasp_std"
    -pe = "vienna 32"
    -prepend_text = '''
    -source /opt/intel/oneapi/setvars.sh intel64 --config="/home/togo/.oneapi-config"
    -'''
    -append_text = ""
    -
    -
    -

    POTCAR choice,

    -
      PAW_PBE Ti_sv 26Sep2005
    -  PAW_PBE Sn_d 06Sep2000
    -  PAW_PBE Ni 02Aug2007
    -
    -
    -
    % velph init POSCAR_Ti4Sn4Ni4 relax --template-toml velph-tmpl.toml
    -Crystal structure file: "POSCAR_Ti4Sn4Ni4".
    -Velph template file: "velph-tmpl.toml".
    -Read crystal structure file "POSCAR_Ti4Sn4Ni4".
    -Read velph template file "velph-tmpl.toml".
    -Following options were found in "velph-tmpl.toml":
    -  kspacing = "0.1"
    -  kspacing_dense = "0.2"
    -  max_num_atoms = "100"
    -The command options were prefered to [init.options] in "velph-tmpl.toml".
    -Found a primitive cell whose transformation matrix is
    -  [ 0.000  0.500  0.500]
    -  [ 0.500  0.000  0.500]
    -  [ 0.500  0.500  0.000]
    -Supercell is generated with respect to the cell below.
    ---------------------------------------------------------------------------------
    -lattice:
    -- [     5.906882041566931,     0.000000000000000,     0.000000000000000 ] # a
    -- [     0.000000000000000,     5.906882041566931,     0.000000000000000 ] # b
    -- [     0.000000000000000,     0.000000000000000,     5.906882041566931 ] # c
    -points:
    -- symbol: Ti # 1
    -  coordinates: [  0.000000000000000,  0.000000000000000,  0.000000000000000 ]
    -  mass: 47.867000
    -- symbol: Ti # 2
    -  coordinates: [  0.000000000000000,  0.500000000000000,  0.500000000000000 ]
    -  mass: 47.867000
    -- symbol: Ti # 3
    -  coordinates: [  0.500000000000000,  0.000000000000000,  0.500000000000000 ]
    -  mass: 47.867000
    -- symbol: Ti # 4
    -  coordinates: [  0.500000000000000,  0.500000000000000,  0.000000000000000 ]
    -  mass: 47.867000
    -- symbol: Sn # 5
    -  coordinates: [  0.500000000000000,  0.500000000000000,  0.500000000000000 ]
    -  mass: 118.710000
    -- symbol: Sn # 6
    -  coordinates: [  0.500000000000000,  0.000000000000000,  0.000000000000000 ]
    -  mass: 118.710000
    -- symbol: Sn # 7
    -  coordinates: [  0.000000000000000,  0.500000000000000,  0.000000000000000 ]
    -  mass: 118.710000
    -- symbol: Sn # 8
    -  coordinates: [  0.000000000000000,  0.000000000000000,  0.500000000000000 ]
    -  mass: 118.710000
    -- symbol: Ni # 9
    -  coordinates: [  0.250000000000000,  0.250000000000000,  0.250000000000000 ]
    -  mass: 58.693400
    -- symbol: Ni # 10
    -  coordinates: [  0.250000000000000,  0.750000000000000,  0.750000000000000 ]
    -  mass: 58.693400
    -- symbol: Ni # 11
    -  coordinates: [  0.750000000000000,  0.250000000000000,  0.750000000000000 ]
    -  mass: 58.693400
    -- symbol: Ni # 12
    -  coordinates: [  0.750000000000000,  0.750000000000000,  0.250000000000000 ]
    -  mass: 58.693400
    ---------------------------------------------------------------------------------
    -[vasp.incar] (basic INCAR settings)
    -  ismear = 0
    -  sigma = 0.01
    -  ediff = 1e-08
    -  encut = 520
    -  prec = accurate
    -  lreal = False
    -  lwave = False
    -  lcharg = False
    -  ncore = 4
    -[phelel]
    -  supercell_dimension: [2 2 2]
    -[vasp.*.kpoints.mesh] (*kspacing=0.1)
    -  selfenergy: [18 18 18]*
    -  el_bands: [18 18 18]*
    -  phelel: [5 5 5]*
    -  relax: [11 11 11]*
    -  nac: [18 18 18]*
    -[vasp.*.kpoints_dense.mesh] (*kspacing_dense=0.2)
    -  selfenergy: [9 9 9]*
    -  el_bands: [9 9 9]*
    -Created new folder "relax".
    -Initial settings were written to "relax/velph.toml".
    -Found "POTCAR".
    -  PAW_PBE Ti_sv 26Sep2005
    -  PAW_PBE Sn_d 06Sep2000
    -  PAW_PBE Ni 02Aug2007
    -  Max ENMAX in "POTCAR" is 274.61.
    -"POTCAR" was copied to "relax/POTCAR".
    -
    -
    -

    A directory relax is created and velph.toml is stored in it.

    -

    relax/velph.toml,

    -
    [phelel]
    -version = "0.6.0"
    -supercell_dimension = [2, 2, 2]
    -amplitude = 0.03
    -diagonal = true
    -plusminus = true
    -fft_mesh = [32, 32, 32]
    -
    -# ...
    -
    -[vasp.relax]
    -cell = "unitcell"
    -[vasp.relax.incar]
    -ediffg = -1e-06
    -ibrion = 2
    -isif = 3
    -nsw = 10
    -ismear = 0
    -sigma = 0.01
    -ediff = 1e-08
    -encut = 520
    -prec = "accurate"
    -lreal = false
    -lwave = false
    -lcharg = false
    -ncore = 4
    -[vasp.relax.kpoints]
    -mesh = [11, 11, 11]
    -
    -# ...
    -
    -[scheduler]
    -scheduler_name = "sge"
    -job_name = "TiNiSn"
    -mpirun_command = "mpirun"
    -vasp_binary = "/usr/local/vasp/bin/vasp_std"
    -pe = "vienna 32"
    -prepend_text = "source /opt/intel/oneapi/setvars.sh intel64 --config=\"/home/togo/.oneapi-config\"\n"
    -append_text = ""
    -
    -[symmetry]
    -spacegroup_type = "F-43m"
    -tolerance = 1e-05
    -primitive_matrix = [
    -  [  0.000000000000000,  0.500000000000000,  0.500000000000000 ],
    -  [  0.500000000000000,  0.000000000000000,  0.500000000000000 ],
    -  [  0.500000000000000,  0.500000000000000,  0.000000000000000 ],
    -]
    -
    -[unitcell]
    -lattice = [
    -  [     5.906882041566931,     0.000000000000000,     0.000000000000000 ], # a
    -  [     0.000000000000000,     5.906882041566931,     0.000000000000000 ], # b
    -  [     0.000000000000000,     0.000000000000000,     5.906882041566931 ], # c
    -]
    -[[unitcell.points]]  # 1
    -symbol = "Ti"
    -coordinates = [  0.000000000000000,  0.000000000000000,  0.000000000000000 ]
    -[[unitcell.points]]  # 2
    -symbol = "Ti"
    -coordinates = [  0.000000000000000,  0.500000000000000,  0.500000000000000 ]
    -[[unitcell.points]]  # 3
    -symbol = "Ti"
    -coordinates = [  0.500000000000000,  0.000000000000000,  0.500000000000000 ]
    -[[unitcell.points]]  # 4
    -symbol = "Ti"
    -coordinates = [  0.500000000000000,  0.500000000000000,  0.000000000000000 ]
    -[[unitcell.points]]  # 5
    -symbol = "Sn"
    -coordinates = [  0.500000000000000,  0.500000000000000,  0.500000000000000 ]
    -[[unitcell.points]]  # 6
    -symbol = "Sn"
    -coordinates = [  0.500000000000000,  0.000000000000000,  0.000000000000000 ]
    -[[unitcell.points]]  # 7
    -symbol = "Sn"
    -coordinates = [  0.000000000000000,  0.500000000000000,  0.000000000000000 ]
    -[[unitcell.points]]  # 8
    -symbol = "Sn"
    -coordinates = [  0.000000000000000,  0.000000000000000,  0.500000000000000 ]
    -[[unitcell.points]]  # 9
    -symbol = "Ni"
    -coordinates = [  0.250000000000000,  0.250000000000000,  0.250000000000000 ]
    -[[unitcell.points]]  # 10
    -symbol = "Ni"
    -coordinates = [  0.250000000000000,  0.750000000000000,  0.750000000000000 ]
    -[[unitcell.points]]  # 11
    -symbol = "Ni"
    -coordinates = [  0.750000000000000,  0.250000000000000,  0.750000000000000 ]
    -[[unitcell.points]]  # 12
    -symbol = "Ni"
    -coordinates = [  0.750000000000000,  0.750000000000000,  0.250000000000000 ]
    -[primitive_cell]
    -lattice = [
    -  [     0.000000000000000,     2.953441020783465,     2.953441020783465 ], # a
    -  [     2.953441020783465,     0.000000000000000,     2.953441020783465 ], # b
    -  [     2.953441020783465,     2.953441020783465,     0.000000000000000 ], # c
    -]
    -[[primitive_cell.points]]  # 1
    -symbol = "Ti"
    -coordinates = [  0.000000000000000,  0.000000000000000,  0.000000000000000 ]
    -[[primitive_cell.points]]  # 2
    -symbol = "Sn"
    -coordinates = [  0.500000000000000,  0.500000000000000,  0.500000000000000 ]
    -[[primitive_cell.points]]  # 3
    -symbol = "Ni"
    -coordinates = [  0.250000000000000,  0.250000000000000,  0.250000000000000 ]
    -
    -
    -

    fft_mesh is calculated from encut value in the [vasp.selfenergy.incar] section.

    -

    Change directory to relax.

    -
    % velph relax generate
    -% cd relax/iter1
    -% qsub _job.sh
    -
    -
    -

    Structure optimization is done until stress becomes less than 0.1kB (0.01GPa). -Go back to the top directory and start supercell calculation.

    -
    % velph init --template-toml velph-tmpl.toml `ls relax/relax/iter*/CONTCAR|tail -n 1` calc
    -Crystal structure file: "relax/relax/iter2/CONTCAR".
    -Velph template file: "velph-tmpl.toml".
    -Read crystal structure file "relax/relax/iter2/CONTCAR".
    -Read velph template file "velph-tmpl.toml".
    -Following options were found in "velph-tmpl.toml":
    -  kspacing = "0.1"
    -  kspacing_dense = "0.2"
    -  max_num_atoms = "100"
    -The command options were prefered to [init.options] in "velph-tmpl.toml".
    -Found a primitive cell whose transformation matrix is
    -  [ 0.000  0.500  0.500]
    -  [ 0.500  0.000  0.500]
    -  [ 0.500  0.500  0.000]
    -Supercell is generated with respect to the cell below.
    ---------------------------------------------------------------------------------
    -lattice:
    -- [     5.949975748250650,     0.000000000000000,     0.000000000000000 ] # a
    -- [     0.000000000000000,     5.949975748250650,    -0.000000000000000 ] # b
    -- [     0.000000000000000,     0.000000000000000,     5.949975748250650 ] # c
    -points:
    -- symbol: Ti # 1
    -  coordinates: [  0.000000000000000,  0.000000000000000,  0.000000000000000 ]
    -  mass: 47.867000
    -- symbol: Ti # 2
    -  coordinates: [  0.000000000000000,  0.500000000000000,  0.500000000000000 ]
    -  mass: 47.867000
    -- symbol: Ti # 3
    -  coordinates: [  0.500000000000000,  0.000000000000000,  0.500000000000000 ]
    -  mass: 47.867000
    -- symbol: Ti # 4
    -  coordinates: [  0.500000000000000,  0.500000000000000,  0.000000000000000 ]
    -  mass: 47.867000
    -- symbol: Sn # 5
    -  coordinates: [  0.500000000000000,  0.500000000000000,  0.500000000000000 ]
    -  mass: 118.710000
    -- symbol: Sn # 6
    -  coordinates: [  0.500000000000000,  0.000000000000000,  0.000000000000000 ]
    -  mass: 118.710000
    -- symbol: Sn # 7
    -  coordinates: [  0.000000000000000,  0.500000000000000,  0.000000000000000 ]
    -  mass: 118.710000
    -- symbol: Sn # 8
    -  coordinates: [  0.000000000000000,  0.000000000000000,  0.500000000000000 ]
    -  mass: 118.710000
    -- symbol: Ni # 9
    -  coordinates: [  0.250000000000000,  0.250000000000000,  0.250000000000000 ]
    -  mass: 58.693400
    -- symbol: Ni # 10
    -  coordinates: [  0.250000000000000,  0.750000000000000,  0.750000000000000 ]
    -  mass: 58.693400
    -- symbol: Ni # 11
    -  coordinates: [  0.750000000000000,  0.250000000000000,  0.750000000000000 ]
    -  mass: 58.693400
    -- symbol: Ni # 12
    -  coordinates: [  0.750000000000000,  0.750000000000000,  0.250000000000000 ]
    -  mass: 58.693400
    ---------------------------------------------------------------------------------
    -[vasp.incar] (basic INCAR settings)
    -  ismear = 0
    -  sigma = 0.01
    -  ediff = 1e-08
    -  encut = 520
    -  prec = accurate
    -  lreal = False
    -  lwave = False
    -  lcharg = False
    -  ncore = 4
    -[phelel]
    -  supercell_dimension: [2 2 2]
    -[vasp.*.kpoints.mesh] (*kspacing=0.1)
    -  selfenergy: [18 18 18]*
    -  el_bands: [18 18 18]*
    -  phelel: [5 5 5]*
    -  relax: [11 11 11]*
    -  nac: [18 18 18]*
    -[vasp.*.kpoints_dense.mesh] (*kspacing_dense=0.2)
    -  selfenergy: [9 9 9]*
    -  el_bands: [9 9 9]*
    -Created new folder "calc".
    -Initial settings were written to "calc/velph.toml".
    -Found "POTCAR".
    -  PAW_PBE Ti_sv 26Sep2005
    -  PAW_PBE Sn_d 06Sep2000
    -  PAW_PBE Ni 02Aug2007
    -  Max ENMAX in "POTCAR" is 274.61.
    -"POTCAR" was copied to "calc/POTCAR".
    -
    -
    -

    Change directory to calc.

    -
    % cd calc
    -
    -
    -

    velph.toml,

    -
    [phelel]
    -version = "0.6.0"
    -supercell_dimension = [2, 2, 2]
    -amplitude = 0.03
    -diagonal = true
    -plusminus = true
    -fft_mesh = [32, 32, 32]
    -
    -[vasp.phelel.incar]
    -lwap = true
    -isym = 0
    -kpar = 2
    -ismear = 0
    -sigma = 0.01
    -ediff = 1e-08
    -encut = 520
    -prec = "accurate"
    -lreal = false
    -lwave = false
    -lcharg = false
    -ncore = 4
    -[vasp.phelel.kpoints]
    -mesh = [5, 5, 5]
    -[vasp.phelel.scheduler]
    -pe = "mpi* 48"
    -
    -# ...
    -
    -[vasp.nac]
    -cell = "primitive"
    -[vasp.nac.incar]
    -lepsilon = true
    -ismear = 0
    -sigma = 0.01
    -ediff = 1e-08
    -encut = 520
    -prec = "accurate"
    -lreal = false
    -lwave = false
    -lcharg = false
    -[vasp.nac.kpoints]
    -mesh = [18, 18, 18]
    -
    -# ...
    -
    -
    -

    NAC and supercell calculations,

    -
    % velph nac generate
    -% cd nac; qsub _job.sh; cd ..
    -% velph phelel init
    -Found "nac" directory. Read NAC params.
    -"phelel/phelel_disp.yaml" was generated by phelel.
    -VASP input files will be generated by "velph phelel generate".
    -% velph supercell generate
    -VASP input files were generated in "supercell/disp-000".
    -VASP input files were generated in "supercell/disp-001".
    -VASP input files were generated in "supercell/disp-002".
    -VASP input files were generated in "supercell/disp-003".
    -VASP input files were generated in "supercell/disp-004".
    -VASP input files were generated in "supercell/disp-005".
    -VASP input files were generated in "supercell/disp-006".
    -% for i in {000..006};do cd phelel/disp-$i; qsub _job.sh; cd ../..;done
    -
    -
    -

    Using the VASP results of the supercell calculations, derivatives of properties -are computed using the phelel code. The results are stored in a newly created -file phelel/phelel_params.hdf5. This process creates only -phelel/phelel_params.hdf5 and is invoked by the following velph command:

    -
    % velph phelel differentiate
    -Running finufft (eps=1.000e-06)...
    -Running finufft (eps=1.000e-06)...
    -Running finufft (eps=1.000e-06)...
    -"phelel/phelel_params.hdf5" has been made.
    -
    -
    -

    NAC parameters in phelel/phelel_params.hdf5 comes from -phelel/phelel_disp.yaml, i.e.,

    -
      -
    1. NAC parameters are stored in phelel/phelel_disp.yaml when -phelel/phelel_disp.yaml is created by velph phelel init.

    2. -
    3. NAC data in phelel/phelel_disp.yaml are transfered to -phelel/phelel_params.hdf5 by velph phelel differentiate.

    4. -
    -

    Therefore, nac calculation has to exist in the initial step velph phelel init. If the nac calculation is performed after the supercell calculation, -velph phelel init and velph phelel differentiate have to be re-executed to -store the NAC parameters in phelel/phelel_params.hdf5.

    -
    @@ -1038,11 +385,11 @@

    Example (NiTiSn)

    next

    -

    Change Log

    +

    velph init

    @@ -1065,33 +412,7 @@

    Example (NiTiSn)
  • What does the velph command do?
  • Listing velph subcommands
  • -
  • velph command operations -
  • -
  • velph init template
  • -
  • Settings in sections of velph.toml -
  • -
  • Example (NiTiSn)
  • +
  • velph hints
  • diff --git a/velph-example.html b/velph-example.html new file mode 100644 index 0000000..233aae1 --- /dev/null +++ b/velph-example.html @@ -0,0 +1,862 @@ + + + + + + + + + + + velph example — Phelel v.0.8.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + +
    + +
    + + + + + +
    +
    + + + + +
    + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + + + +
    +

    velph example

    + +
    +
    + +
    +

    Contents

    +
    + +
    +
    +
    + + + + +
    + +
    +

    velph example#

    +
    +

    NiTiSn#

    +

    POSCAR-unitcell, POTCAR, and velph-tmpl.toml are located in the current directory.

    +

    Initial POSCAR-unitcell,

    +
    Ti4Sn4Ni4
    +1.0
    +5.906882041566931   0.000000000000000   0.000000000000000
    +0.000000000000000   5.906882041566931   0.000000000000000
    +0.000000000000000   0.000000000000000   5.906882041566931
    +Ti   Sn   Ni
    +4   4   4
    +Direct
    +0.000000000000000   0.000000000000000   0.000000000000000
    +0.000000000000000   0.500000000000000   0.500000000000000
    +0.500000000000000   0.000000000000000   0.500000000000000
    +0.500000000000000   0.500000000000000   0.000000000000000
    +0.500000000000000   0.500000000000000   0.500000000000000
    +0.500000000000000   0.000000000000000   0.000000000000000
    +0.000000000000000   0.500000000000000   0.000000000000000
    +0.000000000000000   0.000000000000000   0.500000000000000
    +0.250000000000000   0.250000000000000   0.250000000000000
    +0.250000000000000   0.750000000000000   0.750000000000000
    +0.750000000000000   0.250000000000000   0.750000000000000
    +0.750000000000000   0.750000000000000   0.250000000000000
    +
    +
    +

    velph-tmpl.toml,

    +
    [init.options]
    +kspacing = 0.1
    +kspacing_dense = 0.2
    +max_num_atoms = 100
    +
    +[vasp.incar]
    +encut = 520
    +ncore = 4
    +
    +[vasp.phelel.incar]
    +kpar = 2
    +[vasp.phelel.scheduler]
    +pe = "mpi* 48"
    +
    +[vasp.transport.scheduler]
    +pe = "mpi* 144"
    +
    +[scheduler]
    +scheduler_name = "sge"
    +job_name = "TiNiSn"
    +mpirun_command = "mpirun"
    +vasp_binary = "/usr/local/vasp/bin/vasp_std"
    +pe = "vienna 32"
    +prepend_text = '''
    +source /opt/intel/oneapi/setvars.sh intel64 --config="/home/togo/.oneapi-config"
    +'''
    +append_text = ""
    +
    +
    +

    POTCAR choice,

    +
      PAW_PBE Ti_sv 26Sep2005
    +  PAW_PBE Sn_d 06Sep2000
    +  PAW_PBE Ni 02Aug2007
    +
    +
    +
    % velph init POSCAR_Ti4Sn4Ni4 relax --template-toml velph-tmpl.toml
    +Crystal structure file: "POSCAR_Ti4Sn4Ni4".
    +Velph template file: "velph-tmpl.toml".
    +Read crystal structure file "POSCAR_Ti4Sn4Ni4".
    +Read velph template file "velph-tmpl.toml".
    +Following options were found in "velph-tmpl.toml":
    +  kspacing = "0.1"
    +  kspacing_dense = "0.2"
    +  max_num_atoms = "100"
    +The command options were prefered to [init.options] in "velph-tmpl.toml".
    +Found a primitive cell whose transformation matrix is
    +  [ 0.000  0.500  0.500]
    +  [ 0.500  0.000  0.500]
    +  [ 0.500  0.500  0.000]
    +Supercell is generated with respect to the cell below.
    +--------------------------------------------------------------------------------
    +lattice:
    +- [     5.906882041566931,     0.000000000000000,     0.000000000000000 ] # a
    +- [     0.000000000000000,     5.906882041566931,     0.000000000000000 ] # b
    +- [     0.000000000000000,     0.000000000000000,     5.906882041566931 ] # c
    +points:
    +- symbol: Ti # 1
    +  coordinates: [  0.000000000000000,  0.000000000000000,  0.000000000000000 ]
    +  mass: 47.867000
    +- symbol: Ti # 2
    +  coordinates: [  0.000000000000000,  0.500000000000000,  0.500000000000000 ]
    +  mass: 47.867000
    +- symbol: Ti # 3
    +  coordinates: [  0.500000000000000,  0.000000000000000,  0.500000000000000 ]
    +  mass: 47.867000
    +- symbol: Ti # 4
    +  coordinates: [  0.500000000000000,  0.500000000000000,  0.000000000000000 ]
    +  mass: 47.867000
    +- symbol: Sn # 5
    +  coordinates: [  0.500000000000000,  0.500000000000000,  0.500000000000000 ]
    +  mass: 118.710000
    +- symbol: Sn # 6
    +  coordinates: [  0.500000000000000,  0.000000000000000,  0.000000000000000 ]
    +  mass: 118.710000
    +- symbol: Sn # 7
    +  coordinates: [  0.000000000000000,  0.500000000000000,  0.000000000000000 ]
    +  mass: 118.710000
    +- symbol: Sn # 8
    +  coordinates: [  0.000000000000000,  0.000000000000000,  0.500000000000000 ]
    +  mass: 118.710000
    +- symbol: Ni # 9
    +  coordinates: [  0.250000000000000,  0.250000000000000,  0.250000000000000 ]
    +  mass: 58.693400
    +- symbol: Ni # 10
    +  coordinates: [  0.250000000000000,  0.750000000000000,  0.750000000000000 ]
    +  mass: 58.693400
    +- symbol: Ni # 11
    +  coordinates: [  0.750000000000000,  0.250000000000000,  0.750000000000000 ]
    +  mass: 58.693400
    +- symbol: Ni # 12
    +  coordinates: [  0.750000000000000,  0.750000000000000,  0.250000000000000 ]
    +  mass: 58.693400
    +--------------------------------------------------------------------------------
    +[vasp.incar] (basic INCAR settings)
    +  ismear = 0
    +  sigma = 0.01
    +  ediff = 1e-08
    +  encut = 520
    +  prec = accurate
    +  lreal = False
    +  lwave = False
    +  lcharg = False
    +  ncore = 4
    +[phelel]
    +  supercell_dimension: [2 2 2]
    +[vasp.*.kpoints.mesh] (*kspacing=0.1)
    +  selfenergy: [18 18 18]*
    +  el_bands: [18 18 18]*
    +  phelel: [5 5 5]*
    +  relax: [11 11 11]*
    +  nac: [18 18 18]*
    +[vasp.*.kpoints_dense.mesh] (*kspacing_dense=0.2)
    +  selfenergy: [9 9 9]*
    +  el_bands: [9 9 9]*
    +Created new folder "relax".
    +Initial settings were written to "relax/velph.toml".
    +Found "POTCAR".
    +  PAW_PBE Ti_sv 26Sep2005
    +  PAW_PBE Sn_d 06Sep2000
    +  PAW_PBE Ni 02Aug2007
    +  Max ENMAX in "POTCAR" is 274.61.
    +"POTCAR" was copied to "relax/POTCAR".
    +
    +
    +

    A directory relax is created and velph.toml is stored in it.

    +

    relax/velph.toml,

    +
    [phelel]
    +version = "0.6.0"
    +supercell_dimension = [2, 2, 2]
    +amplitude = 0.03
    +diagonal = true
    +plusminus = true
    +fft_mesh = [32, 32, 32]
    +
    +# ...
    +
    +[vasp.relax]
    +cell = "unitcell"
    +[vasp.relax.incar]
    +ediffg = -1e-06
    +ibrion = 2
    +isif = 3
    +nsw = 10
    +ismear = 0
    +sigma = 0.01
    +ediff = 1e-08
    +encut = 520
    +prec = "accurate"
    +lreal = false
    +lwave = false
    +lcharg = false
    +ncore = 4
    +[vasp.relax.kpoints]
    +mesh = [11, 11, 11]
    +
    +# ...
    +
    +[scheduler]
    +scheduler_name = "sge"
    +job_name = "TiNiSn"
    +mpirun_command = "mpirun"
    +vasp_binary = "/usr/local/vasp/bin/vasp_std"
    +pe = "vienna 32"
    +prepend_text = "source /opt/intel/oneapi/setvars.sh intel64 --config=\"/home/togo/.oneapi-config\"\n"
    +append_text = ""
    +
    +[symmetry]
    +spacegroup_type = "F-43m"
    +tolerance = 1e-05
    +primitive_matrix = [
    +  [  0.000000000000000,  0.500000000000000,  0.500000000000000 ],
    +  [  0.500000000000000,  0.000000000000000,  0.500000000000000 ],
    +  [  0.500000000000000,  0.500000000000000,  0.000000000000000 ],
    +]
    +
    +[unitcell]
    +lattice = [
    +  [     5.906882041566931,     0.000000000000000,     0.000000000000000 ], # a
    +  [     0.000000000000000,     5.906882041566931,     0.000000000000000 ], # b
    +  [     0.000000000000000,     0.000000000000000,     5.906882041566931 ], # c
    +]
    +[[unitcell.points]]  # 1
    +symbol = "Ti"
    +coordinates = [  0.000000000000000,  0.000000000000000,  0.000000000000000 ]
    +[[unitcell.points]]  # 2
    +symbol = "Ti"
    +coordinates = [  0.000000000000000,  0.500000000000000,  0.500000000000000 ]
    +[[unitcell.points]]  # 3
    +symbol = "Ti"
    +coordinates = [  0.500000000000000,  0.000000000000000,  0.500000000000000 ]
    +[[unitcell.points]]  # 4
    +symbol = "Ti"
    +coordinates = [  0.500000000000000,  0.500000000000000,  0.000000000000000 ]
    +[[unitcell.points]]  # 5
    +symbol = "Sn"
    +coordinates = [  0.500000000000000,  0.500000000000000,  0.500000000000000 ]
    +[[unitcell.points]]  # 6
    +symbol = "Sn"
    +coordinates = [  0.500000000000000,  0.000000000000000,  0.000000000000000 ]
    +[[unitcell.points]]  # 7
    +symbol = "Sn"
    +coordinates = [  0.000000000000000,  0.500000000000000,  0.000000000000000 ]
    +[[unitcell.points]]  # 8
    +symbol = "Sn"
    +coordinates = [  0.000000000000000,  0.000000000000000,  0.500000000000000 ]
    +[[unitcell.points]]  # 9
    +symbol = "Ni"
    +coordinates = [  0.250000000000000,  0.250000000000000,  0.250000000000000 ]
    +[[unitcell.points]]  # 10
    +symbol = "Ni"
    +coordinates = [  0.250000000000000,  0.750000000000000,  0.750000000000000 ]
    +[[unitcell.points]]  # 11
    +symbol = "Ni"
    +coordinates = [  0.750000000000000,  0.250000000000000,  0.750000000000000 ]
    +[[unitcell.points]]  # 12
    +symbol = "Ni"
    +coordinates = [  0.750000000000000,  0.750000000000000,  0.250000000000000 ]
    +[primitive_cell]
    +lattice = [
    +  [     0.000000000000000,     2.953441020783465,     2.953441020783465 ], # a
    +  [     2.953441020783465,     0.000000000000000,     2.953441020783465 ], # b
    +  [     2.953441020783465,     2.953441020783465,     0.000000000000000 ], # c
    +]
    +[[primitive_cell.points]]  # 1
    +symbol = "Ti"
    +coordinates = [  0.000000000000000,  0.000000000000000,  0.000000000000000 ]
    +[[primitive_cell.points]]  # 2
    +symbol = "Sn"
    +coordinates = [  0.500000000000000,  0.500000000000000,  0.500000000000000 ]
    +[[primitive_cell.points]]  # 3
    +symbol = "Ni"
    +coordinates = [  0.250000000000000,  0.250000000000000,  0.250000000000000 ]
    +
    +
    +

    fft_mesh is calculated from encut value in the [vasp.selfenergy.incar] section.

    +

    Change directory to relax.

    +
    % velph relax generate
    +% cd relax/iter1
    +% qsub _job.sh
    +
    +
    +

    Structure optimization is done until stress becomes less than 0.1kB (0.01GPa). +Go back to the top directory and start supercell calculation.

    +
    % velph init --template-toml velph-tmpl.toml `ls relax/relax/iter*/CONTCAR|tail -n 1` calc
    +Crystal structure file: "relax/relax/iter2/CONTCAR".
    +Velph template file: "velph-tmpl.toml".
    +Read crystal structure file "relax/relax/iter2/CONTCAR".
    +Read velph template file "velph-tmpl.toml".
    +Following options were found in "velph-tmpl.toml":
    +  kspacing = "0.1"
    +  kspacing_dense = "0.2"
    +  max_num_atoms = "100"
    +The command options were prefered to [init.options] in "velph-tmpl.toml".
    +Found a primitive cell whose transformation matrix is
    +  [ 0.000  0.500  0.500]
    +  [ 0.500  0.000  0.500]
    +  [ 0.500  0.500  0.000]
    +Supercell is generated with respect to the cell below.
    +--------------------------------------------------------------------------------
    +lattice:
    +- [     5.949975748250650,     0.000000000000000,     0.000000000000000 ] # a
    +- [     0.000000000000000,     5.949975748250650,    -0.000000000000000 ] # b
    +- [     0.000000000000000,     0.000000000000000,     5.949975748250650 ] # c
    +points:
    +- symbol: Ti # 1
    +  coordinates: [  0.000000000000000,  0.000000000000000,  0.000000000000000 ]
    +  mass: 47.867000
    +- symbol: Ti # 2
    +  coordinates: [  0.000000000000000,  0.500000000000000,  0.500000000000000 ]
    +  mass: 47.867000
    +- symbol: Ti # 3
    +  coordinates: [  0.500000000000000,  0.000000000000000,  0.500000000000000 ]
    +  mass: 47.867000
    +- symbol: Ti # 4
    +  coordinates: [  0.500000000000000,  0.500000000000000,  0.000000000000000 ]
    +  mass: 47.867000
    +- symbol: Sn # 5
    +  coordinates: [  0.500000000000000,  0.500000000000000,  0.500000000000000 ]
    +  mass: 118.710000
    +- symbol: Sn # 6
    +  coordinates: [  0.500000000000000,  0.000000000000000,  0.000000000000000 ]
    +  mass: 118.710000
    +- symbol: Sn # 7
    +  coordinates: [  0.000000000000000,  0.500000000000000,  0.000000000000000 ]
    +  mass: 118.710000
    +- symbol: Sn # 8
    +  coordinates: [  0.000000000000000,  0.000000000000000,  0.500000000000000 ]
    +  mass: 118.710000
    +- symbol: Ni # 9
    +  coordinates: [  0.250000000000000,  0.250000000000000,  0.250000000000000 ]
    +  mass: 58.693400
    +- symbol: Ni # 10
    +  coordinates: [  0.250000000000000,  0.750000000000000,  0.750000000000000 ]
    +  mass: 58.693400
    +- symbol: Ni # 11
    +  coordinates: [  0.750000000000000,  0.250000000000000,  0.750000000000000 ]
    +  mass: 58.693400
    +- symbol: Ni # 12
    +  coordinates: [  0.750000000000000,  0.750000000000000,  0.250000000000000 ]
    +  mass: 58.693400
    +--------------------------------------------------------------------------------
    +[vasp.incar] (basic INCAR settings)
    +  ismear = 0
    +  sigma = 0.01
    +  ediff = 1e-08
    +  encut = 520
    +  prec = accurate
    +  lreal = False
    +  lwave = False
    +  lcharg = False
    +  ncore = 4
    +[phelel]
    +  supercell_dimension: [2 2 2]
    +[vasp.*.kpoints.mesh] (*kspacing=0.1)
    +  selfenergy: [18 18 18]*
    +  el_bands: [18 18 18]*
    +  phelel: [5 5 5]*
    +  relax: [11 11 11]*
    +  nac: [18 18 18]*
    +[vasp.*.kpoints_dense.mesh] (*kspacing_dense=0.2)
    +  selfenergy: [9 9 9]*
    +  el_bands: [9 9 9]*
    +Created new folder "calc".
    +Initial settings were written to "calc/velph.toml".
    +Found "POTCAR".
    +  PAW_PBE Ti_sv 26Sep2005
    +  PAW_PBE Sn_d 06Sep2000
    +  PAW_PBE Ni 02Aug2007
    +  Max ENMAX in "POTCAR" is 274.61.
    +"POTCAR" was copied to "calc/POTCAR".
    +
    +
    +

    Change directory to calc.

    +
    % cd calc
    +
    +
    +

    velph.toml,

    +
    [phelel]
    +version = "0.6.0"
    +supercell_dimension = [2, 2, 2]
    +amplitude = 0.03
    +diagonal = true
    +plusminus = true
    +fft_mesh = [32, 32, 32]
    +
    +[vasp.phelel.incar]
    +lwap = true
    +isym = 0
    +kpar = 2
    +ismear = 0
    +sigma = 0.01
    +ediff = 1e-08
    +encut = 520
    +prec = "accurate"
    +lreal = false
    +lwave = false
    +lcharg = false
    +ncore = 4
    +[vasp.phelel.kpoints]
    +mesh = [5, 5, 5]
    +[vasp.phelel.scheduler]
    +pe = "mpi* 48"
    +
    +# ...
    +
    +[vasp.nac]
    +cell = "primitive"
    +[vasp.nac.incar]
    +lepsilon = true
    +ismear = 0
    +sigma = 0.01
    +ediff = 1e-08
    +encut = 520
    +prec = "accurate"
    +lreal = false
    +lwave = false
    +lcharg = false
    +[vasp.nac.kpoints]
    +mesh = [18, 18, 18]
    +
    +# ...
    +
    +
    +

    NAC and supercell calculations,

    +
    % velph nac generate
    +% cd nac; qsub _job.sh; cd ..
    +% velph phelel init
    +Found "nac" directory. Read NAC params.
    +"phelel/phelel_disp.yaml" was generated by phelel.
    +VASP input files will be generated by "velph phelel generate".
    +% velph supercell generate
    +VASP input files were generated in "supercell/disp-000".
    +VASP input files were generated in "supercell/disp-001".
    +VASP input files were generated in "supercell/disp-002".
    +VASP input files were generated in "supercell/disp-003".
    +VASP input files were generated in "supercell/disp-004".
    +VASP input files were generated in "supercell/disp-005".
    +VASP input files were generated in "supercell/disp-006".
    +% for i in {000..006};do cd phelel/disp-$i; qsub _job.sh; cd ../..;done
    +
    +
    +

    Using the VASP results of the supercell calculations, derivatives of properties +are computed using the phelel code. The results are stored in a newly created +file phelel/phelel_params.hdf5. This process creates only +phelel/phelel_params.hdf5 and is invoked by the following velph command:

    +
    % velph phelel differentiate
    +Running finufft (eps=1.000e-06)...
    +Running finufft (eps=1.000e-06)...
    +Running finufft (eps=1.000e-06)...
    +"phelel/phelel_params.hdf5" has been made.
    +
    +
    +

    NAC parameters in phelel/phelel_params.hdf5 comes from +phelel/phelel_disp.yaml, i.e.,

    +
      +
    1. NAC parameters are stored in phelel/phelel_disp.yaml when +phelel/phelel_disp.yaml is created by velph phelel init.

    2. +
    3. NAC data in phelel/phelel_disp.yaml are transfered to +phelel/phelel_params.hdf5 by velph phelel differentiate.

    4. +
    +

    Therefore, nac calculation has to exist in the initial step velph phelel init. If the nac calculation is performed after the supercell calculation, +velph phelel init and velph phelel differentiate have to be re-executed to +store the NAC parameters in phelel/phelel_params.hdf5.

    +
    +
    + + +
    + + + + + + + + +
    + + + + +
    + + +
    +
    + + +
    + + +
    +
    +
    + + + + + +
    +
    + + \ No newline at end of file diff --git a/velph-init.html b/velph-init.html new file mode 100644 index 0000000..69bf172 --- /dev/null +++ b/velph-init.html @@ -0,0 +1,629 @@ + + + + + + + + + + + velph init — Phelel v.0.8.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + +
    + +
    + + + + + +
    +
    + + + + +
    + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + + + + + + + + +
    + +
    +

    velph init#

    +

    velph init with command options will generate modified velph.toml from the +template.

    +
    % velph init [OPTIONS] CELL_FILENAME PROJECT_FOLDER
    +
    +
    +

    velph init --help shows short documents of the options. Two arguments have to +be specified, POSCAR-format crystal structure and directory name that is created +where velph.toml is stored. The available options are explained below. Some +options can be specified in [init.options] section of the velph-toml template +file (see velph init template).

    +
    +

    velph init options#

    +
    +

    --template-toml#

    +

    Using this option, velph.toml like file is read as the template instead of the +template hard coded in velph code.

    +
    +
    +

    --tolerance#

    +

    This is used for the symmetry check tolerance in Angstrom. Symmetry is searched +always even without --symmetrize.

    +
    +
    +

    --symmetrize#

    +

    By default (no-symmetrize), the input POSCAR-type structure is simply used as +the unit cell. With --symmetrize, input POSCAR-type structure is symmetrized +and standardized conventional unit cell and primitive cell (“unitcell” and +“primitive_cell”, respectively) are written in velph.toml.

    +
    +
    +

    --no-find-primitive#

    +

    By this option, the input POSCAR-type structure is used as the primitive cell +even if it is not a primitive cell.

    +
    +
    +

    --kspacing and --kspacing-dense#

    +

    Sampling k-point meshes are calculated from these values in the similar way to +VASP KSPACING definition by overwriting the template.

    +
    +
    +

    --max-num-atoms#

    +

    Supercell shape is determined so that its number of atoms is equal or less than +this number respecting the crystallographic point group.

    +
    +
    +

    --phonopy-max-num-atoms and --phono3py-max-num-atoms#

    +

    Supercell shapes for phonopy and phono3py are determined in the same manner as +--max-num-atoms.

    +
    +
    +

    --cell-for-relax#

    +

    This chooses unit cell or primitive cell for structure optimization (relax). +The default is unitcell. Specify primitive to use primitive cell.

    +
    +
    +

    --cell-for-nac#

    +

    This chooses unit cell or primitive cell for NAC calculation (nac). The +default is primitive. Specify primitive to use primitive cell.

    +
    +
    +

    --primitive-cell-choice#

    +

    Primitive cell choice, “standardized” (default) or “reduced”.

    +
    +
    +

    --use-grg#

    +

    Use generalized regular grid.

    +
    +
    +

    --amplitude#

    +

    Distance of displacements in Angstrom.

    +
    +
    +

    --magmom#

    +

    String corresponding to INCAR MAGMOM tag value for unit cell, e.g., “24*1” or “0 +0 1”. This is similar to MAGMOM tag in phonopy, see +https://phonopy.github.io/phonopy/setting-tags.html#magmom. In velph, the +asterisk symbol (*) is supported.

    +
    +
    +
    +

    velph init template#

    +

    velph init is the command to prepare velph.toml. Without specifying a +velph-toml-template, the default template is used. Custom template can be +specified as follows:

    +
    % velph init [OPTIONS] CELL_FILENAME PROJECT_FOLDER --template-toml velph-tmpl.toml
    +
    +
    +

    The velph-tmpl.toml (arbitrary file name) is almost like the velph.toml +file. It means that the velph-tmpl.toml may be created modifying +velph.toml. The sections that exist only in the velph-tmpl.toml but not in +velph.toml is [init.options]. This can be used as alternatives of command +options of velph-init, e.g.,

    +
    [init.options]
    +kspacing = 0.2
    +kspacing_dense = 0.1
    +max_num_atoms = 120
    +
    +
    +

    These [init.options] keywords can be found along with the list of the command +options by

    +
    % velph init --help
    +
    +
    +
    +
    +

    Settings in sections of velph.toml#

    +

    Note that the same can be applied to velph-tmpl.toml.

    +
    +

    Default INCAR settings#

    +

    The default INCAR settins are written in [vasp.incar]. These settings are +overwritten by [vasp.CALC_TYPE.incar] (CALC_TYPE can be phelel, relax, +nac, transport, phono3py, phono3py.phonon, etc).

    +
    +
    +

    Scheduler settings#

    +

    The parameters used for generating the job submission script are specified as +strings in [scheduler]. If [vasp.CALC_TYPE.scheduler] is +specified, [scheduler] settings are overwritten by the settings for +[vasp.CALC_TYPE]. The content in this section operates through Python string +formatting, using +replacement fields named after keyword arguments. Each parameter line in the +[scheduler] section is treated as a keyword argument, which is then inserted +into the string format.

    +

    In the [scheduler] section, the parameters scheduler_name and +scheduler_template have special roles:

    +
      +
    • scheduler_name: Specifies the template type, with options slurm, sge, or +custom. For slurm and sge, the template string (i.e., +scheduler_template) is +hard-coded. +If custom is selected, the string provided by scheduler_template is used, +into which the parameters are inserted.

    • +
    • scheduler_template: The string template where parameters defined in this +section are inserted.

    • +
    +

    An example is shown below.

    +
    [scheduler]
    +scheduler_name = "sge"
    +job_name = "PbTe"
    +mpirun_command = "mpirun"
    +vasp_binary = "/usr/local/cluster-1/bin/vasp_std"
    +pe = "vienna 32"
    +prepend_text = '''
    +source /opt/intel/oneapi/setvars.sh --config="/home/togo/.oneapi-config"
    +'''
    +
    +...
    +[vasp.phelel.scheduler]
    +pe = "paris 24"
    +
    +...
    +[vasp.phonopy.scheduler]
    +scheduler_template = '''#!/bin/bash
    +#QSUB2 core 192
    +#QSUB2 mpi 192
    +#QSUB2 smp 1
    +#QSUB2 wtime 48:00:00
    +#PBS -N {job_name}
    +cd $PBS_O_WORKDIR
    +
    +{prepend_text}
    +{mpirun_command} {vasp_binary} | tee vasp_output
    +{append_text}
    +'''
    +job_name = "PbTe"
    +mpirun_command = "mpijob"
    +vasp_binary = "/usr/local/cluster-2/bin/vasp_std"
    +prepend_text = '''
    +. /etc/profile.d/modules.sh
    +module load inteloneapi22u3
    +'''
    +append_text = ""
    +
    +
    +
    +
    +
    + + +
    + + + + + + + + +
    + + + + + + + +
    +
    + + +
    + + +
    +
    +
    + + + + + +
    +
    + + \ No newline at end of file diff --git a/velph-subcommands.html b/velph-subcommands.html new file mode 100644 index 0000000..d73d795 --- /dev/null +++ b/velph-subcommands.html @@ -0,0 +1,564 @@ + + + + + + + + + + + velph subcommands — Phelel v.0.8.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + +
    + +
    + + + + + +
    +
    + + + + +
    + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    + + + + + + + + +
    + +
    +

    velph subcommands#

    +
    +

    velph phelel#

    +

    This command calculates the derivatives of local potentials and PAW strengths +with respect to displacement, performing similar operations as steps 1 and 3 +carried out by the phelel command in the workflow.

    +
    +

    velph phelel init#

    +
    +
    +

    velph phelel generate#

    +
    +
    +

    velph phelel differentiate#

    +
    +
    +

    velph phelel phonopy#

    +
    +
    +
    +

    velph transport#

    +
    +

    velph transport generate#

    +
    +
    +

    velph transport plot#

    +
    +
    +
    +

    velph relax#

    +
    +

    velph relax generate#

    +
    +
    +
    +

    velph nac#

    +
    +

    velph nac generate#

    +
    +
    +
    +

    velph el_bands#

    +
    +

    velph el_bands generate#

    +
    +
    +

    velph el_bands plot#

    +
    +
    +
    +

    velph ph_bands#

    +
    +

    velph ph_bands generate#

    +
    +
    +

    velph ph_bands plot#

    +
    +
    +
    +

    velph phono3py#

    +
    +

    velph phono3py init#

    +
    +
    +

    velph phono3py generate#

    +
    +
    +
    +

    velph phonopy#

    +
    +

    velph phonopy init#

    +
    +
    +

    velph phonopy generate#

    +
    +
    +
    + + +
    + + + + + + + + +
    + + + + + + + +
    +
    + + +
    + + +
    +
    +
    + + + + + +
    +
    + + \ No newline at end of file diff --git a/workflow.html b/workflow.html index 65a73bd..ccd8e82 100644 --- a/workflow.html +++ b/workflow.html @@ -142,6 +142,9 @@
  • Workflow of el-ph calculation
  • phelel command
  • velph command
  • +
  • velph init
  • +
  • velph subcommands
  • +
  • velph example
  • Change Log