Skip to main content
23 events
when toggle format what by license comment
Aug 16, 2022 at 7:17 comment added user21 @xzczd, yeah, would be nice but it's not easy to get and I'd rather spend my time fixing more serious issues. Thanks for checking this again and also for reporting it.
Aug 15, 2022 at 11:41 comment added xzczd Oops, I see, it's indeed not wrong. (It's $\nabla \color{orange}{\cdot} (-\alpha u)$ v.s. $\beta \color{orange}{\cdot} \nabla u$. ) But still, I'd argue if $−c∇u−αu+γ$ is in a single $\nabla \cdot$, the output will be much easier to follow.
Aug 15, 2022 at 11:22 comment added user21 OK, thanks I'll look at that a bit later.
Aug 15, 2022 at 11:19 comment added xzczd Yeah, but when Times is Inactived, the situation is different, I elaborate the issue in this answer: mathematica.stackexchange.com/a/271385/1871
Aug 15, 2022 at 11:14 comment added user21 @xzczd, this should be equivalent: Inactive[ Div][-c . Inactive[Grad][u[x], {x}] - \[Alpha]* u[x] + \[Gamma], {x}] == Inactive[Div][-c . Inactive[Grad][u[x], {x}], {x}] + Inactive[Div][-\[Alpha]*u[x], {x}] + Inactive[Div][\[Gamma], {x}] == NeumannValue
Aug 15, 2022 at 11:09 comment added user21 @xzczd, there should not be any difference.
Aug 15, 2022 at 11:05 comment added xzczd Well, I disagree. Though the PDEs are mathematically equivalent, the corresponding NeumannValues are different, and one of the most important usage of GetInactivePDE (in my view) is helping one to decide the correct NeumannValue.
Aug 15, 2022 at 10:56 comment added user21 @xzczd, I had a look. The fact that GetInactivePDE returns a divergence for each term is not wrong per se. No matter how I implement this, there will always be forms where the output is mathematically equivalent but different from what was given on input. I don't think this is a major problem. Do you disagree?
Jul 28, 2022 at 12:14 comment added user21 @xzczd, I'll have a look once I'm back from vacation.
Jul 28, 2022 at 5:12 comment added xzczd Just notice an improper behavior of GetInactivePDE: c = IdentityMatrix[2]; α = {x, y}; γ = {y, x^2}; ipde = Inactive[Div][Inactive[Plus][-c . Inactive[Grad][u[x, y], {x, y}], Inactive[Times][-α, u[x, y]], γ], {x, y}] == 0; {state} = NDSolve`ProcessEquations[{ipde, DirichletCondition[u[x, y] == 0, True]}, u, {x, y} ∈ Disk[]]; NDSolve`FEM`GetInactivePDE@state, the $(-c ∇u-α u+γ)$ term should be placed in a single $∇·$.
May 18, 2022 at 9:47 comment added Ulrich Neumann @user21 Thank you, in this question Understanding NeumannValue I 'm trying, in vain, to verify this result. Please read my question.
May 17, 2022 at 11:22 comment added user21 @UlrichNeumann, yes, whatever is in the Div part defines NeumannValue.
May 16, 2022 at 14:08 comment added Ulrich Neumann @user21 Looking at the inactive form of the pde: The Div-part defines the NeumannValue (-{{x, 0}, {0, 1}} . Grad [U[x, y], {x, y}]) . Is this conclusion correct? Thanks!
Apr 30, 2021 at 13:25 comment added xzczd I take the liberty to add a line making GetInactivePDE in this post handle NDSolve`StateData, feel free to roll back if you don't like it :) .
Apr 30, 2021 at 13:23 history edited xzczd CC BY-SA 4.0
added 72 characters in body
Apr 29, 2021 at 15:21 history edited user21 CC BY-SA 4.0
edited body
Apr 29, 2021 at 10:53 history edited user21 CC BY-SA 4.0
added 84 characters in body
Apr 29, 2021 at 6:21 comment added xzczd Side note: NDSolve`FEM`GetInactivePDE is built-in in v12.2. (There's no separate document page for it though. )
Jul 14, 2020 at 7:57 vote accept xzczd
Jul 13, 2020 at 10:49 history edited xzczd CC BY-SA 4.0
deleted 9 characters in body
Jul 13, 2020 at 7:43 history edited user21 CC BY-SA 4.0
added 391 characters in body
Jul 13, 2020 at 7:11 history edited user21 CC BY-SA 4.0
added 74 characters in body
Jul 13, 2020 at 7:02 history answered user21 CC BY-SA 4.0