Skip to content

Commit

Permalink
Merge pull request #5 from utf/joss-review
Browse files Browse the repository at this point in the history
Fix typos
  • Loading branch information
frssp authored Mar 11, 2020
2 parents dbbae4c + 15a179c commit 33e0ad8
Show file tree
Hide file tree
Showing 8 changed files with 22 additions and 22 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ A typical workflow will consist of several steps, implemented in a series of sho
0. Prepare a sequence of atomic structure models with displacements that interpolate between two defect configurations (e.g. a site vacancy in charge states q=0 and q=+1).
Run single-point energy calculations on these structures, and extract the total energies. Scripts for preprocessing may be found in `script`.

1. Find a best fit for the energy calculations of the deferomed structures (`potential`) to generate potential energy surfaces (PES).
1. Find a best fit for the energy calculations of the deformed structures (`potential`) to generate potential energy surfaces (PES).
Solve the 1D Schrödinger equation for each PES to obtain their phonon (nuclear) wavefunctions.

3. Constructe configuration coordinate (`conf_coord`) to calculate the wavefunction overlap between each PES,
3. Construct configuration coordinate (`conf_coord`) to calculate the wavefunction overlap between each PES,
which forms part of the temperature-dependent capture coefficient.

![schematics](https://github.com/WMD-group/CarrierCapture.jl/blob/master/schematics/carrier_capture_sketch.png?raw=true "schematics")
Expand All @@ -71,7 +71,7 @@ The following examples are provided to illustrate some of the applications of th

> The electronic matrix element frequently causes feelings of discomfort (Stoneham, 1981)
The capture of electrons or holes by point defects in a crystalline materials requires the consideration of a number of factors including the coupling between electronic and vibrational degrees of freeedom. Many theories and approximations have been developed to describe the reaction kinetics.
The capture of electrons or holes by point defects in a crystalline materials requires the consideration of a number of factors including the coupling between electronic and vibrational degrees of freedom. Many theories and approximations have been developed to describe the reaction kinetics.

The capture coefficient between an initial and final state for this computational set up is given by (eq. 22 in [Alkauskas and coworkers](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.90.075202)):

Expand Down
4 changes: 2 additions & 2 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ A typical workflow will consist of several steps, implemented in a series of sho
0. Prepare a sequence of atomic structure models with displacements that interpolate between two defect configurations (e.g. a site vacancy in charge states q=0 and q=+1).
Run single-point energy calculations on these structures, and extract the total energies. Scripts for preprocessing may be found in `script`.

1. Find a best fit for the energy calculations of the deferomed structures (`potential`) to generate potential energy surfaces (PES).
1. Find a best fit for the energy calculations of the deformed structures (`potential`) to generate potential energy surfaces (PES).
Solve the 1D Schrödinger equation for each PES to obtain their phonon (nuclear) wavefunctions.

3. Constructe configuration coordinate (`conf_coord`) to calculate the wavefunction overlap between each PES,
3. Construct configuration coordinate (`conf_coord`) to calculate the wavefunction overlap between each PES,
which forms part of the temperature-dependent capture coefficient.

![schematics](https://github.com/WMD-group/CarrierCapture.jl/blob/master/schematics/carrier_capture_sketch.png?raw=true "schematics")
Expand Down
10 changes: 5 additions & 5 deletions docs/src/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ A typical usage will consist of about three steps; 1. preparation, 2. building `

## 1. Preparation

Before `CarrierCapture`, you need to calculate potential energy surfaces of atomic vibrations (one-dimensional Configuration Coordinate diagram; `1D-CC`) and _e-ph_ coupling matrix element (`W_if`). Prepare a sequence of structures with displacements which interpolate between two defect states. Run single-point energy calculations on these structures, and extract the total energies. Scripts for preprocessing can be found in `/script` which require a python library [`pymatgen`](http://pymatgen.org).
Before `CarrierCapture`, you need to calculate potential energy surfaces of atomic vibrations (one-dimensional Configuration Coordinate diagram; `1D-CC`) and _e-ph_ coupling matrix element (`W_if`). Prepare a sequence of structures with displacements which interpolate between two defect states. Run single-point energy calculations on these structures, and extract the total energies. Scripts for preprocessing can be found in `/script` which require the [`pymatgen`](http://pymatgen.org) python library.

1. **Generate `1D-CC`**

1. Calculate equilibirum geometries and total energies of defective supercells with charge states `q`(initial) and `q±1`(final) denoted `Conf.(q)` and `Conf.(q±1)`, respectively.
1. Calculate equilibrium geometries and total energies of defective supercells with charge states `q`(initial) and `q±1`(final) denoted `Conf.(q)` and `Conf.(q±1)`, respectively.

2. Generate interpolated and extrapolated structures between `Conf.(q)` (`POSCAR_i`) and `Conf.(q±1)` (`POSCAR_f`). You may use `gen_cc_struct.py`:

Expand All @@ -19,7 +19,7 @@ Before `CarrierCapture`, you need to calculate potential energy surfaces of atom
disp_dir_f
```

3. Run total-energy calculations for each structures. Example of the directory tree (`template` contains all input files for DFT calculations. Make sure DFT-program write wavefunctions (e.g. `LWAVE=.TRUE.` in `VASP`) for [the next stage `W_if`](#wif)):
3. Run total-energy calculations for each structure. Example of the directory tree (`template`) contains all input files for DFT calculations. Make sure DFT-program writes wavefunctions (e.g. `LWAVE=.TRUE.` in `VASP`) for [the next stage `W_if`](#wif)):

```bash
├── 00_q2q±1
Expand All @@ -44,7 +44,7 @@ Before `CarrierCapture`, you need to calculate potential energy surfaces of atom
│   │   ├── ...
```

You can submit jobs for all calculations using a following script in a high-performace computer with a batch system.
You can submit jobs for all calculations using a following script in a high-performance computer with a batch system.

```bash
#!/bin/bash -l
Expand Down Expand Up @@ -92,7 +92,7 @@ Before `CarrierCapture`, you need to calculate potential energy surfaces of atom

2. **Calcuate _e-ph_ coupling matrix element `W_if`** <a name="wif"></a>

You already have eigenvalues, wave functions and configurations. Read [Work by Alkauskas and coworkers](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.90.075202) carefully.
You already have eigenvalues, wavefunctions and configurations. Read [Work by Alkauskas and coworkers](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.90.075202) carefully.

1. Find initial and final eigenvalues (`ϵ_i` and `ϵ_f`).

Expand Down
2 changes: 1 addition & 1 deletion paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ The API documentation including the guide to the installation is also up-to-date

# Author contributions

[Sunghyun Kim](https://github.com/frssp) wrote the majority of the code base with contributions from [Samanth N. Hood](https://github.com/PaleBlueSam). [Lucy D. Whalley](https://github.com/lucydot) and [Puck van Gerwen](https://github.com/puckvg) performed detailed code testing and contributed to the example and test suite. All authors along with [Aron Walsh](https://github.com/aronwalsh) made decisions about code design and feature implementation. This manuscript was written with input from all co-authours.
[Sunghyun Kim](https://github.com/frssp) wrote the majority of the code base with contributions from [Samanth N. Hood](https://github.com/PaleBlueSam). [Lucy D. Whalley](https://github.com/lucydot) and [Puck van Gerwen](https://github.com/puckvg) performed detailed code testing and contributed to the example and test suite. All authors along with [Aron Walsh](https://github.com/aronwalsh) made decisions about code design and feature implementation. This manuscript was written with input from all co-authors.

# Acknowledgements

Expand Down
2 changes: 1 addition & 1 deletion src/Brooglie.jl
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ normalizewf(φ, L) = φ / √integrate(φ.^2, L)
Solve the potential `V`(x,y,z,...) in a grid xᵢ ∈ [`a`,`b`], discretized in `N`
steps.
The particle is asumed to have mass `m` (by default 1, a electron mass).
The particle is assumed to have mass `m` (by default 1, a electron mass).
The function will return the `nev` first energy levels (in Hartree[^1])
and its normalized eigenfunctions.
Expand Down
10 changes: 5 additions & 5 deletions src/CaptureRate.jl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Stores two `potential`s with e-ph coupling constant `W` to calculate the capture
## Fields
- `name` -- the name of a configuration coordinate.
- `V1` and `V2` -- the initial and fianal `potential`s.
- `V1` and `V2` -- the initial and final `potential`s.
- `W` -- the e-ph coupling matrix element.
- `g` -- the degeneracy.
- `temperature` -- the temperature range where `capt_coeff` is calculated.
Expand Down Expand Up @@ -46,10 +46,10 @@ conf_coord(pot_i::potential, pot_f::potential) = conf_coord("", pot_i, pot_f, In
"""
calc_overlap!(cc::conf_coord; cut_off = 0.25, σ = 0.025)
Calculate phonon overlap between phonon wave functions 'potenrial.χ'.
Calculate phonon overlap between phonon wave functions 'potential.χ'.
If energy difference is larger then the cutoff (eV) `abs(cc.V1.ϵ[i] - cc.V2.ϵ[j]) > cut_off`,
the overlap will not be calculated.
Delta functions are replaced by a Gaussians function with widths `σ`.
Delta functions are replaced by Gaussian functions with widths `σ`.
"""
function calc_overlap!(cc::conf_coord; cut_off = 0.25, σ = 0.025)
Q₀ = cc.V1.Q0
Expand Down Expand Up @@ -77,7 +77,7 @@ end
"""
calc_capt_coeff!(cc::conf_coord, V::Float64, temperature)
Calculte the capture coefficient `cc.capt_coeff` as a function of `temperature` which is a `UnitRange`.
Calculate the capture coefficient `cc.capt_coeff` as a function of `temperature` which is a `UnitRange`.
`V` is a volume where the electron-phonon coupling matrix element `cc.W` is calculated.
The lowest thermal occupation number of the eigenstate must be lower than `occ_cut_off = 1E-5`.
Expand Down Expand Up @@ -127,7 +127,7 @@ end
# importing parameters
"""
Depreciated.
Construct `conf_coord` from two potentials `pot_i` (initila) and 'pot_f' (final) and configure dictionalry `cfg`.
Construct `conf_coord` from two potentials `pot_i` (initial) and 'pot_f' (final) and configure dictionary `cfg`.
"""
function cc_from_dict(pot_i, pot_f, cfg::Dict)::conf_coord
cc = conf_coord(pot_i, pot_f)
Expand Down
8 changes: 4 additions & 4 deletions src/Potential.jl
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Stores a potential in one-dimensional space Q, with discreet points (E0, Q0) and
- `QE_data` -- the (n X 2) DataFrame of data points (Q vs Energy).
- `E0`, `Q0` -- the minimum point of the potential [`Q0`, `E0`].
- `func_type` -- the type of fitting function ("bspline", "spline", "harmonic", "polyfunc", "morse_poly", "morse").
- `params` -- the list of hyper paramters for the fitting function.
- `params` -- the list of hyper parameters for the fitting function.
- `Q`, `E` -- `Q` and `E`=`func(Q, p_opt; params)`.
- `nev` -- the number of eigenvalues to be evaluated.
- `ϵ` -- the list of eigenvalues
Expand Down Expand Up @@ -82,7 +82,7 @@ Fit a function `pot.func_type` to `QE_data` on the domain `Q`.
Polynomial function;
`y = E₀ + Σ coeffs[i].* (x .- Q₀) .^(i-1)`.
- `poly_order`: the maximum order of polynomials.
- `p0`: the initial paramters for the fitting function.
- `p0`: the initial parameters for the fitting function.
## Example
- Spline fit
Expand Down Expand Up @@ -237,7 +237,7 @@ end
# read potential
"""
Depreciated.
Construct `potential` from `QE_data` and configure dictionalry `cfg`.
Construct `potential` from `QE_data` and configure dictionary `cfg`.
"""
function pot_from_dict(QE_data::DataFrame, cfg::Dict)::potential
pot = potential()
Expand Down Expand Up @@ -351,7 +351,7 @@ end

function get_bspline(Qs, Es)
# BSplines assume your data is uniformly spaced on the grid
# Qs, Es have to be eqaully-spaced (Range)
# Qs, Es have to be equally-spaced (Range)
if Qs[1] > Qs[end]
Qs = reverse(Qs)
Es = reverse(Es)
Expand Down
2 changes: 1 addition & 1 deletion src/paramScan.jl
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ function fitMorseParams(a_i, a_f, b_i, b_f, Q0, E0)
a_i: first parameter of the Morse potential of the initial state
a_f: first parameter of the Morse potential of the final state
b_i: second parameter of the Morse potential of the initial state
b_f: seond parameter of the Morse potential of the final state
b_f: second parameter of the Morse potential of the final state
Q0 : horizontal shift between the PES', in amu^0.5 Å^-1
E0 : vertical shift between the PES', in eV
Expand Down

0 comments on commit 33e0ad8

Please sign in to comment.