Fractional Kelvin-Voigt
using RHEOS
# include a helper function for plotting
include("assets/plothelper.jl");
Fract_KelvinVoigt
Model name: fractKV
Free parameters: cₐ, a, cᵦ and β
________ ╱╲ ________
| ╲╱ cₐ, a |
____| |____
| |
|________ ╱╲ ________|
╲╱ cᵦ, β
Constitutive Equation
\[\sigma(t) = c_\alpha \frac{d^{\alpha} \epsilon(t)}{dt^{\alpha}}+ c_{\beta} \frac{d^\beta \epsilon(t)}{dt^\beta}\]
\[\text{for}\; \ 0 \leq \beta \leq \alpha \leq 1\]
Relaxation Modulus
\[G(t) =\frac{c_{\alpha} }{\Gamma(1-\alpha)} t^{-\alpha}+\frac{c_{\beta} }{\Gamma(1-\beta)} t^{-\beta}\]
Creep Modulus
\[J(t) = \frac{t^{\alpha}}{c_\alpha} E_{\alpha-\beta,1+\alpha}\left(-\frac{c_\beta}{c_\alpha} t^{\alpha-\beta}\right)\]
Storage Modulus
\[G^{\prime}(\omega) = c_\alpha \omega^\alpha \cos\left(\alpha \frac{\pi}{2}\right) + c_\beta \omega^\beta \cos \left( \beta \frac{\pi}{2}\right)\]
Loss Modulus
\[G^{\prime\prime}(\omega) = c_\alpha \omega^\alpha \sin\left(\alpha \frac{\pi}{2}\right) + c_\beta \omega^\beta \sin \left( \beta \frac{\pi}{2}\right)\]
Fractional (Spring) Kelvin-Voigt
FractS_KelvinVoigt
Model name: fractSpringKV
Free parameters: cₐ, a and k
________ ╱╲ ________
| ╲╱ cₐ, a |
____| |____
| |
|____╱╲ ╱╲ ╱╲ ____|
╲╱ ╲╱ ╲╱
k
models = Vector{RheoModel}()
# plot moduli for varying α
for alpha in [0.1, 0.3, 0.5, 0.7, 0.9]
push!(models, RheoModel(FractS_KelvinVoigt, (cₐ = 1.0, a = alpha, k = 1.0)))
end
plotmodel(models, ymaxG = 5.0)
Fractional (Dashpot) Kelvin-Voigt
FractD_KelvinVoigt
Model name: fractDashpotKV
Free parameters: η, cᵦ and β
___
_________| |________
| _|_| η |
____| |____
| |
|________ ╱╲ ________|
╲╱ cᵦ, β
models = Vector{RheoModel}()
# plot moduli for varying β
for beta in [0.1, 0.3, 0.5, 0.7, 0.9]
push!(models, RheoModel(FractD_KelvinVoigt, (η = 10, cᵦ= 1.0, β = beta)))
end
plotmodel(models, ymaxG = 3.0)
Kelvin-Voigt
KelvinVoigt
Model name: KelvinVoigt
Free parameters: η and k
___
_________| |________
| _|_| η |
____| |____
| |
|____╱╲ ╱╲ ╱╲ ____|
╲╱ ╲╱ ╲╱
k
models = Vector{RheoModel}()
# plot moduli for varying k
for η in [0.1, 1.0, 5.0]
push!(models, RheoModel(KelvinVoigt, (η = η, k = 1)))
end
plotmodel(models)
This page was generated using Literate.jl.