Next multi timestep monitor#364
Conversation
e504c81 to
62b9ea1
Compare
|
I finally managed to go through this the other week, and I think it's a solid base for the rewrite. I got pretty much all of the features we want working using this -- in particular, using fields directly from physics models in a monitor. Not sure how e.g #343 or #321 fit in here though. It does still need some work, but it's definitely a good place to start from 👍 One thing that's not very clear to me is how time sub-sampling actually works in this implementation. What exactly sets the timestep, and how/when are monitors with timesteps of < 1 called? |
|
here is an example. If you want I can include an example of subsampling a field ... |
|
Could you write some documentation for how it all works? e.g how does |
|
I can add an example of sub sampling, using two files.
The output frequency of the monitor is |
|
I hope that helps 😃 |
|
One more thing:
|
|
One more thing, concerning the all in one file approach: |
…tep_monitor Conflicts: include/bout.hxx src/solver/solver.cxx
…o next_multi_timestep_monitor
|
now with README |
…tep_monitor Conflicts: src/bout++.cxx
…i_timestep_monitor
examples/subsampling/data/BOUT.inp
Outdated
| [Probes] | ||
| file = "PROBES.dmp" | ||
| floats = true | ||
| opencloase = true # false if it should be fast No newline at end of file |
examples/subsampling/README.md
Outdated
| In the code another monitor is added with an output timestep of 0.01. | ||
| This Monitor uses a separat datafile, (via class `SimpleDatafile`, see monitor.cxx | ||
| line 12 ff) to write the data. The options for the simple datafile are | ||
| read fro the `[probes]` section in the input. |
src/solver/monitor.cxx
Outdated
| @@ -0,0 +1,20 @@ | |||
| #include <bout/solver.hxx> | |||
|
|
|||
| // int Monitor::call(Solver * solver, BoutReal time, int iter, int nout){ | |||
There was a problem hiding this comment.
Please remove this commented-out code
Implementation of a multi time step monitor
Useful if you want to e.g. have a high-frequency PID controller monitor or any other monitor that changes physics (e.g. a call to EIRENE) so that your physics does not depend to strongly on the output monitor interval ...
The last commit isn't directly related, but the touching annoyed me during coding ...