Beam End Release
A nested class within Boundary used to release specific force/moment components at the I-end and/or J-end of a beam element.
Constructor
Boundary.BeamEndRelease(beamElemID, type = "Relative", Fx_I = None, Fy_I = None, Fz_I = None, Mx_I = None, My_I = None, Mz_I = None, Mb_I = None, Fx_J = None, Fy_J = None, Fz_J = None, Mx_J = None, My_J = None, Mz_J = None, Mb_J = None, group = "", id = None)
Creates beam end releases on a beam element by releasing selected force/moment components at either end.
Parameters
beamElemID: Element ID of the beam on which the release is appliedtype (default="Relative"): Release value type - "Relative" (relative stiffness factor) or "Value" (fixed release value)Fx_I (default=None): Axial force release at I-end (DOF is released if a value is provided)Fy_I (default=None): Shear force release in Y at I-endFz_I (default=None): Shear force release in Z at I-endMx_I (default=None): Torsional moment release at I-endMy_I (default=None): Bending moment release about Y at I-endMz_I (default=None): Bending moment release about Z at I-endMb_I (default=None): Bimoment (warping) release at I-endFx_J (default=None): Axial force release at J-endFy_J (default=None): Shear force release in Y at J-endFz_J (default=None): Shear force release in Z at J-endMx_J (default=None): Torsional moment release at J-endMy_J (default=None): Bending moment release about Y at J-endMz_J (default=None): Bending moment release about Z at J-endMb_J (default=None): Bimoment (warping) release at J-endgroup (default=""): Boundary group nameid (default=None): Manual ID assignment (auto-assigned if None)
Notes
- Each of the 7 components at an end (
Fx,Fy,Fz,Mx,My,Mz,Mb) is only released if a numeric value is passed in. Leaving a parameter asNonekeeps that component fixed (not released). - When
type = "Relative", the value supplied for a released component is treated as a relative stiffness factor. - When
type = "Value", the value supplied for a released component is treated as a fixed release value. - To fully release a component (0 stiffness / 0 value), pass
0explicitly rather than leaving it asNone.
Class Attributes
Boundary.BeamEndRelease.releases -> List of all beam end release instances.
Object Attributes
ELEM_ID(int): The beam element ID on which the release is applied.GROUP_NAME(str): The name of the boundary group.bVALUE(bool):Trueiftype = "Value",Falseiftype = "Relative".FLAG_I(str): 7-character flag string for the I-end (Fx, Fy, Fz, Mx, My, Mz, Mb), '1' if released, '0' if fixed.VALUE_I(list): Release values at the I-end [Fx, Fy, Fz, Mx, My, Mz, Mb].FLAG_J(str): 7-character flag string for the J-end (Fx, Fy, Fz, Mx, My, Mz, Mb), '1' if released, '0' if fixed.VALUE_J(list): Release values at the J-end [Fx, Fy, Fz, Mx, My, Mz, Mb].ID(int): The ID of the beam end release.
Methods
json
Returns JSON representation of all beam end releases.
rel1 = Boundary.BeamEndRelease(1, "Relative", My_I=0, Mz_I=0)
print(Boundary.BeamEndRelease.json())
create
Sends beam end release data to Civil NX.
Boundary.BeamEndRelease.create()
get
Fetches beam end release data from Civil NX.
print(Boundary.BeamEndRelease.get())
sync
Synchronizes beam end releases from Civil NX to Python.
Boundary.BeamEndRelease.sync()
delete
Deletes all beam end releases from both Python and Civil NX.
Boundary.BeamEndRelease.delete()
Examples
Pinned Connection at I-End (Moment Release)
# Pinned Connection Example
# Create Nodes and Element
Node(0, 0, 0)
Node(5, 0, 0)
Node.create()
Element.Beam(1, 2)
Element.create()
# Release bending moments (My, Mz) at the I-end -> acts as a pin
Boundary.BeamEndRelease(1, "Relative", My_I=0, Mz_I=0)
Boundary.BeamEndRelease.create()
Release at Both Ends
# Release at Both Ends Example
# Create Nodes and Element
Node(0, 0, 0)
Node(5, 0, 0)
Node.create()
Element.Beam(1, 2)
Element.create()
# Release torsional moment (Mx) at I-end and bending moment (My) at J-end
Boundary.BeamEndRelease(1, "Relative", Mx_I=0, My_J=0)
Boundary.BeamEndRelease.create()
Release with Fixed Value
# Release with Fixed Value Example
# Create Nodes and Element
Node(0, 0, 0)
Node(5, 0, 0)
Node.create()
Element.Beam(1, 2)
Element.create()
# Release Mz at J-end with a specific release value instead of a relative factor
Boundary.BeamEndRelease(1, "Value", Mz_J=50)
Boundary.BeamEndRelease.create()
Release Multiple Components at an End
# Release Multiple Components Example
# Create Nodes and Element
Node(0, 0, 0)
Node(5, 0, 0)
Node.create()
Element.Beam(1, 2)
Element.create()
# Release Fx, My and Mz at the I-end
Boundary.BeamEndRelease(1, "Relative", Fx_I=0, My_I=0, Mz_I=0, group="Group1")
Group.create()
Boundary.BeamEndRelease.create()