ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
elecstate::H_TDDFT_pw Class Reference

#include <H_TDDFT_pw.h>

Inheritance diagram for elecstate::H_TDDFT_pw:
Collaboration diagram for elecstate::H_TDDFT_pw:

Public Member Functions

 H_TDDFT_pw (const ModulePW::PW_Basis *rho_basis_in, const UnitCell *ucell_in)
 
 ~H_TDDFT_pw ()
 
void cal_fixed_v (double *vl_pseudo) override
 
- Public Member Functions inherited from elecstate::PotBase
 PotBase ()
 
virtual ~PotBase ()
 
virtual void cal_v_eff (const Charge *const chg, const UnitCell *const ucell, ModuleBase::matrix &v_eff)
 

Static Public Member Functions

static void compute_force (const UnitCell &cell, ModuleBase::matrix &fe)
 Compute ionic force of electric field.
 
static void update_At ()
 

Static Public Attributes

static int stype
 
static std::vector< int > ttype
 
static int tstart
 
static int tend
 
static double dt
 
static double dt_int
 
static int istep_int
 
static double lcut1
 
static double lcut2
 
static ModuleBase::Vector3< double > At
 
static ModuleBase::Vector3< double > At_laststep
 
static ModuleBase::Vector3< double > Et
 
static int gauss_count
 
static std::vector< double > gauss_omega
 
static std::vector< double > gauss_phase
 
static std::vector< double > gauss_sigma
 
static std::vector< double > gauss_t0
 
static std::vector< double > gauss_amp
 
static std::vector< int > gauss_ncut
 
static int trape_count
 
static std::vector< double > trape_omega
 
static std::vector< double > trape_phase
 
static std::vector< double > trape_t1
 
static std::vector< double > trape_t2
 
static std::vector< double > trape_t3
 
static std::vector< double > trape_amp
 
static std::vector< int > trape_ncut
 
static int trigo_count
 
static std::vector< double > trigo_omega1
 
static std::vector< double > trigo_omega2
 
static std::vector< double > trigo_phase1
 
static std::vector< double > trigo_phase2
 
static std::vector< double > trigo_amp
 
static std::vector< int > trigo_ncut
 
static int heavi_count
 
static std::vector< double > heavi_t0
 
static std::vector< double > heavi_amp
 

Private Member Functions

void current_step_info (const std::string &file_dir, int &istep)
 
void cal_v_space (std::vector< double > &vext_space, int direc)
 
void cal_v_space_length (std::vector< double > &vext_space, int direc)
 
double cal_v_space_length_potential (double i)
 

Static Private Member Functions

static double cal_v_time (int t_type, const bool last)
 
static double cal_v_time_Gauss (const bool last)
 
static double cal_v_time_trapezoid (const bool last)
 
static double cal_v_time_trigonometric (const bool last)
 
static double cal_v_time_heaviside (const bool last)
 
static int check_ncut (int t_type)
 

Private Attributes

const UnitCellucell_ = nullptr
 

Static Private Attributes

static int istep = -1
 
static bool is_initialized = false
 
static double amp
 
static vector< double > global_vext_time = {0.0, 0.0, 0.0}
 

Additional Inherited Members

- Public Attributes inherited from elecstate::PotBase
bool fixed_mode = 0
 
bool dynamic_mode = 0
 
- Protected Attributes inherited from elecstate::PotBase
const ModulePW::PW_Basisrho_basis_ = nullptr
 
const ModulePW::PW_Basisrho_basis_smooth_ = nullptr
 

Constructor & Destructor Documentation

◆ H_TDDFT_pw()

elecstate::H_TDDFT_pw::H_TDDFT_pw ( const ModulePW::PW_Basis rho_basis_in,
const UnitCell ucell_in 
)
inline
Here is the call graph for this function:

◆ ~H_TDDFT_pw()

elecstate::H_TDDFT_pw::~H_TDDFT_pw ( )
inline

Member Function Documentation

◆ cal_fixed_v()

void elecstate::H_TDDFT_pw::cal_fixed_v ( double *  vl_pseudo)
overridevirtual

Reimplemented from elecstate::PotBase.

Here is the call graph for this function:

◆ cal_v_space()

