If you are worried about the small differences between the plots I wouldn’t. There are been numerous changes to the code since that paper that could lead to these.
For example:
The kinetic energy can be significantly effected by the Reimann solver
The LDG upwinding is controlled by which interface is tagged as left vs right. Any change to the tagging algorithm will effect this.
I see you are using the PI controller, this changes the time step and we have changed the PI controller weights since this paper, so the dt used for each step will no longer match, even thought both used RK45 with the PI controller.
These are just some things I could think of that could cause these differences, there may be more
Sorry, I have not made myself sufficiently clear, possibly because one of the images did not load properly in the first post. It seems that new users are permitted one embedded media per post.
I am comparing the solutions presented in the first post with the expected result presented in the second post. These are not similar.
Hi Will,
I also want to reproduce the taylor-green example in this paper recently.
Unfortunately, the ini provided in this paper seems to be an earlier version of pyfr, and I use the latest version of pyfr, that is 1.15.0. What should I pay attention to when I use the ini provided in this paper to calculate on the latest version of pyfr?
It seems that I don’t fully understand your answer above.
What I want to know is, how should I understand the following code?
[soln-output]
format = pyfrs-dir
basedir = .
basename = taylor_green-1-%(t).3f
times = range(0, 169.03, 1001)
As far as I know, there is no [soln-output] entry in the latest version of pyfr document. What I don’t understand in particular is the content of times = range(0, 169.03, 1001). Can you explain the meaning of this older writing in detail?
Besides modifying the contents of output, are there any other points that I should pay attention to in order to make the old ini run well on the new version of pyfr?
This is an old feature; please check out the documentation for the current features available. For example, the writer plugin is here: User Guide — Documentation
I really read the official documents carefully, and I really know that the correct way to write output now is
[soln-plugin-writer]
dt-out = 0.01
basedir = .
basename = files-{t:.2f}
post-action = echo "Wrote file {soln} at time {t} for mesh {mesh}."
post-action-mode = blocking
region = box((-5, -5, -5), (5, 5, 5))
But what I want to know is that the three numbers of the range that appeared in the past expressions seem to indicate time. What do they mean?
namely “ times = range(0, 169.03, 1001)”
I’m really confused because there seems to be no relevant content in the latest output expression.
I want to know the meaning of these three numbers in the past expression out of curiosity. I didn’t find the relevant explanations in the official documents, of course, because they are out of date, but I am really curious and look forward to your explanation.
I don’t know what they mean, but taking an educated guess, I imagine it is asking for outputs to be written at all the times generated by np.linspace(0, 169.03, 1001). But I really wouldn’t get bogged down in this as it’s the API for a version of the code you definitely shouldn’t try to run anymore.
Also the readthedocs page only goes back to 1.12 as that’s the version when I implemented it, further back than that and you’ll have to consult the docs in the git repo.