Module Index
Detailed API
MCTBetaScaling.BetaScalingEquation
— MethodBetaScalingEquation(λ, σ, t₀, δ=0.0)
Defines the β-scaling equation of MCT, which is a scalar equation for a single scaling function g(t), determined by scalar parameters λ (the MCT exponent parameter, 1/2<=λ<1), the distance parameter to the glass transition σ, and (for convenience) an arbitrary time scale t₀ that just shifts the results. Optionally, a "hopping parameter" δ can be given (defaults to zero).
The MCT exponents a and b will be automatically calculated from λ.
MCTBetaScaling.regula_falsi
— Methodregula_falsi(x0::Float64, x1::Float64, f; accuracy=10^-10, max_iterations=10^4)
Implements a simple "regular falsi" search to find a point x where f(x)=0 within the given accuracy, starting in the interval [x0,x1]. For purists, f(x) should have exactly one root in the given interval, and the scheme will then converge to that. The present code is a bit more robust, at the expense of not guaranteeing convergence strictly.
Returns a point x such that approximately f(x)==0 (unless the maximum number of iterations has been exceeded). If exactly one of the roots of f(x) lie in the initially given interval [x0,x1], the returned x will be the approximation to that root.
Arguments:
x0
: lower bound of the initial search intervalx1
: upper bound of the initial search intervalf
: a function accepting one real value, return one real value
ModeCouplingTheory.initialize_F_temp!
— Methodinitialize_F_temp!(equation::BetaScalingEquation, solver::ModeCouplingTheory.TimeDoublingSolver, temp_arrays::ModeCouplingTheory.SolverCache)
Fills the first 2N entries of the temporary arrays needed for solving the β-scaling equation with a an adapted Fuchs scheme.
In particular, this initializes g(t) = (t/t₀)^-a.
ModeCouplingTheory.initialize_integrals!
— Methodinitialize_integrals!(equation::BetaScalingEquation, solver::ModeCouplingTheory.TimeDoublingSolver, temp_arrays::ModeCouplingTheory.SolverCache)
Initializes the integrals over the first 2N time points for the solution of the β-scaling equation, using the known critical decay law as the short-time asymptote.
ModeCouplingTheory.update_Fuchs_parameters!
— Methodupdate_Fuchs_parameters!(equation::BetaScalingEquation, solver::ModeCouplingTheory.TimeDoublingSolver, temp_arrays::ModeCouplingTheory.SolverCache, it::Int)
Updates the parameters that are needed to solve the β-scaling equation numerically with Fuchs' scheme.