beam_connectivity Module

Defines the faces for representing the PBARL/PBEAML cards as 3D objects instead of just 1D elements.

These functions intentionally do not handle offsets. Node 1/2 should be the offset/actual coordinates.

The following shapes are fully supported:
  • ROD

  • TUBE

  • BAR

  • BOX

  • L

  • H

  • I1 (I1 is handled correctly because it’s doubly symmetric)

  • T

  • T1

  • T2

  • Z

  • HEXA

The following shapes don’t do the shear center correctly:
  • CHAN

  • CHAN1

  • I

  • HAT

The following shapes aren’t supported:
  • CROSS

  • TUBE2

  • CHAN2 (will be a shear center issue)

  • BOX1 (will be a shear center issue)

  • HAT1 (will be a shear center issue)

  • DBOX (will be a shear center issue)

pyNastran.bdf.cards.elements.beam_connectivity.bar_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float], dim2: ndarray | tuple[float, float]) ndarray[source]

builds the BAR faces

pyNastran.bdf.cards.elements.beam_connectivity.bar_setup(dim1: ndarray | tuple[float, float], dim2: ndarray | tuple[float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

^y |

0—–3 | | | |—-> z | | 1—–2

pyNastran.bdf.cards.elements.beam_connectivity.box_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray][source]

builds the BOX faces

pyNastran.bdf.cards.elements.beam_connectivity.box_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

^ y |

0———3 | | | 4—7 | | | + | |—> z | 5—6 | | | 1———2

pyNastran.bdf.cards.elements.beam_connectivity.chan1_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

builds the CHAN1 faces

pyNastran.bdf.cards.elements.beam_connectivity.chan1_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

^y | 0——–7 ^ hall | | | | | | 5—–6 | ^ | | | | | hweb +–|--|——-> z | |

| | v
4—–3 | ^
| | | tflange

1——–2 v v

<–> tweb

<—–> bflange_out

<——–> bflange

pyNastran.bdf.cards.elements.beam_connectivity.chan_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

builds the CHAN faces

pyNastran.bdf.cards.elements.beam_connectivity.chan_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

^y | 0——–7 | | | | | 5—–6 | | | +–|--|——-> z

4—–3

1——–2

<—-> e/zsc

<——–> bflange

pyNastran.bdf.cards.elements.beam_connectivity.h_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

builds the H faces

pyNastran.bdf.cards.elements.beam_connectivity.h_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

^y |

0—-11 | 8—-7 | | | | | | 10—-9 | | | | | | | | +–|----|—> z | | | | | 3—–4 | | | | | | | | | 1—-2 5—-6

<—> dim1

<—-> 0.5*dim2 <—————> w_all

pyNastran.bdf.cards.elements.beam_connectivity.hat_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

builds the HAT faces

pyNastran.bdf.cards.elements.beam_connectivity.hat_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

<——–d3——->

0—————-11 ^ –y3

d4 | A | d4 |

<—-> +-d2-5——-6-d2-+ <—-> | –y2
B | | B | | d1

2——1—-+ +—-10—–9 | –y1 | C | | C | t=d2 | 3———–4 7———–8 v –y0 | -z0 |-z1 |-z2 |z2 |z1 |z0

pyNastran.bdf.cards.elements.beam_connectivity.hexa_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float], dim2: ndarray | tuple[float, float, float]) tuple[list[list[int]], ndarray][source]

builds the HEXA faces

pyNastran.bdf.cards.elements.beam_connectivity.hexa_setup(dim1: ndarray | tuple[float, float, float], dim2: ndarray | tuple[float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

^ y |

0—–5 ^ hall

/ | |

/ | |

1 +—–4—z | / |

/ |
2_______3 v

<-> wtri

<———–> wall

pyNastran.bdf.cards.elements.beam_connectivity.i1_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

builds the I1 faces

pyNastran.bdf.cards.elements.beam_connectivity.i1_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

builds the I1 faces

pyNastran.bdf.cards.elements.beam_connectivity.i_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float, float, float], dim2: ndarray | tuple[float, float, float, float, float, float])[source]

builds the I faces

pyNastran.bdf.cards.elements.beam_connectivity.i_setup(dim1: ndarray | tuple[float, float, float, float, float, float], dim2: ndarray | tuple[float, float, float, float, float, float])[source]

^y |

0———-11 - y3 | | 1—2 9—10 - y2

4—3 8—7 - y1 | | 5—–+—-6—–> z

pyNastran.bdf.cards.elements.beam_connectivity.l_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]
pyNastran.bdf.cards.elements.beam_connectivity.l_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

^y |

0—–5 ^ hall | | | | | | | | | | | | | | 4—3 | ^ tflange | +——|——-> z | | 1———2 v v

<—-> tweb <———> bflange

pyNastran.bdf.cards.elements.beam_connectivity.rod_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float], dim2: ndarray | tuple[float]) tuple[list[list[int]], ndarray, int][source]

defines points in a circle with triangle based end caps

pyNastran.bdf.cards.elements.beam_connectivity.rod_setup(dim1: ndarray | tuple[float], dim2: ndarray | tuple[float]) tuple[list[list[int]], ndarray, ndarray][source]

defines points in a circle with triangle based end caps

pyNastran.bdf.cards.elements.beam_connectivity.t1_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

builds the T1 faces

pyNastran.bdf.cards.elements.beam_connectivity.t1_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

^ y |

6—5 ^ hall | | | | | | | |

0———-7 | | | ^ | +-|—> z | | tflange 1———-2 | | v

| |
| |

3—4 v

<———><—>

bfoot tweb

bflange

<———->

pyNastran.bdf.cards.elements.beam_connectivity.t2_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

builds the T2 faces

pyNastran.bdf.cards.elements.beam_connectivity.t2_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]
<–> tweb

^y |

0–7 ^ | | | hweb | | V

2–1 6–5 ^ hflange | |-|–>z 3——–4 v

bflange

<——–>

pyNastran.bdf.cards.elements.beam_connectivity.t_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

builds the T faces

pyNastran.bdf.cards.elements.beam_connectivity.t_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

^ y |

0———-7 | + |—-> z 1—2 5—6

3–4

bflange

<———->

8———-15 | + | 9—10 13–14

11-12

pyNastran.bdf.cards.elements.beam_connectivity.tube_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float], dim2: ndarray | tuple[float, float]) tuple[ndarray, ndarray, int][source]

defines a rod with a hole

pyNastran.bdf.cards.elements.beam_connectivity.tube_setup(dim1: ndarray | tuple[float, float], dim2: ndarray | tuple[float, float]) tuple[ndarray, ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

defines a rod with a hole

pyNastran.bdf.cards.elements.beam_connectivity.z_faces(n1: ndarray[Any, dtype[float64]], n2: ndarray[Any, dtype[float64]], xform: ndarray[Any, dtype[float64]], dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float])[source]

builds the Z faces

pyNastran.bdf.cards.elements.beam_connectivity.z_setup(dim1: ndarray | tuple[float, float, float, float], dim2: ndarray | tuple[float, float, float, float]) tuple[list[list[int]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]

^ y |

0——–7 ^ hall | | | | 1—-2 | | | ^

| | z | | hin
+-|—> | |
| | v
6—–5 |
| |

3———4 v <—> tweb

<—–> bfoot

<———–> bflange