Loading...
Searching...
No Matches
q3::NoPreconditioner Class Reference

Identity preconditioner: leaves the residual untouched. More...

#include <none.hpp>

+ Inheritance diagram for q3::NoPreconditioner:

Public Member Functions

void apply (std::vector< Complex > &) const override
 
std::string name () const override
 
- Public Member Functions inherited from q3::Preconditioner
virtual ~Preconditioner ()=default
 
virtual void update (const std::vector< Real > &)
 

Detailed Description

Identity preconditioner: leaves the residual untouched.

Definition at line 19 of file none.hpp.

Member Function Documentation

◆ apply()

void q3::NoPreconditioner::apply ( std::vector< Complex > &  residual_g) const
inlineoverridevirtual

Apply the preconditioner to one G-space residual channel, in place.

Callers pass the TOTAL charge channel only: the magnetization channel has no Coulomb kernel to screen, and damping its long-wavelength components would freeze slow moment relaxation. The G = 0 component must be left untouched — it is fixed by charge conservation, and the mixing metric excludes it for the same reason.

Parameters
residual_gresidual in reciprocal space; overwritten with the preconditioned residual.

Implements q3::Preconditioner.

Definition at line 25 of file none.hpp.

◆ name()

std::string q3::NoPreconditioner::name ( ) const
inlineoverridevirtual

Implements q3::Preconditioner.

Definition at line 21 of file none.hpp.


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