Models

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.

Contents

Index

Flat Model

ACFlow.build_flat_modelFunction
build_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

Note

This class includes the standard Gaussian model, shifted Gaussian model, and two-Gaussians model.

ACFlow.build_gaussian_modelFunction
build_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_modelFunction
build_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_modelFunction
build_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

Note

This class includes the standard Lorentzian model, shifted Lorentzian model, and two-Lorentzians model.

ACFlow.build_lorentzian_modelFunction
build_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_modelFunction
build_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_modelFunction
build_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

Note

This class includes the Rise-And-Decay model, file model, and function model.

ACFlow.build_risedecay_modelFunction
build_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_modelFunction
build_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_modelFunction
build_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.