User source terms - #138
Conversation
… disk pgen as an example. This could be expanded to other registries for tasks in different parts of the operator split in the future
| // Apply problem-generator source terms in registration order | ||
| TaskID user_src = rframe_src; | ||
| for (const auto &task : GetUserSourceTasks()) { | ||
| user_src = tl.AddTask(user_src, task.name, task.function, u0.get(), time, bdt); |
There was a problem hiding this comment.
I didn't know you could pass names to tasks
I think that clarification is good if we have more than one type of user source term, but if we only have one, then it should be clear from the documentation what it's for (the current documentation is not clear / non-existent). I could just add a few of these registries for the different flavors (explicit, implicit, operator-split, etc.) |
I added 3 collections, 1 for explicit unsplit tasks, 1 for implicit unsplit tasks ("implicit" in the IMEX sense in terms of ordering), and 1 for split task lists. |
Background
This adds a simple mechanism for enrolling "user" source tasks into the driver. Disk wave-killing was added as an example.
This supersedes #114
Description of Changes
Checklist
// This file was created in part or in whole by generative AI