ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
pulay_fs.h
Go to the documentation of this file.
1#pragma once
7
13{
15 template<typename TK, typename TR>
20 const UnitCell& ucell,
21 const Parallel_Orbitals& pv,
22 const double* (&dHSx)[3],
23 const double* (&dHSxy)[6],
24 const bool& isforce,
25 const bool& isstress,
26 Record_adj* ra = nullptr,
27 const double& factor_force = 1.0,
28 const double& factor_stress = 1.0);
29
31 template<typename TK, typename TR>
36 const UnitCell& ucell,
37 const Parallel_Orbitals& pv,
38 const double* (&dHSx)[3],
39 const double* dtau,
40 const bool& isforce,
41 const bool& isstress,
42 Record_adj* ra = nullptr,
43 const double& factor_force = 1.0,
44 const double& factor_stress = 1.0);
45
47 template<typename TK, typename TR>
48 void cal_pulay_fs(
52 const UnitCell& ucell,
53 const elecstate::Potential* pot,
54 const bool& isforce,
55 const bool& isstress,
56 const bool& set_dmr_gint = true);
57}
58#include "pulay_fs_temp.hpp"
59#include "pulay_fs_gint.hpp"
Definition matrix.h:19
Definition parallel_orbitals.h:9
Definition record_adj.h:12
Definition unitcell.h:17
Definition density_matrix.h:36
Definition potential_new.h:49
Definition pulay_fs.h:13
void cal_pulay_fs(ModuleBase::matrix &f, ModuleBase::matrix &s, const elecstate::DensityMatrix< TK, TR > &dm, const UnitCell &ucell, const Parallel_Orbitals &pv, const double *(&dHSx)[3], const double *(&dHSxy)[6], const bool &isforce, const bool &isstress, Record_adj *ra=nullptr, const double &factor_force=1.0, const double &factor_stress=1.0)
for 2-center-integration terms, provided force and stress derivatives