-
-
Notifications
You must be signed in to change notification settings - Fork 74
Nonlinear Laplacian Handling in MOLFiniteDifference #354
Comments
Can you elaborate more on this? How would you rewrite something like D(4 * exp(- 3 * u) * D(u)) ? |
The rewrite rule is essentially a regex, so it would catch (a(x+1/2) * (u[i+1] - u[i]) - a(x-1/2) * (u[i] - u[i-1]) / dx^2 which you can then generalize as in that PR with Fornberg. Now if it's just https://mitmath.github.io/18337/lecture14/pdes_and_convolutions So implicitly to the scheme there us a polynomial that is fit and would thus give the evaluation of Evaluating that at u(x+1/2) thus gives an approximation to Because of finite difference stability issues and errors, it might only be useful to hardcode the 2nd order version, and maybe the 4th order version, since the 6th order version isn't quite useful with standard Float64 numbers. But if there's a nice way to generate these then 🤷 let's go for it. In fact, I show exactly how you could do this symbolically, because the coefficients of the polynomial can be generated from a linear solve against a matrix with a repeated structure. So you could use Symbolics.jl to generate the matrix, use symbolic |
@emmanuellujan will take the lead on this one and I will do spherical domain (#367 ) |
Hello @ChrisRackauckas, in a 3D case, do you use a polynomial like this? |
@Suavesito-Olimpiada If you want bigger fish to fry, this is the issue to look at! |
@Suavesito-Olimpiada Does |
Nonlinear Laplacian Handling in MOLFiniteDifference (issue #354)
This requires a rule application so that the substitution can look for an arbitrary
D(a * D(u))
and rewrite witha
. Some of the tricks for this are shown in the upwinding section of the code, but this requires an additional feature in the SymbolicUtils rules for interpolation into rules.@shashi @YingboMa
The text was updated successfully, but these errors were encountered: