3 Nonlinear Convection
Going to implement nonlinear convection in 1D:
\[\frac{\partial u }{\partial t} + u \frac{\partial u}{\partial x} = 0\]
difference: instead of a constant \(c\), we’re multiplying the solution \(u\) onto the second term
Then the discretized equation is:
\[\frac{u_i^{n+1} - u_i^n}{\Delta t} + u_i^n \frac{u_i^n - u_{i-1}^n}{\Delta x} = 0\]
Then, solving for \(u_i^{n+1}\):
\[u_i^{n+1} = u_i^n - u_i^n \frac{\Delta t}{\Delta x}(u_i^n - u_{i-1}^n)\]
3.1 Implementations
def init-params {:x-start 0
(:x-end 2
:nx 41
:nt 20
:dt 0.025
:co-eff :nonlinear})
source: notebooks/steps/step_02.clj