Replies: 1 comment 1 reply
-
It's quite simple - as its own CFD solver, NekRS has strategies for picking time step sizes (for instance, Nek can be run with a constant time step size, or an adaptive step size based on the CFL number). MOOSE as its own application also has a whole system for picking time step sizes (constant, or anything in the TimeStepper classes). In realistic calculations, these choices are probably going to be different, so your two codes want to take different time step sizes, but they need to be synchronized whenever you want a data transfer to occur. The time step control in Cardinal is controlled in two places. In
This time step which is sent into NekRS will be identical to the time step that NekRS wants to take internally, if NekRS is the main app. Otherwise, if some other MOOSE application is the main app, it might possibly tell NekRS to take a different time step if |
Beta Was this translation helpful? Give feedback.
-
Hello everyone, I'm doing some coupling works based on MOOSE. In detail, I'm coupling two external codes and they are solved by their own solvers. I try to use MOOSE to control the process of transient coupling calculation. But I haven't done this kind of work before. So I want to take the transient coupling method using in Cardinal as a reference. Cardinal also calls external code, so I want to understand how Cardinal controls the time step and transient solving for different external codes. Rephrasing the question, If I want to use MOOSE to control the coupling and solving of external programs, which features of MOOSE should I utilize? Could you provide some recommendations? Thank you very much.
Ethan
Beta Was this translation helpful? Give feedback.
All reactions