Abstract base class for electronic mixing.
More...
|
procedure(next), deferred | next (self, error) |
| Apply mixing to the density.
|
|
generic | set (self, qvec) |
| Set new density.
|
|
generic | set (self, qvec) |
| Set new density.
|
|
generic | set (self, qvec) |
| Set new density.
|
|
procedure(set_1d), deferred | set_1d (self, qvec) |
| Set new density from 1D array.
|
|
procedure | set_2d (self, qvec) |
| Set new density from 2D array.
|
|
procedure | set_3d (self, qvec) |
| Set new density from 3D array.
|
|
generic | diff (self, qvec) |
| Set difference between new and old density.
|
|
generic | diff (self, qvec) |
| Set difference between new and old density.
|
|
generic | diff (self, qvec) |
| Set difference between new and old density.
|
|
procedure(diff_1d), deferred | diff_1d (self, qvec) |
| Set difference between new and old density from 1D array.
|
|
procedure | diff_2d (self, qvec) |
| Set difference between new and old density from 2D array.
|
|
procedure | diff_3d (self, qvec) |
| Set difference between new and old density from 3D array.
|
|
generic | get (self, qvec) |
| Get density.
|
|
generic | get (self, qvec) |
| Get density.
|
|
generic | get (self, qvec) |
| Get density.
|
|
procedure(get_1d), deferred | get_1d (self, qvec) |
| Get density as 1D array.
|
|
procedure | get_2d (self, qvec) |
| Get density as 2D array.
|
|
procedure | get_3d (self, qvec) |
| Get density as 3D array.
|
|
procedure(get_error), deferred | get_error (self) |
| Get error metric from mixing.
|
|
Abstract base class for electronic mixing.
◆ diff() [1/3]
generic tblite_scf_mixer_type::mixer_type::diff |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:), intent(in) | qvec ) |
Set difference between new and old density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ diff() [2/3]
generic tblite_scf_mixer_type::mixer_type::diff |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :), intent(in), target, contiguous | qvec ) |
Set difference between new and old density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ diff() [3/3]
generic tblite_scf_mixer_type::mixer_type::diff |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :, :), intent(in), target, contiguous | qvec ) |
Set difference between new and old density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ diff_1d()
procedure(diff_1d), deferred tblite_scf_mixer_type::mixer_type::diff_1d |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:), intent(in) | qvec ) |
|
pure virtual |
Set difference between new and old density from 1D array.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ diff_2d()
procedure tblite_scf_mixer_type::mixer_type::diff_2d |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :), intent(in), target, contiguous | qvec ) |
Set difference between new and old density from 2D array.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ diff_3d()
procedure tblite_scf_mixer_type::mixer_type::diff_3d |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :, :), intent(in), target, contiguous | qvec ) |
Set difference between new and old density from 3D array.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ get() [1/3]
generic tblite_scf_mixer_type::mixer_type::get |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:), intent(out) | qvec ) |
Get density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[out] | qvec | Density vector |
◆ get() [2/3]
generic tblite_scf_mixer_type::mixer_type::get |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :), intent(out), target, contiguous | qvec ) |
Get density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[out] | qvec | Density vector |
◆ get() [3/3]
generic tblite_scf_mixer_type::mixer_type::get |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :, :), intent(out), target, contiguous | qvec ) |
Get density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[out] | qvec | Density vector |
◆ get_1d()
procedure(get_1d), deferred tblite_scf_mixer_type::mixer_type::get_1d |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:), intent(out) | qvec ) |
|
pure virtual |
Get density as 1D array.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[out] | qvec | Density vector |
◆ get_2d()
procedure tblite_scf_mixer_type::mixer_type::get_2d |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :), intent(out), target, contiguous | qvec ) |
Get density as 2D array.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[out] | qvec | Density vector |
◆ get_3d()
procedure tblite_scf_mixer_type::mixer_type::get_3d |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :, :), intent(out), target, contiguous | qvec ) |
Get density as 3D array.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[out] | qvec | Density vector |
◆ get_error()
procedure(get_error), deferred tblite_scf_mixer_type::mixer_type::get_error |
( |
class(mixer_type), intent(in) | self | ) |
|
|
pure virtual |
Get error metric from mixing.
- Parameters
-
[in] | self | Instance of the electronic mixer |
- Returns
- Error metric
◆ next()
procedure(next), deferred tblite_scf_mixer_type::mixer_type::next |
( |
class(mixer_type), intent(inout) | self, |
|
|
type(error_type), intent(out), allocatable | error ) |
|
pure virtual |
Apply mixing to the density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[out] | error | Error handling |
◆ set() [1/3]
generic tblite_scf_mixer_type::mixer_type::set |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:), intent(in) | qvec ) |
Set new density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ set() [2/3]
generic tblite_scf_mixer_type::mixer_type::set |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :), intent(in), target, contiguous | qvec ) |
Set new density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ set() [3/3]
generic tblite_scf_mixer_type::mixer_type::set |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :, :), intent(in), target, contiguous | qvec ) |
Set new density.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ set_1d()
procedure(set_1d), deferred tblite_scf_mixer_type::mixer_type::set_1d |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:), intent(in) | qvec ) |
|
pure virtual |
Set new density from 1D array.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ set_2d()
procedure tblite_scf_mixer_type::mixer_type::set_2d |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :), intent(in), target, contiguous | qvec ) |
Set new density from 2D array.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
◆ set_3d()
procedure tblite_scf_mixer_type::mixer_type::set_3d |
( |
class(mixer_type), intent(inout) | self, |
|
|
real(wp), dimension(:, :, :), intent(in), target, contiguous | qvec ) |
Set new density from 3D array.
- Parameters
-
[in,out] | self | Instance of the electronic mixer |
[in] | qvec | Density vector |
The documentation for this type was generated from the following file:
- /home/runner/work/tblite/tblite/src/tblite/scf/mixer/type.f90