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
  • Modify Beam
  • Activation Status of Beams
  • Bending Stiffness
  • Height and Thickness of Cross-sections
  • Local and Global Eccentricity of the Beam Axis
  • Orientation of the Beam
  • Buckling Property for Cross Section Optimization
  • Buckling length in local beam directions
  • Second Order Theory Normal Force
  • Modify Shell
  • Height
  • Second Order Theory Normal Force
  1. 3 In Depth Component Reference
  2. 3.1 Model

3.1.8: Modify Element

Previous3.1.7.2: Mesh to MembraneNext3.1.9: Point-Mass

Last updated 8 months ago

“Modify Element” is a multi-component that can be applied to shell, beam, and truss elements. Use the drop-down list at the bottom of the component to select the type.

By default, Karamba3D assumes the cross-section of beams to be steel tubes with a diameter of 114 mm and a wall thickness of 4 mm. Use the “Modify Element” component with “Element Type” set to “Beam” to set the beam properties as needed. Fig. 3.1.8 shows how this can be done. There are two methods for using the “Modify Element” component:

  1. Insert it in front of the “Assemble” component and let element objects flow through it (see, for example, the modification of beams in Fig. 3.1.10.1). By default, the “Modify Element” component leaves all incoming elements unchanged. Several “Modify Beam” components can act consecutively on the same beam.

  2. Create a stand-alone element agent that can be fed into the “Elem” input of the “Assemble” component. The “ShellId” or “BeamId” input plugs let you select the elements to be modified. Use regular expressions to specify groups of elements.

Modify Beam

These element properties can be modified:

Activation Status of Beams

Bending Stiffness

Beams resist normal forces and bending moments. Setting the “Bending”-input of the “ModifyElement”-component to “False” disables the bending stiffness and turns the corresponding beam into a truss. There are reasons for this adjustment:

  • Connections between beams that transfer bending and normal forces are typically more expensive than those that carry normal force only. The design of connections heavily depends on the material used: rigid bending connections in wood are harder to achieve than in steel. However, rigid connections add stiffness to a structure and reduce its deflection. Using truss elements instead of beams is a safer approach.

  • For slender beams, i.e., beams with a small diameter compared to their length, the effect of bending stiffness is negligible compared to axial stiffness. Consider a thin wire that is easy to bend but hard to tear by pulling.

  • Eliminating bending stiffness reduces computation time by more than half for each node with only trusses attached.

Trusses only take axial forces and do not prevent nodes from rotating. Karamba3D automatically removes rotational degrees of freedom for nodes connected only to trusses. When a beam with bending enabled connects to a node, the node retains its rotational degrees of freedom. Be mindful of this when the “Analysis” component turns red and reports a kinematic system. Transferring only axial forces means a truss restricts a node's movement in one direction. A node not attached to a support has three translational degrees of freedom, requiring three truss elements not in the same plane to be fixed in space.

Height and Thickness of Cross-sections

“Height” (equivalent to the outer diameter D for circular tubes) and wall thickness of a cross-section influence a beam's axial and bending stiffness. Karamba3D expects both input values in centimeters. The cross-section area is linear in both diameter and thickness, whereas the moment of inertia grows linearly with thickness and depends on D³ for full rectangular sections and on D² for I-profiles and box sections. Therefore, increasing a beam's height (or diameter) is more effective for insufficient bending stiffness than increasing its wall thickness.

Local and Global Eccentricity of the Beam Axis

Orientation of the Beam

Buckling Property for Cross Section Optimization

Buckling can be turned off for cross-section optimization, simulating pre-tensioned slender elements without actually pretensioning them. The necessary pretension force is roughly the negative value of the largest compressive axial normal force of all load cases.

Buckling length in local beam directions

Modify Shell

Height

Sets a uniform cross section height throughout the shell.

When the “Active” input is set to false, the corresponding beam is excluded from further calculations until “Active” is reset to true. See section for an alternative way of setting a beam's activation state.

Karamba3D bases deflection calculations on the initial, undeformed geometry. Some structures, like ropes, are form-active, meaning the deformed geometry and the axial forces in the rope provide equilibrium. This effect is not accounted for in Karamba3D's first order theory (Th.I.) calculations and leads to large doeformations for rope-like beams. Using a truss instead of a beam-element for first order analysis can circumvent this issue. Alternatively, reduce the rope's specific weight to zero or start from a slightly deformed rope geometry and apply external loads in small steps, where each step's initial geometry results from the previous step's deformed geometry (see section ).

The “EcceLoc” and “EcceGlo” input plugs set the eccentricity of the beam axis with respect to the connection line between its endpoints. Both expect a three-dimensional vector. “EcceLoc” refers to the local coordinate system, and “EcceGlo” refers to the global coordinate system. Beam eccentricities can also be defined via the “Eccentricity on Beam” component (see section ).

This input allows defining the orientation of a beam, working similarly to the orientate-beam component (see section ).

For cross-section optimization, it is necessary to know a beam’s buckling length. Karamba3D approximates it using the algorithm described in section . For system buckling cases, this approximation may not be safe. The “BklLenY”, “BklLenZ”, and “BklLenLT” input plugs allow specifying the buckling length of a beam for its local Y- and Z-axes, as well as for lateral torsional buckling. These values override those from Karamba3D's buckling length calculation when specified. The “lg” value sets the distance of transverse loads from the center of shear of the cross section, defaulting to zero. Positive values mean the loads point towards the shear center, acting destabilizing for lateral torsional buckling. The “lg” property influences the beam's utilization concerning lateral torsional buckling according to Eurocode 3.

Second Order Theory Normal Force NIIN^{II}NII

Axial normal forces influence the stiffness of a beam in second order theory (Th.II) calculations. Compressive forces lower, and tensile forces increase its bending stiffness. For example, a guitar string vibrates at a higher frequency (i.e., is stiffer) under increased tension. In Karamba3D, the normal force impacting stiffness ( NIIN^{II}NII) is independent of the normal force causing stresses in the cross-section (NNN). This allows superimposing second order theory results safely by choosing NIIN^{II}NIIas the largest compressive force NNNof each beam.

Second Order Theory Normal Force NIIN^{II}NII

As with beams, NIIN^{II}NIIfor shells specifies the in-plane normal force which impacts stiffness in case of second order theory calculations. It is a force per unit of length assumed to be of same magnitude in all directions.

3.1.5
3.5.4
3.3.7
3.1.14
3.5.8
37KB
ModifyElementComponent.gh
43KB
Modify_Element.gh
38KB
LocalCooSys_I.gh
42KB
LocalCooSys_II.gh
43KB
Beam_Modifier.gh
41KB
Shell_Modifier.gh
Fig. 3.1.8: Modification of the default element properties: usage as flow-through-component for beams, and as an agent for shells.