M-Star Resolver

When you run a simulation, many times you do not actually know the resolution required to resolve your system and find a converged result. One option is to do a grid sensitivity study. In this process you manually change the resolution and run simulations. You pick a parameter or some metric to verify the answer no longer changes with added resolution. The M-Star Resolver handles this process in an automated way. The auto resolver GUI is configured to watch the output of a global variable. Convergence is checked at the end of every run and if the result has not converged yet and new simulation is executed with a finer resolution. Execution stops when the global variable has converged.

How to use

1 - Create your case in M-Star Pre

  • Prepare your msb file.

  • Set the Resolution setting in your msb file to be the coarsest setting you want to use. This setting is used as a starting point for tha auto-resolver.

2 - Define a global variable for convergence

If you have not done so already, define a new global variable that will be used for convergence. See Global Variable for more information. For example, you could setup a global variable to be equal to the power number of the moving body.

It is usually recommended to apply a time filtering to the global variable. Depending on how they are setup they can show some noise due to inherit nature of transient simulations. Use the filtering capability to filter the global variable value at runtime in order to use a more stable value in your convergence criteria.

3 - Save your work and start the Auto-Resolver

In the Run dropdown menu in the pre-processor, click “Run Auto-Resolver”. Note that auto-resolver works with the original msb file, so no files are exported at this time. The auto-resolver will open up, and prepopulate with your M-Star File name and show you the working directory. The working directory is placed in the same folder as the msb file and named using the msb file itself.

4 - Setup the Auto-Resolver

If this is the first time running the auto resolver, click Setup. Select the GPUs you want to use for processing. Note that one simulation is run at a time, so the GPUs selected will be used to run a single simulation at a time. Click OK to close the Settings form.

  • Click the Converge On drop down box and select the global variable you defined in step 2.

  • The Relative Tolerance is taken between the last two cases run. So a value of 0.10 means that the auto-resolver will stop when the last two results are within 10% of each other.

  • The Refinement Ratio is the factor that is multiplied to your resolution for each successive case. Note that using small values ~1.1 can result in the auto-resolver stopping too early. Larger values of 1.5-2.0 are recommended in practice.

5 - Click Run

Click Run! As simulations are run they will show up in the list.

How it works

When a simulation is run a few different things might happen:

  • Simulation runs normally - In this case the convergence criteria is checked, and if the current error is greater than the defined Relative Tolerance, a new simulation is spawned afer applying the refinement ratio.

  • Simulation diverges - Sometimes the time step is too large. The auto-resolver reacts to this situation by spawning a new simulation with a lower Courant number (no adjustment to spatial resolution)

  • Simulation shows warning signs of divergence - During a run, sometimes the solver show warnings that indicate the time step is too large. If too many of these warnings are received, the auto-resolver intervenes by terminating the simulation early and lowering the time step.