PRIMER 22.1

Auto-Refit: Refitting a Belt Automatically When the Dummy Moves

Auto-Refit: Refitting a Belt Automatically When the Dummy Moves

When a dummy is moved, for example by Occupant or Mechanism positioning, the old seatbelt definition will tend to get left behind, so it will become invalid and require repositioning and remeshing.

PRIMER can perform this task automatically so long as the belt was previously created in PRIMER, and the keyword input deck contains *BELT_xxx cards after *END as described in section Saving and Reading Orgiami/Fold Definitions.

How Auto-Refit works

When PRIMER reads in a keyword file containing *BELT_xxx data it automatically finds the nodes on the "structure" that are nearest to each belt path point, and stores their initial positions. During the refit operation the [dx,dy,dz] movement vectors at these "nearest nodes" are applied to the corresponding belt base path points, thus the path is updated to the new dummy position and the belt-fitting process can be repeated to find a new path around the dummy.

Using the information stored about the belt mesh PRIMER can then delete the old mesh and, using the same attributes, create a new mesh on the refitted path. This process is not limited to belt elements: it also tracks down each original belt section to find any retractors and sliprings, or direct connections to the structure. If found these are re-used and connected up to the revised belt mesh.

At present contact between the belt and the dummy is not recreated.

The whole process is automatic: provided the dummy shape is not dramatically different, and its movement from its original position is not excessive, a simple APPLY should refit and remesh the belt in a single operation.

Auto-Refit example

The following model shows a belted dummy both before and after it has been moved.

This image shows the occupant belted up in its mid position.

Here Mechanism positioning has been used to move the occupant and seat forward (by about 50mm) and down. However the belt has been "left behind" and needs to be repositioned.

The Auto-Refit panel:

This panel effectively automates a repeat of the normal belt fitting process using the following stages:

  • Update belt path moves the initial path points to their new locations, computing offsets from the motion of their "nearest nodes".

  • Refit belt performs a new form-finding operation using the revised path.

  • Remesh belt creates a new mesh on the fitted path, using the attributes, element types and properties of the original belt. Any existing retractors and sliprings are re-used, and direct connections of belt ends to structural nodes are retained.

  • Recreate contact at present does nothing, and can be ignored. (Experience has shown that users prefer to manage their own belt to dummy contacts.)

  • Delete old belt items will, if selected, automatically delete the old belt elements, nodal rigid bodies, etc once the new definition has been created.

As a general rule you should leave all these options selected. It is only when the automatic refitting goes wrong that it may be necessary to intervene and perform some stages manually.

The following options require a little explanation:

Parallel fitting .

This capability is new in PRIMER release 11 and dictates whether or not the fitting (form-finding) process should run in parallel.

  • Parallel fitting is much faster, typically 2x to 3x on a 4 core machine. However because the order in which operations are performed is re-ordered slightly the final belt shape can be different to that obtained from earlier releases of PRIMER . The difference is usually small, but in a few cases where belt shape is very sensitive to geometry a significantlt different final shape may result.

  • Scalar fitting, which uses the "old" pre-release 11 algorithm, is slower. However the shape obtained will be the same as that from earlier releases of PRIMER .

Users for whom consistency with results from older versions of PRIMER is important may wish to switch this off. Its default setting can be controlled by the preference:

primer*belt_parallel_fit: true or false


Move fixed points to retr/slip/node positions.

Sometimes basic belt path fixed end points do not lie exactly at the "structural" position of the (old) as-meshed belt. Typically such points should be at slipring, retractor or structure node positions, but sometimes the end sections of belt meshes are adjusted by hand after fitting, leading to a small difference between "basic path" and "as-meshed" belt element end positions.

For auto-refitting to produce good shapes it is usually necessary in these cases to move the end point of the basic path onto the revised "as-meshed" position, and it is recommended that this option is left selected.

Find free end point nodes on structure.

When the original belt mesh is checked a search is made for any retractors or sliprings at the end of sections so that they can be reused. However it is normally the case that one end of the belt is bolted directly to the vehicle or seat structure, typically at the lower outside end, and this point will not have a retractor or slipring.

If this option is selected then a search will be made for a structural node near to the path end point, with preference being given to a node used in the topology of the end belt element, and this node will be used to terminate the new belt mesh. Again it is is recommended that this option is left selected.

Max refitting #iterations.

This simply acts as an upper-bound on the number of iterations the form-finding algorithm will go through when attempting to find a new shape. If the differences between old and new dummy positions are very great it is sometimes the case that the automatic update of the basic path will produce an initial shape that cannot give a solution, and this limit will stop it iterating for ever! The default value is 300, but it can be changed to any sensible value.

