hi all,
Looking to see if someone can help me out.
Currently working with Trixi.jl and it’s great. However, because it’s fairly new, there are some things that have not been implemented. For example, handling nonlinear source terms like those in the Optical Kerr effect.
Trixi.jl will return a semi-discretized Discontinuous Galerkin ODE problem with the hyperbolic part of the equation along with the nonlinear source term. Currently, there is no way to split it up so I can’t use the SplitODEProblem
.
My next thought was to use the integrator
interface: Integrator Interface · DifferentialEquations.jl
Here’s what I’m thinking:
- First set up the linear
Trixi
problem with just the hyperbolic part with the nonlinear source term set to zero. This will return a semi-discretizedODEProblem
. - Then set up a nonlinear
Trixi
problem where the hyperbolic part is set to zero but the nonlinear source term is not zero. - Create separate integrators for the linear and nonlinear problems using
linear_int = init( linear_prob, Explicit_Algorithm )
andnonlinear_int = init( nonlinear_prob, Implicit_Algorithm)
Start loop
- step with linear-explicit:
step!(linear_int)
- re-initialize nonlinear integrator:
reinit!(nonlinear_int, linear_int.u; t0=linear_int.t)
- take nonlinear step:
step!(nonlinear_int)
- re-initialize linear-explicit:
reinit!(linear_int, nonlinear_int.u; t0=nonlinear_int.t)
- repeat loop
Not sure if this would be any good or if there is an easier way to do this