I've been using Mathematica to solve nonlinear partial differential equations for my doctoral research for the last 2 years or so. I am not an expert in Mathematica or mathematics and I am an engineer trying to express thermodynamic and fluid dynamic phenomena through math equations which subsequently need solving using numerical methods!
I find that Mathematica is definitely the way to go and I am a big fan of the NDSolve[...]
function.
With that short background, here's my question:
If I am to publish numerical results obtained in Mathematica, how should I go about it? I obviously validate my results against previously published data but here is the thing: say we have a non-linear PDE:
h_t + N[h[x,t]]=0
where h=h[x,t]
and N[h[x,t]]
is the nonlinear part.
Most scientific publications would mention the method used to solve the equation (Eq: the BDF method, the Newton-Kantorovich method etc.)
When I solve this in Mathematica in a vanilla style without using any Method
options in NDSolve
thus allowing Mathematica to adapt and select it's own method, how do I cite the method? I haven't come across publications that do, so I ask...
I do realize that there is the Trace
option available that allows for the user to figure out what method was used but it isn't very intuitive!
Any suggestions? Inputs?
Method
option. But if the method is really very important (i.e. a trivial method such as forward Euler won't give you good results), then it's likely that it is necessary to set a method option just to get a good output. If the method itself is not an important part of your research (or if it is not essential for the reproducibility of the results), then I don't think it's important to mention the precise method, or you can just say you used Mma ... $\endgroup$Trace
option, I came to realize that theLSODA
method was used to solve my PDE. So should I citeLSODA
or is there some way I can citeNDSolve
itself? $\endgroup$Method
manually, and mention that method while also mentioning that you used Mathematica (as you didn't implement it yourself, only set the parameters). $\endgroup$