An advanced electrodialysis process model in the Julia ecosystem

Bram De Jaegher

logoUGent

An advanced electrodialysis process model
in the Julia ecosystem

Bram De Jaegher, Ingmar Nopens

juliacon 2019

logoUGent

An advanced electrodialysis process model
in the Julia ecosystem

Bram De Jaegher, Ingmar Nopens

juliacon 2019

Electrodialysis removes charged components from liquids

Electrodialysis removes charged components from liquids

Electrodialysis removes charged components from liquids

Some charged components are annoying...

Some charged components are annoying...

Some charged components are annoying...

Some charged components are annoying...

Modelling particle interactions is expensive

→ need for an efficient description!

ODEs and neural networks made a baby...

ODEs and neural networks made a baby...

ODEs and neural networks made a baby...

ODEs and neural networks made a baby...

ODEs and neural networks made a baby...

Electric resistance is indicator of fouling

Let us test this on a simple example...

Cookbook for neural ODEs

  • Neural network/ML library
    • ANN structure
  • ODE solvers
  • DataFrames, Plotting
							using Flux
							ann = Chain(Dense(4,8,σ), 
							    Dense(8,8,σ), 
							    Dense(8,8,σ), 
							    Dense(8,1)) 
							using DifferentialEquations, DiffEqFlux
							function dudt_(u::TrackedArray, p, t) 
								Flux.Tracker.collect([ann(u)[1])
							end
							prob = ODEProblem(dudt_, x, (t0, tend), p)
							using DataFrames, Plots, CSV
						
DiffEqFlux.jl – A Julia Library for Neural Differential Equations

Cookbook for neural ODEs

  • Neural network/ML library
    • ANN structure
  • ODE solvers
  • DataFrames, Plotting
							using Flux
							ann = Chain(Dense(4,8,σ), 
							    Dense(8,8,σ), 
							    Dense(8,8,σ), 
							    Dense(8,1)) 
							using DifferentialEquations, DiffEqFlux
							function dudt_(u::TrackedArray, p, t) 
								Flux.Tracker.collect([ann(u)[1])
							end
							prob = ODEProblem(dudt_, x, (t0, tend), p)
							using DataFrames, Plots, CSV
						
DiffEqFlux.jl – A Julia Library for Neural Differential Equations

Cookbook for neural ODEs

  • Neural network/ML library
    • ANN structure
  • ODE solvers
  • DataFrames, Plotting
							using Flux
							ann = Chain(Dense(4,8,σ), 
							    Dense(8,8,σ), 
							    Dense(8,8,σ), 
							    Dense(8,1)) 
							using DifferentialEquations, DiffEqFlux
							function dudt_(u::TrackedArray, p, t) 
								Flux.Tracker.collect([ann(u)[1])
							end
							prob = ODEProblem(dudt_, x, (t0, tend), p)
							using DataFrames, Plots, CSV
						
DiffEqFlux.jl – A Julia Library for Neural Differential Equations

Taking it further

$$\cfrac{\mathrm{d}R(t)}{\mathrm{d}t} = \mathrm{ANN}\left(R(t), \, i, \, c_e, \, v\right)$$

Data: Korngold, E. et al. (1970)

Taking it further

$$\cfrac{\mathrm{d}R(t)}{\mathrm{d}t} = \mathrm{ANN}\left(R(t), \, i, \, c_e, \, v\right)$$

Data: Korngold, E. et al. (1970)

Validation

$$\cfrac{\mathrm{d}R(t)}{\mathrm{d}t} = \mathrm{ANN}\left(R(t), \, i, \, c_e, \, v\right)$$

Data: Korngold, E. et al. (1970)

Validation

$$\cfrac{\mathrm{d}R(t)}{\mathrm{d}t} = \mathrm{ANN}\left(R(t), \, i, \, c_e, \, v\right)$$

Data: Korngold, E. et al. (1970)

Summary

  1. Electrodialysis fouling is a complex process
  2. Fouling dynamics can be modelled with neural ODEs
  3. Preliminary neural ODE experiment showed promising results

Perspectives

Summary

  1. Electrodialysis fouling is a complex process
  2. Fouling dynamics can be modelled with neural ODEs
  3. Preliminary neural ODE experiment showed promising results

Perspectives

Summary

  1. Electrodialysis fouling is a complex process
  2. Fouling dynamics can be modelled with neural ODEs
  3. Preliminary neural ODE experiment showed promising results

Perspectives

Summary

  1. Electrodialysis fouling is a complex process
  2. Fouling dynamics can be modelled with neural ODEs
  3. Preliminary neural ODE experiment showed promising results

Perspectives

Summary

  1. Electrodialysis fouling is a complex process
  2. Fouling dynamics can be modelled with neural ODEs
  3. Preliminary neural ODE experiment showed promising results

Perspectives

logoUGent

An advanced electrodialysis process model
in the Julia ecosystem

Bram.DeJaegher@UGent.be

juliacon 2019