Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Class has to be parametrized with user defined `Dyson` type. `Dyson` publicly de
- `solve(G&, Sigma1&, Sigma_tau&)` - for a given self-energies
- `diff(G&, Sigma1&, Sigma_tau&)` - computes convergence creteria
- `dump_iteration(int iter, const std::string&f)` - store additional data into a results file `f` for a given iteration `iter`.
- `const std::string& get_grids_version() const` - returns either the version of IR/Chebyshev transformation grid files if [`green-grids`](https://github.com/Green-Phys/green-grids.git) is used, otherwise, it should return `green::grids::GRIDS_MIN_VERSION` as a placeholder.

The method `solve` needs four parameters:

Expand Down Expand Up @@ -79,6 +80,20 @@ public:
}
double diff(const G& g, const Sigma1& sigma1, const Sigma_tau& sigma_tau) { return _diff; }
void dump_iteration(size_t iter, const std::string& result_file){};

/**
* @brief Returns a dummy min grids version used in IR / Chebyshev Fourier transformations
* NOTE: Ideally, the Dyson solver depends on green-grids for IR / Chebyshev Fourier transformation;
* In that case, define a class variable:
*
* green::grids::transformer_t _ft;
*
* which is initialized as _ft(p) -- p being the green::params::params type
* And then, the function get_grids_version() should return
*
* _ft.get_version();
*/
const std::string & get_grids_version() const { return green::grids::GRIDS_MIN_VERSION; }
};

// define solver class
Expand Down