Link Search Menu Expand Document
Converted document
 Subsection 8.3.2: Failure to converge Up Subsection 8.3.2: Failure to converge Subsubsection 8.3.2.2: Convergence Tolerance Too Tight  

8.3.2.1 No loads applied

Ironically, when no loads are applied, FEBio will often struggle to find a solution. The reason (and solution!) is simple. Although no loads are applied, FEBio still performs many calculations and due to round-off errors, the result of these calculations may render the convergence norms not exactly zero. FEBio then tries to apply the convergence criteria to these really small norms and again due to round-off error will not be able to satisfy the convergence criteria.
FEBio can actually detect this situation. It looks at the residual norm and when this is smaller than a user-defined limit it assumes that no loads are present and moves on to the next time step. However, this limit is actually problem dependent and it can happen that for your particular problem the limit is set too small. In that case, the solution is to increase the limit. This can be done by setting the min_residual parameter in the Control section of the input file. For example,
<min_residual>1e-15</min_residual>
If the residual norm now drops below this value, FEBio will consider the time step converged and move on to the next time step.
 Subsection 8.3.2: Failure to converge Up Subsection 8.3.2: Failure to converge Subsubsection 8.3.2.2: Convergence Tolerance Too Tight