Skip to content

LR-TDDFT Implementation #2460

@maki49

Description

@maki49

What's this issue for?

  • updating new developments
  • asking questions
  • being linked when modifying the existing code for the new feature

Problem 1: How can we get ground state infomation from ESolver_KS for beyond DFT methods?

The ground state information means wavefunction psi::Psi and band energy pelec->ekb.
Of course, we can write a file that will be read in the excited-state solver. But I think there should be a more elegant way like this:

// in Driver::driver_run():
psi::Psi ks_psi = p_esolver->get_psi();
ESolver_LRTDDFT(ks_psi);

However, this is not supported in the current program framework using polymorphism, because Psi is in the derived class and a pointer to the base class cannot get it.

Also, I don't think it's a reasonable way to let ESolver_LRTDDFT be a child class of ESolver_KS (from both code structure and physics points of view).

Are there any better solutions other than write-and-read or putting Psi into the base class ESolver?

Metadata

Metadata

Assignees

Labels

Features NeededThe features are indeed needed, and developers should have sophisticated knowledge

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions