Sub-Cycling for MultiApps #1880
Labels
C: Framework
P: normal
A defect affecting operation with a low possibility of significantly affects.
T: task
An enhancement to the software.
MultiApps need the ability to have individual apps use different dt's but ultimately step to the same point in time.
For instance, one app might want to take a timestep of 2 while another app might want to use 0.5.
In this case the second app can take 4 timesteps of 0.5 to reach the same time the first app is going to reach in one.
To turn this on a TransientMultiApp will accept a parameter named: allow_sub_cycling. If set to true then that MultiApp will return numeric_limits::max() for computeDT()... taking it out of the decision tree about timestep size.
Then, when it's time to execute that app... the DT the app really wants to take will be compared with the DT coming from it's master. We will divide the master DT by the DT the app wants... then round up to get the number of sub-cycles. We will then divide the master DT by the number of subcycles to get the DT for the app. In this way, a sub-cycling app will always take at least as small of a DT as it wants.
The text was updated successfully, but these errors were encountered: