Prev Subsection 2.8.2: Debugging a Run Up Section 2.8: Advanced Options Subsection 2.8.4: Restarting a Run Next
2.8.3 Setting break points
Although ctrl+c can be used to interrupt a run, it might sometimes be difficult to interrupt a run at a desired point. For this reason, you can set break points, that will pause the execution and bring up the febio prompt. Breakpoints are set on the command line using the -break option, followed by the break condition. In addition, breakpoints can also be set via the FEBio prompt using the break option.
To break at a particular time point, simply add the value of the time after the -break option. This example will break the run after time 0.45 completed (or the first time point past 0.45):
>febio -i input.feb -break 0.45
Instead of breaking at a particular time, you can also interrupt the run when a certain event happens. To break at an event, specify the event name at which to pause the run. The following list of events are defined.
|ALWAYS||break on any event|
|INIT||break after model initialization|
|STEP_ACTIVE||break after step activation|
|MAJOR_ITERS||break after major iteration (i.e. time step) converged|
|MINOR_ITERS||break after minor iteration (i.e. Newton iteration)|
|SOLVED||break after the model is solved|
|UPDATE_TIME||break before time is incremented|
|AUGMENT||break before augmentation|
|STEP_SOLVED||break after step is solved|
|REFORM||break after global matrix and right hand side is reformed|
|MATRIX_SOLVE||break right before the linear system solve|
For example, to pause the execution after a matrix reformation (and right-hand-side evaluation), enter the following command line.
>febio -i input.feb -break REFORM
Once the code reaches a breakpoint, the febio prompt will be presented. There are several commands that relate to breakpoints.
break Add a breakpoint
breaks Prints list of current breakpoints.
clear Clear one or all breakpoints.