SIRIUS 7.5.0
Electronic structure library and applications
|
▼ src | |
► api | |
error_codes.hpp | |
sirius.f90 | Autogenerated Fortran module for the SIRIUS API |
sirius_api.cpp | Fortran API |
► beta_projectors | |
beta_projectors.hpp | Contains declaration and implementation of sirius::Beta_projectors class |
beta_projectors_base.cpp | Contains implementation of beta-projectors generator |
beta_projectors_base.hpp | Contains declaration and implementation of sirius::Beta_projectors_base class |
beta_projectors_gradient.hpp | Contains declaration and implementation of sirius::Beta_projectors_gradient class |
beta_projectors_strain_deriv.hpp | Contains declaration and implementation of sirius::Beta_projectors_strain_deriv class |
► context | |
config.hpp | |
simulation_context.cpp | Implementation of Simulation_context class |
simulation_context.hpp | Contains definition and implementation of Simulation_context class |
simulation_parameters.cpp | Contains implementation of sirius::Simulation_parameters class |
simulation_parameters.hpp | Contains definition and implementation of sirius::Simulation_parameters class |
► core | |
► acc | |
acc.cpp | Definition of the functions for the acc:: namespace |
acc.hpp | Interface to accelerators API |
acc_blas.cpp | |
acc_blas.hpp | Blas functions for execution on GPUs |
acc_blas_api.hpp | Interface to cuBLAS / rocblas related functions |
acc_common.hpp | Common device functions used by GPU kernels |
acc_lapack.hpp | |
acc_runtime.hpp | Uniform interface to the runtime API of CUDA and ROCm |
cuda_timer.hpp | Timer for CUDA kernels |
cusolver.cpp | |
cusolver.hpp | Interface to CUDA eigen-solver library |
core/acc/diag_mm.hpp | |
magma.hpp | Interface to some of the MAGMA functions |
magma_threadsetting.h | Internal MAGMA file which is missing in the standard installation |
nvtx_profiler.hpp | |
rocsolver.cpp | |
rocsolver.hpp | Contains implementation of rocsolver wrappers |
► env | |
env.hpp | Get the environment variables |
► fft | |
fft.hpp | Contains helper functions for the interface with SpFFT library |
fft3d_grid.hpp | Contains declaration and implementation of sddk::FFT3D_grid class |
gvec.cpp | Contains the implementation of Gvec class |
gvec.hpp | Declaration and implementation of Gvec class |
► gpu_kernels | |
augmentation_operator.cu | CUDA kernels to generate augmentation operator and its derivative |
checksum.cu | Compute checkum on GPU |
create_beta_gk.cu | CUDA kernel for the generation of beta(G+k) projectors |
density_rg.cu | CUDA kernel to update density on the regular FFT grid |
core/gpu_kernels/diag_mm.cu | |
generate_dm_pw.cu | CUDA kernel to generate a product of phase-factors and density matrix |
generate_phase_factors.cu | CUDA kernel to generate plane-wave atomic phase factors |
local_operator.cu | GPU kernels and API for application of the local operator |
mul_veff_with_phase_factors.cu | CUDA kernel to multiply effective potential by the phase factors |
residuals_aux.cu | CUDA kernel to compute wave-function residuals on GPUs |
scale_matrix.cu | Contains implementation of CUDA kernels to scale matrix elements (rows or columns) |
spherical_harmonics.cu | CUDA kernels to generate spherical harminics |
spline.cu | CUDA kernels to perform operations on splines |
sum_q_pw_dm_pw.cu | CUDA kernel to perform a summation over xi,xi' indices for the charge density augmentation |
► la | |
blacs_grid.hpp | Contains declaration and implementation of sddk::BLACS_grid class |
blas_lapack.h | Interface to some BLAS/LAPACK functions |
dmatrix.cpp | Definitions |
dmatrix.hpp | Contains definition and implementation of distributed matrix class |
eigenproblem.cpp | |
eigenproblem.hpp | Contains definition and implementation of various eigenvalue solver interfaces |
eigensolver.cpp | Contains implementation of eigensolver factory |
eigensolver.hpp | Contains definition of eigensolver factory |
inverse_sqrt.hpp | Compute inverse square root of the matrix |
linalg.hpp | Linear algebra interface |
linalg_base.hpp | Basic interface to linear algebra functions |
linalg_spla.cpp | |
linalg_spla.hpp | Interface to SPLA library |
scalapack.h | Interface to some ScaLAPACK functions |
► mpi | |
communicator.cpp | Definitions |
communicator.hpp | Contains declaration and implementation of mpi::Communicator class |
mpi_grid.hpp | Contains declaration and implementation of sddk::MPI_grid class |
pstdout.hpp | Contains implementation of the parallel standard output |
► r3 | |
r3.hpp | Simple classes and functions to work with vectors and matrices of the R^3 space |
► rte | |
rte.hpp | Eror and warning handling during run-time execution |
► sf | |
sbessel.cpp | |
sbessel.hpp | Contains implementation of sirius::Spherical_Bessel_functions class |
specfunc.cpp | |
specfunc.hpp | Special functions |
► sht | |
gaunt.hpp | Contains definition and implementation of sirius::Gaunt class |
lebedev_grids.hpp | Generate Lebedev-Laikov grids on the sphere |
sht.cpp | |
sht.hpp | Contains declaration and particular implementation of sirius::SHT class |
► wf | |
wave_functions.hpp | Contains declaration and implementation of Wave_functions class |
any_ptr.hpp | Implementation of pointer to any object |
cmd_args.cpp | Contains definition on cmd_args class |
cmd_args.hpp | Contains definition and implementation of cmd_args class |
constants.hpp | Various constants |
hdf5_tree.hpp | Contains definition and implementation of sirius::HDF5_tree class |
json.hpp | Interface to nlohmann::json library and helper functions |
math_tools.hpp | Math helper functions |
nlohmann_json.hpp | |
omp.hpp | Add or substitute OMP functions |
ostream_tools.cpp | Output stream tools |
ostream_tools.hpp | Output stream tools |
packed_index.hpp | Packed index for symmetric matrices |
power.hpp | Read power counters on Cray |
profiler.cpp | A time-based profiler |
profiler.hpp | A time-based profiler |
rt_graph.cpp | |
rt_graph.hpp | |
serialize_mdarray.hpp | Serialize madarray to json |
serializer.hpp | Serializer for simple data structures |
sirius_version.cpp | Get version number and related quantities |
sirius_version.hpp | Get version number and related quantities |
splindex.hpp | Contains definition of sddk::splindex_base and specializations of sddk::splindex class |
string_tools.hpp | Extra functions to work with std::strings |
strong_type.hpp | A wrapper class to create strong types |
system_tools.hpp | System-level helper functions |
time_tools.hpp | Timing functions |
traits.hpp | Helper functions for type traits |
typedefs.hpp | Contains typedefs, enums and simple descriptors |
► density | |
augmentation_operator.cpp | Contains implementation of sirius::Augmentation_operator class |
augmentation_operator.hpp | Contains implementation of sirius::Augmentation_operator class |
density.cpp | Contains implementation of sirius::Density class |
density.hpp | Contains definition and partial implementation of sirius::Density class |
density_matrix.hpp | |
occupation_matrix.cpp | Occupation matrix of the LDA+U method |
occupation_matrix.hpp | Occupation matrix of the LDA+U method |
► dft | |
dft_ground_state.cpp | Contains implementation of sirius::DFT_ground_state class |
dft_ground_state.hpp | Contains definition and partial implementation of sirius::DFT_ground_state class |
energy.cpp | Total energy terms |
energy.hpp | Total energy terms |
lattice_relaxation.hpp | Lattice relaxation implementation |
smearing.cpp | |
smearing.hpp | Smearing functions used in finding the band occupancies |
► function3d | |
field4d.hpp | Base class for sirius::Density and sirius::Potential |
make_periodic_function.hpp | Generate plane-wave coefficients of the periodic function from the form-factors |
paw_field4d.hpp | Contains definition and implementation of PAW_field4D class |
periodic_function.hpp | Contains declaration and partial implementation of sirius::Periodic_function class |
smooth_periodic_function.hpp | Contains declaration and implementation of sirius::Smooth_periodic_function and sirius::Smooth_periodic_function_gradient classes |
spheric_function.hpp | Contains declaration and implementation of sirius::Spheric_function and sirius::Spheric_function_gradient classes |
spheric_function_set.hpp | |
► geometry | |
force.cpp | Contains implementation of sirius::Force class |
force.hpp | Contains definition of sirius::Force class |
non_local_functor.hpp | Common operation for forces and stress tensor |
stress.cpp | Contains implementation of sirius::Stress class |
stress.hpp | Contains definition of sirius::Stress tensor class |
wavefunction_strain_deriv.hpp | |
► hamiltonian | |
check_wave_functions.hpp | Check orthogonality of wave-functions and their residuals |
davidson.hpp | Davidson iterative solver implementation |
diagonalize.hpp | Entry point for Hamiltonain diagonalization |
diagonalize_fp.hpp | Diagonalize full-potential LAPW Hamiltonian |
diagonalize_pp.hpp | Diagonalize pseudo-potential Hamiltonian |
generate_subspace_matrix.hpp | Generate subspace-matrix in the auxiliary basis |phi> |
hamiltonian.cpp | Contains definition of sirius::Hamiltonian0 class |
hamiltonian.hpp | Contains declaration and definition of sirius::Hamiltonian class |
hamiltonian_k.cpp | Contains definition of sirius::Hamiltonian_k class |
initialize_subspace.hpp | Create intial subspace from atomic-like wave-functions |
local_operator.cpp | Implementation of sirius::Local_operator class |
local_operator.hpp | Declaration of sirius::Local_operator class |
non_local_operator.cpp | Contains implementation of sirius::Non_local_operator class |
non_local_operator.hpp | Contains declaration of sirius::Non_local_operator class |
non_local_operator_base.hpp | Contains definition of sirius::Non_local_operator class |
pseudopotential_hmatrix.hpp | |
residuals.hpp | Compute residuals from the eigen-vectors and basis functions |
s_u_operator.cpp | |
► hubbard | |
hubbard.cpp | |
hubbard.hpp | Contains declaration and partial implementation of sirius::Hubbard class |
hubbard_matrix.cpp | Base class for Hubbard occupancy and potential matrices |
hubbard_matrix.hpp | Base class for Hubbard occupancy and potential matrices |
hubbard_occupancies_derivatives.cpp | |
hubbard_potential_energy.cpp | |
► k_point | |
generate_fv_states.cpp | |
generate_spinor_wave_functions.cpp | |
k_point.cpp | Contains partial implementation of sirius::K_point class |
k_point.hpp | Contains definition of sirius::K_point class |
k_point_set.cpp | |
k_point_set.hpp | Contains declaration and partial implementation of sirius::K_point_set class |
► lapw | |
generate_alm_block.hpp | |
generate_gvec_ylm.hpp | Generate complex spherical harmonics for the local set of G-vectors |
generate_sbessel_mt.hpp | Generate spherical Bessel functions at the muffin-tin boundary for the local set of G-vectors |
matching_coefficients.hpp | Contains definition and partial implementation of sirius::Matching_coefficients class |
step_function.hpp | Generate unit step function for LAPW method |
sum_fg_fl_yg.hpp | LAPW specific function to compute sum over plane-wave coefficients and spherical harmonics |
► mixer | |
anderson_mixer.hpp | Contains definition and implementation sirius::Anderson |
anderson_stable_mixer.hpp | Contains definition and implementation sirius::Anderson_stable |
broyden2_mixer.hpp | Contains definition and implementation of sirius::Broyden2 |
linear_mixer.hpp | Contains definition and implementation of sirius::Linear_mixer |
mixer.hpp | Contains definition and implementation of sirius::Mixer base class |
mixer_factory.hpp | Contains the mixer facttory for creating different types of mixers |
mixer_functions.cpp | Contains implemenations of functions required for mixing |
mixer_functions.hpp | Contains declarations of functions required for mixing |
► multi_cg | |
multi_cg.hpp | Linear response functionality |
► nlcglib | |
► preconditioner | |
nlcglib/preconditioner/diag_mm.cu | Matrix-matrix multiplication with a diagonal matrix |
nlcglib/preconditioner/diag_mm.hpp | |
ultrasoft_precond_k.hpp | |
adaptor.cpp | Contains implementation of the interface to nlcglib |
adaptor.hpp | Contains defintion of nlcglib interface |
apply_hamiltonian.hpp | Helper function for nlcglib |
call_nlcg.hpp | Wrapper to invoke nlcglib direct minimization |
inverse_overlap.hpp | S⁻¹ |
overlap.hpp | |
ultrasoft_precond.hpp | Provides preconditioner for ultrasoft case |
► potential | |
check_xc_potential.cpp | Check XC potential by doing numerical functional derivative |
generate_d_operator_matrix.cpp | |
generate_pw_coeffs.cpp | |
paw_potential.cpp | |
poisson.cpp | |
potential.cpp | Generate effective potential |
potential.hpp | Contains declaration and partial implementation of sirius::Potential class |
xc.cpp | Generate XC potential |
xc_functional.hpp | Contains implementation of sirius::XC_functional class |
xc_functional_base.hpp | |
xc_mt.cpp | Generate XC potential in the muffin-tins |
► radial | |
radial_grid.hpp | Contains declaraion and partial implementation of sirius::Radial_grid class |
radial_integrals.cpp | Implementation of various radial integrals |
radial_integrals.hpp | Representation of various radial integrals |
radial_solver.hpp | Contains declaration and partial implementation of sirius::Radial_solver class |
spline.hpp | Contains definition and partial implementation of sirius::Spline class |
► SDDK | |
memory.cpp | |
memory.hpp | Memory management functions and classes |
► symmetry | |
check_gvec.hpp | Check G-vector symmetry |
crystal_symmetry.cpp | Contains implementation of sirius::Crystal_symmetry class |
crystal_symmetry.hpp | Contains definition and partial implementation of sirius::Crystal_symmetry class |
get_irreducible_reciprocal_mesh.hpp | Find the irriducible k-points of the Brillouin zone |
lattice.hpp | Crystal lattice functions |
rotation.hpp | Generate rotation matrices and related entities |
symmetrize_density_matrix.hpp | Symmetrize density matrix of LAPW and PW methods |
symmetrize_field4d.hpp | Symmetrize density and potential fields (scalar + vector) |
symmetrize_forces.hpp | Symmetrize atomic forces |
symmetrize_mt_function.hpp | Symmetrize muffin-tin spheric functions |
symmetrize_occupation_matrix.hpp | Symmetrize occupation matrix of the LDA+U method |
symmetrize_pw_function.hpp | Symmetrize plane-wave coefficients of regular-grid function |
symmetrize_stress_tensor.hpp | Symmetrize lattice stress tensor |
► unit_cell | |
atom.hpp | Contains declaration and partial implementation of sirius::Atom class |
atom_symmetry_class.cpp | Partial implementation of sirius::Atom_symmetry_class class |
atom_symmetry_class.hpp | Contains declaration and partial implementation of sirius::Atom_symmetry_class class |
atom_type.cpp | Contains implementation of sirius::Atom_type class |
atom_type.hpp | Contains declaration and implementation of sirius::Atom_type class |
atom_type_base.hpp | Contains declaration and implementation of sirius::Atom_type_base class |
atomic_data.hpp | Basic atomic data information |
basis_functions_index.hpp | Contains definitiona and implementation of sirius::basis_functions_index class |
free_atom.hpp | Free atom full-potential solver |
hubbard_orbitals_descriptor.hpp | Contains a descriptor class for Hubbard orbitals |
radial_functions_index.hpp | Contains definition and implementation of sirius::radial_functions_index class |
unit_cell.cpp | Contains implementation of sirius::Unit_cell class |
unit_cell.hpp | Contains definition and partial implementation of sirius::Unit_cell class |
► vcsqnm | |
historylist.hpp | Implementation of the SQNM method. More informations about the algorithm can be found here: https://aip.scitation.org/doi/10.1063/1.4905665 |
periodic_optimizer.hpp | Implementation of the vc-sqnm method. More informations about the algorithm can be found here: https://arxiv.org/abs/2206.07339 |
sqnm.hpp | Implementation of the SQNM method. More informations about the algorithm can be found here: https://aip.scitation.org/doi/10.1063/1.4905665 |
_header_file_template.hpp | Empty file template |
sirius.hpp | "All-in-one" include file |
testing.hpp | Common functions for the tests and unit tests |