ModelingToolkit & Fractional Differential Equations?

I noticed some time ago that someone discussed a new package on Fractional Differential Equation solvers – I had not heard of this before, so I didn’t pay much attention.

Now, I see that in electrochemistry, it is relatively common to replace an ideal capacitor model:

i_c = C\cdot \frac{\mathrm{d}v}{\mathrm{d}t}

with a “constant phase element” [CPE] in the fractional differential equation form:

i_c = Q\cdot \frac{\mathrm{d}^\alpha v}{\mathrm{d}t^\alpha}

where \alpha \in (0,1], and where the Laplace-transform is understood as:

i_c(s) = Q\cdot s^{\alpha} v(s)

Question 1: Would it be possible to describe FDEs in ModelingToolkit?

Question 2: Is there a way to approximate FDEs with ODEs?

I cannot answer Q1, but I can answer Q2.

No, there is no way a FDE can be approximated with ODEs. ODEs are point functions, while FDEs are hereditary functions.

Kai Diethelm, Neville Ford and I (see A Predictor-Corrector Approach for the Numerical Solution of Fractional Differential Equations | Nonlinear Dynamics, see also Algorithms for the fractional calculus: A selection of numerical methods - ScienceDirect) developed a predictor-corrector method that has been used with great success across the sciences, and multiple other disciplines, too. I am not certain if it exists in the Julia ecosystem, but it likely does. I do know that the Mittag-Leffler function has been implemented in Julia according to the algorithm presented in the second paper cited above, as I’ve used it in my own work.

The fractional capacitance model that you speak of is due to Cole and Cole.

Best wishes in your adventure into the fractional calculus.

Al Freed

2 Likes

Can’t you use a Padé approximation of the s^\alpha term, like you could to for e^{\tau s}?

1 Like

Here’s a package with numerical methods for solving FDE’s GitHub - SciFracX/FractionalDiffEq.jl: Solve Fractional Differential Equations using high performance numerical methods.

Yes, you can approximate FDEs using ODEs, approximate the transfer function s^\alpha using a rational transfer function.

The expression in electro chemistry seems to have a history with a ladder network of circuits, which, in some limit becomes as indicated. Probably in series with a “solution resistance”. This is why I kind of thought there might be some approximation. I’ll check around.

The ladder network you saw was likely an approximation of one of the operators. Using ladder networks of resistors and capacitors, you can do a rational approximation of s^\alpha / \frac{1}{s^\alpha}. Studies on fractional order differentiators and integrators: A survey - ScienceDirect has a survey that I used often when I did my Master’s thesis on the topic.

1 Like

You can do things like transform them into BVPs. But yes, transforms that do approximations, connecting to FractionalDiffEq.jl, etc. would all be good. It just needs hands to do it.

1 Like