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.9.19 Head-Up Display Legend
    • 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.1 Model

3.1.15: Support

Previous3.1.14: Select ElementsNext3.2: Load

Last updated 3 months ago

Without supports, a structure would have the potential to move freely in space. This is undesirable for most buildings. Therefore, it is essential to have enough supports so that the structure cannot move without deforming, i.e., exhibits no rigid body modes.

When defining supports for a structure, remember that in three-dimensional space, a body has six degrees of freedom (DOFs): three translations and three rotations (see Fig. 3.1.15.1). The structure must be supported in such a way that none of these DOFs are possible without invoking a reaction force at one of the supports. Otherwise, Karamba3D either refuses to calculate the deflected state or renders very large displacements. Sometimes, results are obtained from movable structures due to the limited accuracy of computer calculations, which leads to round-off errors. It is a misconception to think that if there are no forces in one direction (e.g., in a plane truss), there is no need for corresponding supports. The possibility of displacement is what matters.

Errors in defining support conditions are easy to detect with Karamba3D. Section 3.6.6 shows how to calculate the eigenmodes of a structure. This type of calculation works even for movable structures: rigid body modes, if present, correspond to the first few eigenmodes.

Fig. 3.1.15.2 shows a simply supported beam. The “Support”-component takes as input either the index or the coordinates of the point to which it applies.

By default the coordinate system for defining support conditions is the global one. This can be changed by defining a plane and feeding it into the “Plane”-input plug of the “Support”-component. Reaction forces and support stiffness aleays apply to the local coordinate system.

To model different soil conditions, translational and rotational stiffness values can be provided via the "Ct" and "Cr" input plugs, respectively. These inputs require vectors whose X, Y, and Z components correspond to the stiffness values in the local support coordinate system. It is important to note that specifying a rigid support overrides the definition of a flexible support with a spring stiffness. For example, in Fig. 3.1.15.2, dark green arrows represent fixed supports, while light green arrows indicate flexible supports. If a support movement needs to be imposed on a flexible support degree of freedom, a point load must be added, calculated as the displacement multiplied by the stiffness in that direction.

The string output of the component lists the node index or nodal coordinate, an array of six binaries corresponding to its six degrees of freedom, as well as translational and rotational spring stiffnesses.

From the support conditions in Fig. 3.1.15.2, one can see that the structure is a simply supported beam: green arrows symbolize locked displacements in the corresponding direction. The translational movements of the left node are completely fixed. On the right side, two supports in the y- and z-directions block rotations about the global y- and z-axes. The only degree of freedom left is the rotation of the beam about its longitudinal axis, which is blocked at one of the nodes. In this case, it is the left node where a purple circle indicates the rotational support.

The displacement boundary conditions can significantly influence the structural response. Fig. 3.1.15.3 shows an example of this: on the left, all translations are fixed at supports; on the right, one support is movable in the horizontal direction. When calculating the deflection of a chair, support its legs in such a way that no excessive constraints exist in the horizontal direction; otherwise, you underestimate its deformation. The more supports applied, the stiffer the structure and the smaller the deflection under given loads. To achieve realistic results, introduce supports only when they reliably exist.

The component features six small radio button circles that indicate the type of fixation. The first three correspond to translations along the global x, y, and z axes, while the last three represent rotations about these axes. A filled circle signifies a fixed degree of freedom, meaning it is either zero or assigned a predefined value via a "PointDisplacement" load (refer to section ). The state of each circle can be toggled by clicking on it. Additionally, the supported degrees of freedom can be defined parametrically using the “Dofs” input, which expects a list of integers from '0' to '5', corresponding to Tx through Rx. To generate a ValueList component with these options, right-click the component and select “Expand ValueLists”, as illustrated in Fig. 3.1.15.2.

Supports cause reaction forces. These can be visualized by activating “Reactions” in the “Display Scales” section of the “ModelView”-component (see section). They appear as arrows with numbers in green (representing forces) and purple (representing moments). The numbers either meankNkNkNin case of forces or kNmkNmkNm when depicting moments. The orientation of the moment arrows corresponds to the screw-driver convention: The orientation of the moment arrows follows the screw-driver convention: they rotate about the axis of the arrow counterclockwise when viewed such that the arrowhead points toward the observer.

By default the size of the support symbols is set to approximately 1.5m1.5m1.5m. The slider with the heading “Support” on the “ModelView”-component lets you scale the size of the support symbols. Double click on the knob of the slider in order to set the value range.

3.7.1.1
3.2.1
27KB
SupportComponent.gh
30KB
Support_Local_Orientation.gh
24KB
Support_Local_Orientation_Cross_Section_Forces_I.gh
32KB
Support_Local_Orientation_Cross_Section_Forces_II.gh
Fig. 3.1.15.1: Metaphor for the six degrees of freedom of a body in three-dimensional space.
Fig. 3.1.15.2: Define the position of supports by node-index or position.
Fig. 3.1.15.3: Influence of support conditions – undeformed and deflected geometry.