Special rules applying to *SET_NODE labels on 2d sliprings.

Ansys LS-DYNA has an input format limitation which means that the labels of node set NSID used on 2d *ELEMENT_SEATBELT_RETRACTOR cards must be 7 digits or less. (This is a known bug at the time of writing, August 2013, that will be fixed.)

As a consequence users who place Dummy and Seatbelt definitions in an 8 digit label range have to make an exception and use 7 digits for these node sets. This can have unfortunate consequences when refitting belts because the seatbelt fitter uses the following label logic for each category of item (node, element, set, etc):

  • Find the first and last labels in the existing seatbelt definition
  • Work out how many items of this type will be created in the new belt definition
  • Assume that the new definition will start at the existing "first label"
  • Check that there is space in the existing label range <first> to <last> for the new items starting at that "first label".
  • If there is a potential clash then relabel the existing items in that range to move them out of the way.

This implicitly assumes that label ranges used in the seatbelt definition will be tightly packed, however if the "first" node set label is a 7 digit id used on a slipring, and "last" label is an 8 digit one used elsewhere, then the potential range can become very large with the result that any existing node sets in that range may be relabelled. This can play havoc with carefully thought out labelling ranges, especially for structural items such as *CONSTRAINED_NODAL_RIGID_BODY .

Therefore from V11.1 onwards PRIMER applies some special exception logic which works as follows. When the label range for node sets in theexisting belt definition is worked out it is divided into two separate groups:

Group A: All node set labels except those use for field NSID on 2d slipring elements
Group B: Only node set labels used for NSID on 2d slipring elements

The ranges of the two groups are then compared, and in the special case of

Group A uses labels of 8 or more digits
and
Group B uses labels of 7 or fewer digits

Then the two groups are kept separate and are treated as distinct ranges, with the "relabel existing out of the way" logic for each group applied independently.

If this is not the case then the two groups are concatenated into a single start / end range, and the normal logic is applied.

APPLY - executing the auto-refit

Once you have selected the appropriate options press APPLY and the refitter will do the rest.

Assuming that all phases work correctly it will fit and create a new mesh, delete the old one (if this option is selected), and the refit will be complete. The only task remaining is to sort out contact between the new belt and the dummy.

In the example above the following was produced.

"Delete old belt items" was selected, so the original mesh was also marked for deletion.

Note that this goes through the normal PRIMER deletion logic, so you must confirm it and you can cancel deletion of the old mesh even at this stage if you wish to.

Note also that the 2 sliprings and 1 retractor used in the original belt have not been marked for deletion, since they have been reused.


Finally the image is updated to show the new mesh:

If it goes wrong ...

Hopefully it won't, but common problems are:

Attachment points are no longer in valid positions
This (artificial) example shows a common problem with belt remeshing following dummy movement: the stalk for the belt buckle has been moved with the seat assembly below it, but this has been insufficient to make the remeshed belt clear the seat back cushion and the belt penetrates it.

It has happened here because the seat base has moved down by a significant amount but the base slider, to which the belt stalk is attached, has only moved forwards and the stalk has not rotated forward to account for this. The vertical movement here is a bit excessive (the dummy looks very uncomfortable in the picture above) but it illustrates the point.

It is a good idea to try to visualise where the end points of a newly refitted belt will end up before refitting, in order to avoid this sort of problem, and some manual movement of belt end positions may be required to prevent it.

The dummy has moved so far from its original position that the "structure" definition needs updating.

A common problem when dummies are moved forwards is that their upper legs move upwards, and belt fitting may need to consider contact between base path and legs where before, in the original position, this was not necessary. This example shows the problem: the upper legs are not in the "structure" definition, so were not considered for contact during refitting and are penetrated by the belt.

Adding the parts of the upper legs to the belt "structure"and repeating the refit may solve this problem.

However very large movements from the initial position may simply not work, in which case it will be necessary to abandon automatic fitting and revert to manual refitting of the belt from scratch.


The belt was originally fitted, then the whole dummy and belt was moved to a new position leaving its "base path" definition behind.

In this situation attempting to reproject from the base path almost certainly will not work because its relationship to the dummy's new position is invalid. It might be possible to "Orient" the dummy base path to re-align it with the dummy's new position, but it will probably be quicker just to refit the belt manually.

Trying repeated Auto-Refit operations

You can go through the cycle:

  • Try a refit
  • Adjust some part of the geometry or belt definition
  • Try another refit

As many times as you like. Each cycle will delete the previous belt and repeat the fitting procedure with the revised definition, making it easy to adjust the solution to get the desired result.