Structural Element Links
Introduction
A link is an object that links a source node to a target. Currently that target may be either another structural node or a zone, although more targets may be added in the future. Each link utilizes the local system of its source node, and all link properties are specified with respect to this local system. Links implement the interactions that occur between the different types of elements and the grid. In most cases it will not be necessary to create or modify links, because they will be created and their properties set automatically by the elements that utilize them.
However, if one wishes to introduce a plastic hinge with full rotational freedom (such that two different rotation angles can develop on each side of the hinge point), then one must create two separate nodes at this point, and create a node-to-node link between them and specify a normal-yield spring in the appropriate rotational degree-of-freedom, and set the stiffness and yield strength of this spring equal to that of the plastic hinge. For these, and other more complex situations, we provide the following interface to the link logic.
Each link contains six different possible attach conditions for each of the six degrees-of-freedom (three translational, and three rotation). The possible conditions are free (no force transmitted), rigid (rigidly connected to the target location), and deformable (forces generated by a one-dimensional force-displacement law based on relative motion). The behavior of a deformable condition is governed by a link model, of which there are currently four options: linear, shear-yield, normal-yield, and pile-yield. Note that a link can only have one condition or model for each degree-of-freedom. Recursive chaining of rigid connections is allowed.
For the specific case of embedded liners, two links per node are possible. In this case, only one rigid connection per degree-of-freedom across all links is allowed.
Note that link model properties are, by default, assigned automatically based on the properties of the elements that are connected to their host nodes. Unless the interaction type is incompatible, this will override any properties set manually via the command line or FISH. This happens any time the code performs a “geometry update,” which is at the start of cycling, and, if in large strain mode, at the start of every update interval during cycling. Because of this, the easiest way to customize link properties is to set the properties in the elements attached to their host node. Otherwise, the user must make certain to override the default values after every update occurs by using a properly timed FISH callback (see the fish callback
command).
When selecting with the group range element, links are considered to be a member of a group by default if either they, the node they are connected to, or any element the node is connected to is a member of that group. The by keyword may be used to restrict this to a specific type of object.
Whenever a link attempts to establish a connection to a target zone, it will search for a non-null zone for which the source node lies within a distance \(d\) of the zone’s boundary. The value of \(d\) is obtained from the global value of zone tolerance (see the structure link tolerance-contact
command) multiplied by zone size, where zone size is the maximum \(x\)-, \(y\)-, or \(z\)-dimension of the zone bounding box. But note that such a nearby zone will be used only if the source node does not lie within or on the boundary of any non-null zone. If the source node lies within the d-boundary of a zone, then the weighting functions used to transfer information from the link to the zone will correspond with the location on the zone surface that is nearest to the node location.
Link Model Properties
Structural link deformable models are, by default, created automatically when links are created. The default type used in each degree-of-freedom depends on the element type (see Default link attachment conditions for element types). Properties of deformable models are also, by default, set during initialization based on the properties of the elements they are connected to. However, it is possible to override these defaults, both by changing the model and by changing the properties of existing models — see the structure link attach
and structure link property
commands. The following properties are available to each of the currently available deformable link models.
name | properties |
---|---|
Linear | area, stiffness |
Normal Yield | area, gap, stiffness, yield-compression, yield-tension |
Pile Yield | area, cohesion, friction, gap, stiffness |
Shear Yield | area, cohesion, cohesion-table, confinement-table, friction, friction-table, incremental-confinement-flag, perimeter, stiffness |
Compression vs. Tension Direction
The Normal-Yield model properties can be somewhat confusing. In the context of the link model, the tension limit refers to the limiting positive value of the link force, and the compression limit refers to the limiting negative value of the link force. Positive link forces are generated by positive relative incremental displacement, which is defined as the difference between the target incremental displacement and the source incremental displacement (target minus source). This distinction occurs in the node-local coordinate system. The result is that, depending on the local system and the model configuration, the “compression” limit might not refer to what one would instinctively think of as compression when viewed from the element perspective.
For example, in general liner elements assign a nodal system with the \(z\)-direction pointing away from the zones. This means that the liner structure liner property coupling-yield-normal
property will map to the structure link property
yield-compression property in the normal-yield deformable model. Figure 1 illustrates the system.
Manually setting link properties
As stated above, deformable link model properties are set automatically by the program during a geometry update, which happens during the validation stage of a cycle on the first cycle taken and if in large strain mode at every update interval. Properties that have been set manually may be overridden at this time. It is currently not possible to keep this from happening. You can, however, use FISH to restore your intended manual properties after each global update has occurred.
The fish callback
command can be used to insert a FISH call during each cycle, in this case the callback should be after time index -2 but before -1 (see program list cycle-sequence
for a full list). The struct.was.updated
FISH intrinsic can be used to determine if an actual full geometry update occurred at the start of that cycle.
Commands & FISH
Was this helpful? ... | 3DEC © 2019, Itasca | Updated: Feb 25, 2024 |