PRIMER 22.1

PARAMETERS #2 More about Controlling the Form-Finding Process

PARAMETERS #2 More about Controlling the Form-Finding Process

Now that the form-finding process itself has been described we can revisit the PARAMETERS panel to consider some of its more obscure options.

Tol Is the tolerance used to decide when form-finding has converged. The smaller this value the more precise the final shape will be.  This is calculated from 

(Ct - Cp) / Ci   where

Ct    is the belt length at this iteration
Cp   is the belt length at the previous iteration
Ci    is the initial belt length at the start of fitting.

When 10 consecutive fitting iterations give a value < Tol the belt is considered to have converged on a stable solution. 

The default of 1e-5 has been chosen from experience.  A larger value will give an earlier solution with fewer iterations, a smaller value will continue to iterate for longer.


#iter Is the number of iterations that will take place before form-finding pauses to resort the "buckets" used to determine belt to structure contact. The default of 25 iterations is normally adequate, but if you have an extremely fine structure mesh and unwanted penetrations are occurring reducing this value may help.


Over Is the facet overlap value used during contact. It increases the size of structure element facets by (1.0 + Over ) to try to stop nodes falling through the gaps of curved surfaces.

As this figure shows there is a "valley" between adjacent facets on a convex surface into which penetrating nodes can fall.

Artificially increasing the facet size for contact purposes, dotted area, reduces the size of this valley and therefore helps to prevent incorrect penetration.

The default value of 2e-3, (ie the facet dimension is factored by 1.002), works well for most cases; but larger values may be needed if penetration occurs.



Pene Is the maximum distance behind a 3D (solid or thick shell) facet at which penetration is considered.

In this figure the Pene distance is shown by the dotted line, and point (b) is therefore too far inside the solid elements to be considered for contact.

Problems can also occur in the shaded areas inside the element corners since a penetrating point can only be ejected from one face, and this may not be the one through which it penetrated.

There is no easy solution to this problem save adjusting the belt path to move the offending point away from the element corner - and this may prove to be a problem during the analysis too. Good (structure) meshing practice would avoid sharp mesh corners where contact occurs by chamfering the edge.

Usually the Pene value only needs adjusting when a belt is fitted to a region containing layers of thin 3D elements, when it may need setting to half the thinnest 3D element dimension.


Curve is the maximum permitted transverse curvature of the belt

If this value is non-zero it sets the limiting angle (in degrees) between transversely adjacent belt facets. This can be useful to stop the belt "creasing" down into sharply concave areas of the dummy as shown in the images below.

Treatment of curvature angle in PRIMER versions
Before V12 Default angle was zero, meaning unconstrained. This change has been made because the change in default transverse friction coefficient (see below) means that the belt is more likely to slide, and this in turn means that it is more likely to "crease" over on itself.
V12 onwards Default angle is now 30 degrees.

The examples below both show the belt mesh in the region where the lower torso meets the upper leg, in which typical dummies have a concave angle of approximately 90 degrees.

In this example no Curve value is set, and the belt creases sharply in the concave region (arrowed). This can sometimes give rise to poor belt element behaviour during the analysis.

Curve = 0 degrees (default)

This example is the same in all respects, except that a Curve value of 10 degrees has been used. It can be seen that the belt is now "stiff" in the transverse direction and has not creased down into the concave region of the dummy.

Curve = 10 degrees



Friction is the transverse friction coefficient between belt and structure.

When the belt makes contact with the structure there will, in real life, be some resistance to sliding and this friction coefficient emulates that. Friction coefficients may lie in the range 0.0 "slippery" to 1.0 "sticky".

The ability to control the friction coefficient is new in PRIMER 12 and behaviour has changed as follows:

Treatment of friction coefficient in PRIMER versions
Before V12 Coefficient was fixed at ~0.3
V12 onwards Coefficient may lie in the range 0.0 - 1.0, default = 0.0

The image on the right shows the effect of this change. The blue belt was fitted in V11.1 using the default friction coefficient in that version of ~0.3, the red belt was fitted in V12 using the default coefficient of 0.0. It is clear that the belt has pulled further across the chest and down the pelvis in V12 due to the absence of friction.

This is a change in behaviour that has been requested by our clients, and to revert to approximate V11 fitting behaviour it is recommended that a friction coefficient of ~0.3 is used.

Acute Ang is the critical angle at which a change in direction of the fitting path is considered to be "acute". The path editor will make a break in the belt at acute points, resulting in the mesh across that point not being continuous. The default value is 90 degrees, but users wishing to run continuous mesher around tight bends may need to reduce this value.

The use of this variable is described in Handling "Acute" points .

Use parallel fitting

Prior to PRIMER release 11 belt fitting (form-finding) was a scalar process, and as belts have become more detailed this was taking an unacceptably long time. The bulk of the CPU time was expended in the contact algorithm between belt and structure, and this has been parallelised in release 11. Together with some other internal improvements this has resulted in the fitting time on a typical 4 core machine reducing by a factor of between 2x and 3x.

However parallelising the contact algorithm has introduced slight changes to the order in which contact segments are calculated, and since depenetration is based on the sum of a series of small movements this can result in subtly different belt shapes. In cases where the belt path is very sensitive to slight changes of geometry the differences are sometimes quite large.

In recognition of the fact that obtaining a different results from a new release of software may cause problems for some users for whom consistency is more important than speed it is possible to turn parallelised fitting off. This will revert to the "old" scalar algorithm that will produce the same results as earlier releases, albeit more slowly. The default fitting method can be set by the preference:

primer*belt_parallel_fit: true or false

Users fitting in batch who wish to use the old algorithm will need to set this to false .

Thickness used for fitting

By default the chassis mesh is pulled back onto the structure such that the true external surfaces of belt and structure elements just meet.

The Thickness factor scales the true element thickness values allowing you to increase the separation between belt and structure.

This can be useful both for visual purposes and for optimising contact during the actual analysis.

The images below (contrived artificially) show how scaling contact thickness might be used to prevent initial penetrations or - more likely - crossed edges during initialisation.

The Min Thk value imposes a lower-bound thickness value to be used for shells, such that the thickness used for contact penetration checking is:

t = max(True thickness, Min thickness)

This can be useful when dummies have been coated in a layer of null shells, and those shells have a very small thickness, some model builders will set a value of 0.1mm or thinner. Using the true thickness will work, but in order to avoid penetrating to the "wrong" side of the shell neutral axis it imposes a very small "quantum" of movement during fitting, so using a minimum thickness (the default is 1mm) will give much faster convergence.


In this example the belt path has been fitted very tightly, using an unrealistically small contact thickness, leading to some crossed edges in regions of very "bumpy" mesh.

This image shows the regions of crossed edges in detail.

Here the belt has been refitted using a factor of 1.5x the true contact thickness, and the crossed edges in that region have been eliminated.