-
-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rethinking the linear solver and Jacobian interface #521
Comments
Hi, just looked for an open issue where this fits... Is there a way to calculate
The main idea is that in order to prevent to run the assembly ode twice I just check if it was already run with a given vector by comparing hashes. Some questions:
Nevertheless I am just lightning struck that everything appears to work: It seems that I can run now my pde evolution problems with DifferentialEquations.jl by just adding a couple of methods to my code which provide the right interface. And yes, I avoid costly sparsity detection on larger grids here, and my ExtendableSparse.jl matrix class seems to play well, too. |
Here is the first running code of this kind (see run_diffeq()) :https://j-fu.github.io/VoronoiFVM.jl/dev/examples/DiffEqCompare/ |
Implicit Euler is probably the only place where that would make sense, and even then I'm a little skeptical. If it takes 20
Interesting. It might be good to hardcode some matrix coloring solutions for FVM, because indeed it can take a bit to compute. There's an interface for matrix types to overload and provide a fast coloring solution: https://github.com/SciML/ArrayInterface.jl/blob/master/src/ArrayInterface.jl#L440-L474
You need two if you're not doing a Krylov method, one if you are. The reason is because factorizations are disconnected from
Thanks for sharing. I think in that case you Rodas5 won't scale well (because it cannot reuse factorizations well). You might want an interface to DAEProblem to use IDA. On the pure Julia side, to really perfect our suite for this kind of problem, RadauIIA5 needs sparse Jacobian support, and we need a pure Julia BDF that is better than the one we had before. We're almost there. |
With the new advanced ODE solving tutorial, one thing that has become more clear is that we need to think about how we're doing some of the linear solver pieces.
jac
function that would be approximate, and then use aJacVecOperator
.JacVecOperator
was actually automatic when doing something Newton-Krylov.The text was updated successfully, but these errors were encountered: