ACE-Molecule, which stands for Advanced Computational Engine for Molecule, is a quantum chemistry package based on a real-space numerical grid. The package aims to carry out accurate and fast electronic structure calculations for large molecular systems. The present main features are including ground-state DFT calculations using LDA, GGA, and hybrid functionals with an exact-exchange potential under the KLI approximation, atomic force calculations, and excited-state calculations using linear-response TD-DFT, CIS, and CISD methods.
The ACE-Molecule project is opened to anyone who has interests in testing various experimental features.
Large-scale electronic structure simulation
ACE-Molecule mainly targets the efficient electronic structure calculation of large molecular or condensed-matter system.
You can refer parallelizaiton test issue page
Metal nanoparticle polarizability calcualtion
Silver nanocluster (Ag12431, ~9nm) polarizability calculation with ADA method.
SOMO of graphdiyne-Li system
Long-range corrected hybrid functional calculation. For the fast and accurate result, we adopt LC-wPBE(2Gau) functional and implemented in this program.
- LC-wPBE(2Gau) functional. J.-W. Song and K. Hirao, J. Chem. Phys. 143, 144112 (2015)
- Li-adsorption on the graphdiyne flake
ACE-Molecule developers have developed and implemented efficient and reliable calculation methods for excited-state calculations in the real-space numerical grid. (e.g. TDDFT, CIS, etc) Following list contains our previous works.
- TDDFT with hybrid functional
- TDDFT with range-separated functional
- CIS with KLI functional
- CISD with KLI functional
ACE-Molecule package support two different stencil-based approaches (Sinc basis set expansion, finite-difference method). For more details, please refer this paper
Pseudopotential and PAW
ACE-Molecule uses pseudopotentials or PAW to eliminate cusp-like behavior around nuclear potential. Currently, we support Norm-conserving pseudopotentials and PAW method. You may refer this paper
The following library and programs are required to install ACE-Molecule.
Trilinos library. Version higher than 12.0.1 have been tested for this program.
Trilinos package, which is developed by Sandia National Laboratory takes charge of linear algebraic operations in ACE-Molecule. The most of performance-sensitive part is handled by Trilinos package.
We recommend you to compile Trilinos library manually with MPI compiler because the choice of LAPACK/BLAS/MPI/compiler for building Trilinos affects this program profoundly.
Also, default configurations used for ACE-Molecule follows the setting that is used for Trilinos.
Note that Trilinos library should be compiled to support complex numbers.
You can find Trilinos library from the Trilinos official website, https://trilinos.org/download/
- LibXC library. Version higher than 4.0.0 are required. Libxc is exchange-correlation libraries. Except for a few functionals, most of the functionals are rely on that library.
You can find LibXC library from the official website, http://www.tddft.org/programs/libxc/download/
CMake(minimum version 2.8) is required to install ACE-Molecule.
You may want to invoke, for example, "apt install cmake" to install it easily using aptitude.
MPI will be used for building Trilinos package to build ACE-Molecule.
For optional libraries, please refer the below list
- CUDA: If you want to enable GPU, CUDA library should be used.
- MAGMA: Additional library for GPU calculations.(Optional) See Installation tutorial
- GNU Scientific Libraries(GSL): See http://www.gnu.org/software/gsl/. You may want to type "apt install libgsl-dev" to install it easily using aptitude. GSL library takes charge of the multi-dimensional conjugate gradient routine for geometry optimization.
LibXML2: The library required for the PAW dataset parsing. Additional to the LibXML2 library, you need a developer package.
You may want to invoke, for example, "apt install libxml2-dev" to install the developer files easily using aptitude.
Install using CMake
CMAKE INSTALL INSTRUCTION LINK FILE - THIS Section should be separated into ANOTHER DOCUMENTS!
- TRILINOS_PATH (PATH): Path to Trilinos package.
- LIBXC_PATH (PATH): Path to LibXC library.
- ENABLE_CI (BOOL): This option determines whether enabling CI or not.
- ENABLE_MAGMA (BOOL): This option determines whether enabling MAGMA or not. Magma should be compiled as a shared library form (.so)
- ENABLE_SCALAPACK (BOOL): This option determines whether enabling ScaLAPACK (experimental option)
- ENABLE_EX_DIAG (BOOL): This option will be deprecated soon. Compiles and enables BlockKrylovSchur and BlockDavidson solver from Trilinos Anasazi.
- CMAKE_CXX_FLAGS (STRING): ACE-Molecule automatically uses CXX FLAGS used when compiling the Trilinos package. This option can add additional options. (not recommended)
- GSL_PATH (PATH): Path to GSL library (currently supports static linking only).
- EDISON (BOOL): This option will be deprecated soon. Compiles for EDISON version. Some inputs are modified and add default values.
- CUDA_TOOLKIT_ROOT_DIR (PATH): This parameter turn enable GPU calculations
- CUDA_FLAGS (STRING): nvcc options
- MAGMA_PATH (PATH): Path to Magma library.
- MKL_PATH (PATH): Path to MKL library. The DDA calculation requires the MKL library.
- ACE_STATIC_LINK(BOOL): Set static building (no longer valid)
Structure of the program
All input variables of ACE-Molecule should be written in block-structure format.
All input variables of ACE-Molecule should be written in block-structure format. More detail explanations for input variable of ACE-Molecule can be found in Variables page.
- H2+ dissociation curve using KLI-EXX potential
- TDDFT, CI calculation of benzoquinone
- Atomic dipole approximation calculation
- Hessian calculation
- Build error and assert functions under Util folder