For default model functions.
The ACFlow toolkit supports various model functions, such as flat, Gaussian, Lorentzian, and a few unusual models. They are useful for the MaxEnt and StochAC solvers. In order to build these model functions, we need some additional parameters, including $\Gamma$, $s$, $s_1$, and $s_2$. They should be setup by using the parameter pmodel.
ACFlow.build_1gaussian_modelACFlow.build_1lorentzian_modelACFlow.build_2gaussians_modelACFlow.build_2lorentzians_modelACFlow.build_file_modelACFlow.build_flat_modelACFlow.build_func_modelACFlow.build_gaussian_modelACFlow.build_lorentzian_modelACFlow.build_risedecay_model
Flat Model
ACFlow.build_flat_model — Functionbuild_flat_model(am::AbstractMesh)Try to build a flat model in am. Then this model function is normalized. Only this model function is suitable for the StochAC solver.
Arguments
- am -> Real frequency mesh.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.
Gaussian Models
This class includes the standard Gaussian model, shifted Gaussian model, and two-Gaussians model.
ACFlow.build_gaussian_model — Functionbuild_gaussian_model(am::AbstractMesh, Γ::F64)Try to build a Gaussian model, which is then normalized. The argument Γ is used to control the width of the Gaussian peak.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control width of the peak.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.
ACFlow.build_1gaussian_model — Functionbuild_1gaussian_model(am::AbstractMesh, Γ::F64, s::F64)Try to build a shifted Gaussian model, which is then normalized. The argument Γ is used to control the width of the Gaussian peak, and s means the shift of the central peak. If s > 0, the peak is shifted to positive half-axis, and vice versa.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control width of the gaussian peak.
- s -> Distance of the peak from ω = 0.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.
ACFlow.build_2gaussians_model — Functionbuild_2gaussians_model(am::AbstractMesh, Γ::F64, s₁::F64, s₂::F64)Try to build a Two Gaussians model, which is then normalized. The argument Γ is used to control the width of the Gaussian peak, and s₁ and s₂ denote the centers of the two peaks.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control width of the gaussian peaks.
- s₁ -> Distance of the first peak from ω = 0.
- s₂ -> Distance of the second peak from ω = 0.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.
Lorentzian Models
This class includes the standard Lorentzian model, shifted Lorentzian model, and two-Lorentzians model.
ACFlow.build_lorentzian_model — Functionbuild_lorentzian_model(am::AbstractMesh, Γ::F64)Try to build a Lorentzian model, which is then normalized. The argument Γ is used to control the width of the Lorentzian peak.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control broadening of the lorentzian peak.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.
ACFlow.build_1lorentzian_model — Functionbuild_1lorentzian_model(am::AbstractMesh, Γ::F64, s::F64)Try to build a shifted Lorentzian model, which is then normalized. The argument Γ is used to control the width of the Lorentzian peak, and s means the shift of the central peak. If s > 0, the peak is shifted to positive half-axis, and vice versa.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control broadening of the lorentzian peak.
- s -> Distance of the peak from ω = 0.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.
ACFlow.build_2lorentzians_model — Functionbuild_2lorentzians_model(am::AbstractMesh, Γ::F64, s₁::F64, s₂::F64)Try to build a Two-Lorentzians model, which is then normalized. The argument Γ is used to control the width of the Lorentzian peak, and s₁ and s₂ denote the centers of the two peaks.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control broadening of the lorentzian peaks.
- s₁ -> Distance of the first peak from ω = 0.
- s₂ -> Distance of the second peak from ω = 0.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.
Unusual Models
ACFlow.build_risedecay_model — Functionbuild_risedecay_model(am::AbstractMesh, Γ::F64)Try to build a Rise-And-Decay model, which is then normalized. This model function is defined on positive half-axis, so it is more suitable for the bosonic response function.
Arguments
- am -> Real frequency mesh.
- Γ -> Parameter to control rise and decay of the peak.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.
ACFlow.build_file_model — Functionbuild_file_model(am::AbstractMesh, fn::String)Try to read a model function from external file (specified by fn). Note that the mesh used to generate the model function must be compatible with am. In addition, the model function will be normalized automatically.
Arguments
- am -> Real frequency mesh.
- fn -> Filename for external model function.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.
ACFlow.build_func_model — Functionbuild_func_model(fun::Function, am::AbstractMesh, kwargs...)Try to build a model function by customized function fun. kwargs denotes the arguments required by fun. Actually, this feature does not really work.
Arguments
- fun -> A external funtion call to build the model function.
- am -> Real frequency mesh.
- kwargs -> Arguments that passed to
fun.
Returns
- model -> Default model function, m(ω). ω is compatible with
am.
See also: AbstractMesh.