1. Introduction
1.1. About this code
TC++ is a first-principles calculation code using the Hartree-Fock (HF) and the transcorrelated (TC) methods for periodic systems.
1.2. Supported Functionalities
Free-electron mode (FREE), HF, TC, BITC (biorthogonal TC)
SCF and band calculations
(from ver.1.3) Cell-fixed structural optimization for HF and BITC. Hellmann–Feynman theorem holds for BITC but not for TC.
Solid-state calculation under the periodic boundary condition. Homogeneous-electron-gas calculation using a periodic cell is also possible.
Plane-wave basis set
Norm-conserving pseudopotentials without partial core correction (available, e.g., in Pseudopotential Library)
For spin-polarized calculation, only spin-collinear calculation without spin-orbit coupling is available.
Monkhorst-Pack k-grid with/without a shift. A k-grid should not break any crystal symmetry.
RPA-type Jastrow factor \(u_{\sigma, \sigma'}({\bf r}, {\bf r'}) = \frac{A_{\sigma, \sigma'}}{|{\bf r}-{\bf r'}|}(1-e^{-|{\bf r}-{\bf r'}|/C_{\sigma,\sigma'}})\)
1.3. Terms of use
TC++ is a free/libre open-source software, released under the MIT License. See the file LICENSE
included in the distribution.
Please cite the following paper in all publications resulting from your use of TC++.
Ochi: “TC++: First-principles calculation code for solids using the transcorrelated method”, Comput. Phys. Commun. 287, 108687 (2023) . [arXiv]
1.5. History
2023/12/26 ver.1.3
Cell-fixed structural optimization is implemented for HF and BITC. Hellmann–Feynman theorem holds for BITC but not for TC.
Gamma-only calculation is supported.
Dump
jastrow.plt
to display the Jastrow function (can be used byload "jastrow.plt"
with gnuplot)MPI+OpenMP parallelization. OpenMP is mainly for memory saving, not so efficient with respect to computational time.
Test implementation for polynomial Jastrow functions (Not shown in the manual, will be described in a future release)
Default values of the energy and charge convergence criteria are lowered by a factor of 10.
Some cpp file names are changed (read_qe.cpp -> io_qe_files_read.cpp etc.)
Bug fix for spin-polarized calculation (fixed in ver.1.2.2)
Bug fix for divergence correction for TC and BITC (fixed in ver.1.2.3)
2023/1/16 ver.1.2
cmake and test are implemented.
A bug in reading upf files is fixed. Some upf files were not readable in older versions of TC++.
Some include files were not properly updated in ver.1.1.
2022/12/14 ver.1.1
mixes_density_matrix
is implemented, which can improve convergence of calculation (See Input parameters in input.in).A format of the total energies in
output.out
is slightly changed in order to track the total-energy convergence easily (e.g., byp `< grep "Total energy =" output.out' u 5
with gnuplot).Some files that are not used are removed (e.g.,
calc_hamiltonian_tc3a2.cpp
).
2022/11/18 ver.1.0