void elecstate::H_TDDFT_pw::cal_v_space ( std::vector< double > &  vext_space,
int  direc 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_v_space_length()

void elecstate::H_TDDFT_pw::cal_v_space_length ( std::vector< double > &  vext_space,
int  direc 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_v_space_length_potential()

double elecstate::H_TDDFT_pw::cal_v_space_length_potential ( double  i)
private
Here is the caller graph for this function:

◆ cal_v_time()

double elecstate::H_TDDFT_pw::cal_v_time ( int  t_type,
const bool  last 
)
staticprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_v_time_Gauss()

double elecstate::H_TDDFT_pw::cal_v_time_Gauss ( const bool  last)
staticprivate
Here is the caller graph for this function:

◆ cal_v_time_heaviside()

double elecstate::H_TDDFT_pw::cal_v_time_heaviside ( const bool  last)
staticprivate
Here is the caller graph for this function:

◆ cal_v_time_trapezoid()

double elecstate::H_TDDFT_pw::cal_v_time_trapezoid ( const bool  last)
staticprivate
Here is the caller graph for this function:

◆ cal_v_time_trigonometric()

double elecstate::H_TDDFT_pw::cal_v_time_trigonometric ( const bool  last)
staticprivate
Here is the caller graph for this function:

◆ check_ncut()

int elecstate::H_TDDFT_pw::check_ncut ( int  t_type)
staticprivate
Here is the caller graph for this function:

◆ compute_force()

void elecstate::H_TDDFT_pw::compute_force ( const UnitCell cell,
ModuleBase::matrix fe 
)
static

Compute ionic force of electric field.

Parameters
[in]cellInformation of cell
[out]feForce of electric field F = qE
Here is the caller graph for this function:

◆ current_step_info()

void elecstate::H_TDDFT_pw::current_step_info ( const std::string &  file_dir,
int &  istep 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_At()

void elecstate::H_TDDFT_pw::update_At ( )
static
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ amp

double elecstate::H_TDDFT_pw::amp
staticprivate

◆ At

ModuleBase::Vector3< double > elecstate::H_TDDFT_pw::At
static

◆ At_laststep

ModuleBase::Vector3< double > elecstate::H_TDDFT_pw::At_laststep
static

◆ dt

double elecstate::H_TDDFT_pw::dt
static

◆ dt_int

double elecstate::H_TDDFT_pw::dt_int
static

◆ Et

ModuleBase::Vector3< double > elecstate::H_TDDFT_pw::Et
static

◆ gauss_amp

std::vector< double > elecstate::H_TDDFT_pw::gauss_amp
static

◆ gauss_count

int elecstate::H_TDDFT_pw::gauss_count
static

◆ gauss_ncut

std::vector< int > elecstate::H_TDDFT_pw::gauss_ncut
static

◆ gauss_omega

std::vector< double > elecstate::H_TDDFT_pw::gauss_omega
static

◆ gauss_phase

std::vector< double > elecstate::H_TDDFT_pw::gauss_phase
static

◆ gauss_sigma

std::vector< double > elecstate::H_TDDFT_pw::gauss_sigma
static

◆ gauss_t0

std::vector< double > elecstate::H_TDDFT_pw::gauss_t0
static

◆ global_vext_time

vector< double > elecstate::H_TDDFT_pw::global_vext_time = {0.0, 0.0, 0.0}
staticprivate

◆ heavi_amp

std::vector< double > elecstate::H_TDDFT_pw::heavi_amp
static

◆ heavi_count

int elecstate::H_TDDFT_pw::heavi_count
static

◆ heavi_t0

std::vector< double > elecstate::H_TDDFT_pw::heavi_t0
static

◆ is_initialized

bool elecstate::H_TDDFT_pw::is_initialized = false
staticprivate

◆ istep

int elecstate::H_TDDFT_pw::istep = -1
staticprivate

◆ istep_int

int elecstate::H_TDDFT_pw::istep_int
static

◆ lcut1

double elecstate::H_TDDFT_pw::lcut1
static

◆ lcut2

double elecstate::H_TDDFT_pw::lcut2
static

◆ stype

int elecstate::H_TDDFT_pw::stype
static

◆ tend

int elecstate::H_TDDFT_pw::tend
static

◆ trape_amp

std::vector< double > elecstate::H_TDDFT_pw::trape_amp
static

◆ trape_count

int elecstate::H_TDDFT_pw::trape_count
static

◆ trape_ncut

std::vector< int > elecstate::H_TDDFT_pw::trape_ncut
static

◆ trape_omega

std::vector< double > elecstate::H_TDDFT_pw::trape_omega
static

◆ trape_phase

std::vector< double > elecstate::H_TDDFT_pw::trape_phase
static

◆ trape_t1

std::vector< double > elecstate::H_TDDFT_pw::trape_t1
static

◆ trape_t2

std::vector< double > elecstate::H_TDDFT_pw::trape_t2
static

◆ trape_t3

std::vector< double > elecstate::H_TDDFT_pw::trape_t3
static

◆ trigo_amp

std::vector< double > elecstate::H_TDDFT_pw::trigo_amp
static

◆ trigo_count

int elecstate::H_TDDFT_pw::trigo_count
static

◆ trigo_ncut

std::vector< int > elecstate::H_TDDFT_pw::trigo_ncut
static

◆ trigo_omega1

std::vector< double > elecstate::H_TDDFT_pw::trigo_omega1
static

◆ trigo_omega2

std::vector< double > elecstate::H_TDDFT_pw::trigo_omega2
static

◆ trigo_phase1

std::vector< double > elecstate::H_TDDFT_pw::trigo_phase1
static

◆ trigo_phase2

std::vector< double > elecstate::H_TDDFT_pw::trigo_phase2
static

◆ tstart

int elecstate::H_TDDFT_pw::tstart
static

◆ ttype

std::vector< int > elecstate::H_TDDFT_pw::ttype
static

◆ ucell_

const UnitCell* elecstate::H_TDDFT_pw::ucell_ = nullptr
private

The documentation for this class was generated from the following files: