Karamba3D v3
  • Welcome to Karamba3D
  • New in Karamba3D 3.1
  • See Scripting Guide
  • See Manual 2.2.0
  • 1 Introduction
    • 1.1 Installation
    • 1.2 Licenses
      • 1.2.1 Cloud Licenses
      • 1.2.2 Network Licenses
      • 1.2.3 Temporary Licenses
      • 1.2.4 Standalone Licenses
  • 2 Getting Started
    • 2 Getting Started
      • 2.1 Karamba3D Entities
      • 2.2 Setting up a Structural Analysis
        • 2.2.1 Define the Model Elements
        • 2.2.2 View the Model
        • 2.2.3 Add Supports
        • 2.2.4 Define Loads
        • 2.2.5 Choose an Algorithm
        • 2.2.6 Provide Cross Sections
        • 2.2.7 Specify Materials
        • 2.2.8 Retrieve Results
      • 2.3 The Karamba3D Menu
      • 2.4 User Settings
      • 2.5 Physical Units
      • 2.6 Asynchronous Execution of Karamba3D Components
      • 2.7 Quick Component Reference
  • 3 In Depth Component Reference
    • 3.0 Settings
      • 3.0.1 License
    • 3.1 Model
      • 3.1.1 Assemble Model
      • 3.1.2 Disassemble Model
      • 3.1.3: Modify Model
      • 3.1.4: Connected Parts
      • 3.1.5: Activate Element
      • 3.1.6 Create Linear Element
        • 3.1.6.1 Line to Beam
        • 3.1.6.2 Line to Truss
        • 3.1.6.3 Connectivity to Beam
        • 3.1.6.4: Index to Beam
      • 3.1.7 Create Surface Element
        • 3.1.7.1: Mesh to Shell
        • 3.1.7.2: Mesh to Membrane
      • 3.1.8: Modify Element
      • 3.1.9: Point-Mass
      • 3.1.10: Disassemble Element
      • 3.1.11: Make Element-Set
      • 3.1.12: Orientate Element
      • 3.1.13: Dispatch Elements
      • 3.1.14: Select Elements
      • 3.1.15: Support
    • 3.2: Load
      • 3.2.1: General Loads
      • 3.2.2: Beam Loads
      • 3.2.3: Disassemble Mesh Load
      • 3.2.4 Load-Case-Combinations
        • 3.2.5.1 Load-Case-Combinator
        • 3.2.5.2 Disassemble Load-Case-Combinaton
        • 3.2.5.3 Load-Case-Combination Settings
    • 3.3: Cross Section
      • 3.3.1: Beam Cross Sections
      • 3.3.2: Shell Cross Sections
      • 3.3.3: Spring Cross Sections
      • 3.3.4: Disassemble Cross Section
      • 3.3.5: Eccentricity on Beam and Cross Section
      • 3.3.6: Modify Cross Section
      • 3.3.7: Cross Section Range Selector
      • 3.3.8: Cross Section Selector
      • 3.3.9: Cross Section Matcher
      • 3.3.10: Generate Cross Section Table
      • 3.3.11: Read Cross Section Table from File
    • 3.4: Joint
      • 3.4.1: Beam-Joints
      • 3.4.2: Beam-Joint Agent
      • 3.4.3: Line-Joint
    • 3.5: Material
      • 3.5.1: Material Properties
      • 3.5.2: Material Selection
      • 3.5.3: Read Material Table from File
      • 3.5.4: Disassemble Material
    • 3.6: Algorithms
      • 3.6.1: Analyze
      • 3.6.2: AnalyzeThII
      • 3.6.3: Analyze Nonlinear WIP
      • 3.6.4: Large Deformation Analysis
      • 3.6.5: Buckling Modes
      • 3.6.6: Eigen Modes
      • 3.6.7: Natural Vibrations
      • 3.6.8: Optimize Cross Section
      • 3.6.9: BESO for Beams
      • 3.6.10: BESO for Shells
      • 3.6.11: Optimize Reinforcement
      • 3.6.12: Tension/Compression Eliminator
    • 3.7 Results
      • 3.7.1 General Results
        • 3.7.1.1 ModelView
        • 3.7.1.2 Result Selector
        • 3.7.1.3 Deformation-Energy
        • 3.7.1.4 Element Query
        • 3.7.1.5 Nodal Displacements
        • 3.7.1.6 Principal Strains Approximation
        • 3.7.1.7 Reaction Forces
        • 3.7.1.8 Utilization of Elements
        • 3.7.1.9 ReactionView
      • 3.7.2 Results on Beams
        • 3.7.2.1 BeamView
        • 3.7.2.2 Beam Displacements
        • 3.7.2.3 Beam Forces
        • 3.7.2.4 Node Forces
      • 3.7.3 Results on Shells
        • 3.7.3.1 ShellView
        • 3.7.3.2 Line Results on Shells
        • 3.7.3.3 Result Vectors on Shells
        • 3.7.3.4 Shell Forces
        • 3.7.3.5 Shell Sections
    • 3.8 Export
      • 3.8.1 Export Model to DStV
      • 3.8.2 Json/Bson Export and Import
      • 3.8.3 Export Model to SAF
      • 3.8.4 Export/Import Model to and from Speckle (WIP)
    • 3.9 Utilities
      • 3.9.1: Mesh Breps
      • 3.9.2: Closest Points
      • 3.9.3: Closest Points Multi-dimensional
      • 3.9.4: Cull Curves
      • 3.9.5: Detect Collisions
      • 3.9.6: Get Cells from Lines
      • 3.9.7: Line-Line Intersection
      • 3.9.8: Principal States Transformation
      • 3.9.9: Remove Duplicate Lines
      • 3.9.10: Remove Duplicate Points
      • 3.9.11: Simplify Model
      • 3.9.12: Element Felting
      • 3.9.13: Mapper
      • 3.9.14: Interpolate Shape
      • 3.9.15: Connecting Beams with Stitches
      • 3.9.16: User Iso-Lines and Stream-Lines
      • 3.9.17: Cross Section Properties
      • 3.9.18 Surface To Truss
    • 3.10 Parametric UI
      • 3.10.1: View-Components
      • 3.10.2: Rendered View
  • Troubleshooting
    • 4.1: Miscellaneous Questions and Problems
      • 4.1.0: FAQ
      • 4.1.1: Installation Issues
      • 4.1.2: Purchases
      • 4.1.3: Licensing
      • 4.1.4: Runtime Errors
      • 4.1.5: Definitions and Components
      • 4.1.6: Default Program Settings
    • 4.2: Support
  • Appendix
    • A.1: Release Notes
      • Work in Progress Versions
      • Older Versions
      • Version 2.2.0
      • Version 2.2.0 WIP
      • Version 1.3.3
      • Version 1.3.2 build 190919
      • Version 1.3.2 build 190731
      • Version 1.3.2 build 190709
      • Version 1.3.2
    • A.2: Background information
      • A.2.1: Basic Properties of Materials
      • A.2.2: Additional Information on Loads
      • A.2.3: Tips for Designing Statically Feasible Structures
      • A.2.4: Performance Optimization in Karamba3D
      • A.2.5: Natural Vibrations, Eigen Modes and Buckling
      • A.2.6: Approach Used for Cross Section Optimization
    • A.3: Workflow Examples
    • A.4: Bibliography
