Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 07:53
    YingboMa closed #1049
  • 07:53
    YingboMa commented #1049
  • 07:35
    lamorton commented #1049
  • 03:34
    rjpower4 opened #758
  • 02:56
    yijiangh starred SciML/NeuralPDE.jl
  • 01:29
    KirillZubov commented #327
  • 01:25
    KirillZubov commented #327
  • 01:20
    ChrisRackauckas commented #91
  • 00:55
    alexlenail opened #91
  • Jun 16 23:53
    chriselrod commented #407
  • Jun 16 23:43
    chriselrod commented #407
  • Jun 16 23:39
    alexlenail commented #90
  • Jun 16 23:39
    alexlenail closed #90
  • Jun 16 23:33
    chriselrod commented #407
  • Jun 16 23:31
    chriselrod commented #407
  • Jun 16 23:10
    alexpattyn commented #327
  • Jun 16 23:09
    chriselrod commented #407
  • Jun 16 23:03
    alexpattyn commented #327
  • Jun 16 22:41
    ChrisRackauckas commented #327
BridgingBot
@GitterIRCbot
[slack] <Praharsh Suryadevara> I also have a generic question, does using a sparse solver increase the number of function evaluations for ODE solvers in general?
[slack] <Praharsh Suryadevara> I'll check, haven't played around with it as much
[slack] <yingbo_ma> Direct linear solvers have no effect on the number of function evaluations if you don’t count the fact that small numerical drafts on the order of machine epsilon may vary the number of steps taken
BridgingBot
@GitterIRCbot
[slack] <Praharsh Suryadevara> hmm, so there would not be a dependence on stiffness ? I'm wondering whether a stiffer problem would mean smaller steps for a less stable (Edit: linear) solver
[slack] <yingbo_ma> BDF is unconditionally stable for all negative real eigvals
[slack] <Praharsh Suryadevara> Thanks (I was wondering whether something was going wrong when using KLU was messing up my performance with CVODE, I'm probably doing something wrong there)
BridgingBot
@GitterIRCbot
[slack] <chrisrackauckas> Up to order 2
[slack] <chrisrackauckas> @yingbo_ma has been playing with it
[slack] <chrisrackauckas> Just a general writeup of the CVODE one would be a waste of time since we know how that works
[slack] <chrisrackauckas> Whatever the difference on your problem is is deeper or more subtle
[slack] <chrisrackauckas> Try tweaking some of the heuristics though
[slack] <yingbo_ma> Up to order 6
BridgingBot
@GitterIRCbot
[slack] <yingbo_ma> I mean negative real eigvals, not eigvals with negative real parts
[slack] <chrisrackauckas> Oh okay, yes
BridgingBot
@GitterIRCbot
[slack] <chrisrackauckas> Was there a code we had for looking into this?
BridgingBot
@GitterIRCbot
[slack] <Kiran Shila> Hey everyone! I've got an interesting problem to solve, and would really appreciate a few pointers on how to do so in Julia. I've got an equation of the form T''*(K(T) + K'(T)) = 0 where T is some function of x that I'm trying to solve for and K is a non-linear, but differentiable function I have written in Julia. This is a BVP where I know the value of T at x=0 and x=L.
[slack] <chrisrackauckas> Represent K(T) in some form (spline, neural network) and use differentiable programming over the BVP solvers/
BridgingBot
@GitterIRCbot
[slack] <Kiran Shila> Do callbacks not work with MIRK4? I need to enforce positivity (solving a thermal problem) and setting callback=PositiveDomain() doesn't seem to work
[slack] <chrisrackauckas> callbacks will not work with MIRK4. It's fully implicit. It should throw an error on that?
[slack] <Kiran Shila> Doesn't seem to
BridgingBot
@GitterIRCbot
[slack] <Kiran Shila> As in, if I adjust my problem to not have domain issues and run
sol = solve(bvp, MIRK4(); dt=dL, callback=PositiveDomain())
[slack] <Kiran Shila> it gives an answer
BridgingBot
@GitterIRCbot
[slack] <chrisrackauckas> okay, open an issue on that.
BridgingBot
@GitterIRCbot
[slack] <Kiran Shila> Done
BridgingBot
@GitterIRCbot
[slack] <Kiran Shila> These BVP solvers should "just work" with Unitful, yes?
Nick Wogan
@Nicholaswogan
Hi I have a question about Split ODE solvers. Suppose I have a system of ODEs which are stiff, with a banded jacobian. Then suppose I want to add one more ODE, which changes very slowly (not stiff), however adding it ruins the banded sparsity of the jacobian. Would it be possible to add this new ODE, and preserve the banded sparsity of the jacobian by using a split ODE solver?
I guess the fundamental question is, do split ODE solvers only need the jacobian of the implicit portions of your ODEs.
BridgingBot
@GitterIRCbot
[slack] <Kiran Shila> Ah it seems not. The problem I am trying to solve has an independent variable of space, not time, so I'm setting dt to some value in mm , however line 27 in solve.jl in https://github.com/SciML/BoundaryValueDiffEq.jl compares to a float, throwing an error.
[slack] <Kiran Shila> Is this a bug or should dt be always unitless?
BridgingBot
@GitterIRCbot
[slack] <yingbo_ma> No, probably not
[slack] <chrisrackauckas> It have have been built before Unitful 😅
[slack] <chrisrackauckas> The BVP solvers need some work
[slack] <chrisrackauckas> they were some of the first things made and aren't generic enough
[slack] <Kiran Shila> Haha got it! I’ll work on a PR
[slack] <chrisrackauckas> thanks!
[slack] <yingbo_ma> Unitful doesn’t really work with linear algebra. For instance, LU factorization will have unitless L, yet unitful U. With the way that the LU struct is defined in Julia stdlib, it’s impossible to use a concrete type to represent it.
[slack] <chrisrackauckas> you can set it up via reinterprets though
[slack] <chrisrackauckas> I think that should get patched into Unitful.jl though
[slack] <yingbo_ma> Yeah, I planned to do it, but I haven’t got around to do it
[slack] <yingbo_ma> It’s a lot of work, and I am not sure if it’s worth the effort.
[slack] <yingbo_ma> If all the array elements have the same type, then it’s trivial to just compute units yourself
[slack] <yingbo_ma> Otherwise, the performance is gonna suck anyway
BridgingBot
@GitterIRCbot
[slack] <Kiran Shila> So do you recommend just stripping units at the solver interface?
BridgingBot
@GitterIRCbot
[slack] <yingbo_ma> Yeah, that’s better than trying to fix a ton of things just to make units propagate.
[slack] <yingbo_ma> It might be an unpopular opinion, but I think it’s a waste of time to do that.
Summer wind
@Henry66666613
How to use Callback?
BridgingBot
@GitterIRCbot
[slack] <krishnab> Hey folks, I was looking in the MTK repo to see where all of the PDE goodness was kept, just to understand the code. Is there a specific branch to look at? I know there is a lot of work on finite differences, etc. Just wanted to start running through test cases etc. to familiarize myself with the code.
BridgingBot
@GitterIRCbot
[slack] <Brian Groenke> Most of the relevant examples and code is actually in DiffEqOperators .
[slack] <Brian Groenke> So modelingtoolkitize seems to almost work on my code, but it's choking on some if-statements in runtime-generated functions (analytical derivatives from Symbolics.jl ). Is there a way around this? Like maybe a way to get Symbolics.jl to spit out IfElse instead of if-blocks?
BridgingBot
@GitterIRCbot
[slack] <krishnab> Ahh okay, thanks @Brian Groenke. I did not realize all of that work was happening under that repo.