ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Mix_Matrix.h
Go to the documentation of this file.
1//=======================
2// AUTHOR : Peize Lin
3// DATE : 2023-05-09
4//=======================
5
6#ifndef MIX_MATRIX_H
7#define MIX_MATRIX_H
8
9#include <vector>
10
13template <typename Tdata>
15{
16 public:
22 void init(Base_Mixing::Mixing* mixing_in)
23 {
24 this->mixing = mixing_in;
25 if (this->mixing == nullptr)
26 this->separate_loop = true;
27 }
33 const Tdata& get_data_out() const
34 {
35 return this->data_out;
36 }
37
43 void mix(const Tdata& data_in, const bool flag_restart);
44
45 double mixing_beta = 1.0;
46
47 private:
48 Tdata data_out;
51 bool separate_loop = false;
52};
53#endif
data for Mixing class
Definition mixing_data.h:14
Mixing class can mixing different steps of data to solver the iteration problem. For equation x = f(x...
Definition mixing.h:19
Definition Mix_Matrix.h:15
const Tdata & get_data_out() const
Get the data out object.
Definition Mix_Matrix.h:33
void init(Base_Mixing::Mixing *mixing_in)
init Mix_Matrix with Mixing pointer
Definition Mix_Matrix.h:22
Base_Mixing::Mixing_Data matrix_data
Definition Mix_Matrix.h:50
Base_Mixing::Mixing * mixing
Definition Mix_Matrix.h:49
double mixing_beta
Definition Mix_Matrix.h:45
Tdata data_out
Definition Mix_Matrix.h:48
bool separate_loop
Definition Mix_Matrix.h:51
void mix(const Tdata &data_in, const bool flag_restart)
Mixes the input data according to the set mixing mode.