Powered by GitBook
On this page
  1. 3 In Depth Component Reference
  2. 3.4: Joint

3.4.3: Line-Joint

Previous3.4.2: Beam-Joint AgentNext3.5: Material

Last updated 3 months ago

The "Line-Joint" component allows the definition of linear hinges within or at the boundaries of shell patches. Figure 3.4.3.1 illustrates an example with two shell patches, "A" and "B," each composed of two shell elements. Patch "A" is fully fixed on one side and connected to "B" via a linear joint, represented by a purple cylinder. Shell "B" can rotate around the joint’s X-axis, indicated by the red arrow. A line joint introduces additional degrees of freedom (DOFs) at the connected vertices—one for each hinge DOF.

Inputs for Defining Non-Rigid Shell Connections:

The "Line-Joint"-component provides these inputs to specify the non-rigid connections between shells:

  • "J-Curve": A line-like curve lying on the nodes of the shell that are part of the joint. The nodes do not have to be the endpoints of the curve. The curve's direction defines the joint’s X-axis.

  • "Elem|Id": Specifies the shell patch or its identifier where the joint should be placed. If left empty (default), the joint can be attached to all shells in the model.

  • "Y-Ori": Defines the local Y-axis of the joint, pointing towards the shell patch to which the joint is attached. When "Joints" is enabled in the "ModelView" component, the Y-axis appears as a green arrow on the hinge line. The size of the axes can be adjusted using the "Local Axes" slider in "ModelView".

    • By default, "Y-Ori" is a zero-vector, which is sufficient in most cases, such as for naked edges or surfaces without additional attachments. Explicit Y-orientation is only needed in more complex scenarios where multiple placement options exist.

    • The shell where the line-joint is placed is indicated by a purple cylinder. If multiple line joints with zero rotational stiffness in the X-direction are present along a line, at least one surface must remain without a joint. Otherwise, a rigid rotation of the DOFs at the joint line may occur.

    • If the Y-direction of the joint changes along its length, specify its direction at the start point, and it will be automatically updated across elements.

  • "Z-Ori": If the joint’s Y-axis is parallel to the joint-line direction, the right-handed local coordinate system is defined by the X-direction of the joint line and the Z-orientation. The joint is attached to the elements that the Y-axis points toward. When displayed in ModelView, the Z-axis appears as a blue arrow. Explicit joint orientation is generally only necessary for geometrically complex connections.

  • "DAlpha": Specifies the maximum angle (in degrees) between a mesh face and Y-Ori for the joint to be applied.

  • "Ct": A vector defining the translational spring stiffness of the line joint. Values only apply if the corresponding DOF is set to hinged in the "Dofs" input or via the "Joint Definition" submenu radio buttons.

  • "Cr": A vector for rotational spring stiffness, functioning similarly to "Ct". In complex setups with multiple line joints, assigning a small stiffness for rotation around the local X-axis helps prevent rigid body modes at the connection nodes without significantly affecting the structural response.

  • "Dofs": A list of DOF indices to be released, in addition to those selected via checkboxes in the "Joint Definition" submenu. The DOF indices are as follows:

    • 0: Tx (Translation in X)

    • 1: Ty (Translation in Y)

    • 2: Tz (Translation in Z)

    • 3: Rx (Rotation about X)

    • 4: Ry (Rotation about Y)

    • 5: Rz (Rotation about Z)

    • Use a "ValueList" component for convenient selection or enable "Expand ValueLists" in the component’s context menu.

The radio buttons under "Joint Definition" indicate which DOFs are released when enabled. To visualize the joint’s local coordinate system, enable "Joints" in the "Display Scales" submenu of "ModelView". The "Local Axes" slider in the same submenu allows for scaling the displayed arrows.

51KB
SimpleLineJointOnMembrane.gh
39KB
SimpleLineJointOnPlate.gh
29KB
HingeOnEdge.gh
Fig. 3.4.3.1: Line-joint symbolized by a purple cylinder between two shell patches "A" and "B"