|
1 | 1 | .. _element-two-node-link: |
2 | 2 |
|
3 | | -Link |
4 | | -^^^^^^ |
| 3 | +BasicLink |
| 4 | +^^^^^^^^^ |
5 | 5 |
|
6 | | -``Link`` connects two nodes with a set of uncoupled |
| 6 | +``BasicLink`` connects two nodes with a set of uncoupled |
7 | 7 | uniaxial springs/dashpots acting along user-selected basic directions. |
8 | 8 | It supports 1D, 2D, and 3D kinematics and can include geometric |
9 | 9 | (P–Δ) effects, optional Rayleigh damping, and a lumped translational mass. |
10 | 10 |
|
| 11 | +.. py:method:: Model.element("BasicLink", tag, nodes, *, mat, dir=None, dof=None, orient=None, pDelta=None, shearDist=None, doRayleigh=False, mass=0.0) |
| 12 | + :no-index: |
| 13 | + |
| 14 | + Create a two–node link element that couples specified DOFs between two nodes using one or more uniaxial material models. |
| 15 | + |
| 16 | + :param tag: unique :ref:`element` tag |
| 17 | + :type tag: |integer| |
| 18 | + :param nodes: pair of integer node tags ``(iNode, jNode)`` (see :ref:`node`) |
| 19 | + :type nodes: tuple |
| 20 | + :param mat: uniaxial material tags assigned to the requested link directions |
| 21 | + :type mat: tuple or list of |integer| |
| 22 | + :param dir: 1-based DOF indices corresponding to ``mat`` (length must equal ``len(mat)``); synonym: ``dof`` |
| 23 | + :type dir: tuple or list of |integer| |
| 24 | + :param orient: element orientation. Accepts either |
| 25 | + ``(x1, x2, x3, y1, y2, y3)`` or a single 3-vector depending on model dimension: |
| 26 | + |
| 27 | + - In 1D/2D, a single 3-vector is treated as the *x* axis. |
| 28 | + - In 3D, a single 3-vector is treated as the *y* (``yp``) axis while *x* defaults from node coordinates. |
| 29 | + |
| 30 | + If omitted, :math:`\mathbf{e}_x = \Delta \mathbf{x}/L` and :math:`\mathbf{e}_y = (0,1,0)`. |
| 31 | + :type orient: tuple or list of |float| |
| 32 | + :param pDelta: P-Δ moment distribution ratios. In 3D supply four values; in 2D supply two values. |
| 33 | + :type pDelta: tuple or list of |float| |
| 34 | + :param shearDist: shear distance from node *i*. In 3D supply two values; in 2D supply one value |
| 35 | + (the second defaults internally to ``0.5`` if not provided). |
| 36 | + :type shearDist: tuple or list of |float| |
| 37 | + :param doRayleigh: include Rayleigh damping contributions |
| 38 | + :type doRayleigh: |bool| |
| 39 | + :param mass: lumped element mass |
| 40 | + :type mass: |float| |
| 41 | + |
| 42 | + |
| 43 | +.. note:: |
| 44 | + |
| 45 | + - ``dof`` is **1-based** |
| 46 | + - The lengths of ``mat`` and ``dof`` must match. |
| 47 | + - Orientation parsing follows the element’s Tcl command exactly: two vectors ``(x, y)`` if six numbers are given; otherwise a single vector is interpreted per model dimension as described above. |
| 48 | + |
| 49 | + |
| 50 | +Formulation |
| 51 | +=========== |
| 52 | + |
11 | 53 | The element operates in three coordinate systems: |
12 | 54 |
|
13 | | -- **Global (g)** – the analysis coordinates at the nodes. |
14 | | -- **Local (l)** – the element’s orthonormal triad :math:`\{\mathbf{e}_x,\mathbf{e}_y,\mathbf{e}_z\}`. |
15 | | -- **Basic (b)** – the collection of scalar deformation modes that are each driven |
| 55 | +- **Global** – the analysis coordinates at the nodes. |
| 56 | +- **Local** – the element’s orthonormal triad :math:`\{\mathbf{e}_x,\mathbf{e}_y,\mathbf{e}_z\}`. |
| 57 | +- **Basic** – the collection of scalar deformation modes that are each driven |
16 | 58 | by a single uniaxial material. |
17 | 59 |
|
18 | 60 | Only diagonal coupling is used in the basic system: each basic mode is |
19 | 61 | assigned exactly one uniaxial material. |
20 | 62 |
|
21 | | -Formulation |
22 | | -=========== |
23 | | - |
24 | 63 | Let :math:`\mathbf{u}_g` be the global nodal DOF vector ordered as the DOF of |
25 | 64 | node *i* followed by the DOF of node *j*. |
26 | 65 | The element forms the local |
|
0 commit comments