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
6
12{
14 template<typename TK, typename TR>
19 const UnitCell& ucell,
20 const Parallel_Orbitals& pv,
21 const double* (&dHSx)[3],
22 const double* (&dHSxy)[6],
23 const bool& isforce,
24 const bool& isstress,
25 Record_adj* ra = nullptr,
26 const double& factor_force = 1.0,
27 const double& factor_stress = 1.0);
28
30 template<typename TK, typename TR>
35 const UnitCell& ucell,
36 const Parallel_Orbitals& pv,
37 const double* (&dHSx)[3],
38 const double* dtau,
39 const bool& isforce,
40 const bool& isstress,
41 Record_adj* ra = nullptr,
42 const double& factor_force = 1.0,
43 const double& factor_stress = 1.0);
44
46 template<typename TK, typename TR>
47 void cal_pulay_fs(
51 const UnitCell& ucell,
52 const elecstate::Potential* pot,
53 const bool& isforce,
54 const bool& isstress,
55 const bool& set_dmr_gint = true);
56}
57#include "pulay_fs_temp.hpp"
58#include "pulay_fs_gint.hpp"
Definition matrix.h:18
Definition parallel_orbitals.h:9
Definition record_adj.h:12
Definition unitcell.h:15
Definition density_matrix.h:70
Definition potential_new.h:48
Definition pulay_fs.h:12
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