Tutorial 1: Simple Beam
In this Tutorial we are going to create and test the deflection of a Simply Supported Beam.
For this tutorial you can use the free version of Karamba3D. You can get the file used for this tutorial here: Karamba3D: Tutorial 1
Note: When opening the file ignore the message of the missing installation of the
"Bifocals" add-on. If however you wish to install it, you can direct here: Bifocals
- 1 Workflow
- 2 Step 1: Create Rhino Geometry
- 3 Step 2: Translate Rhino Geometry to Structural Elements
- 4 Step 3: Specify Cross Sections
- 5 Step 4: Specify Materials
- 6 Step 5: Specify Supports
- 7 Step 6: Specify Loads
- 8 Step 7: Assemble the Model
- 9 Step 8: Analyze the Model
- 10 Step 9:View Results
Let's first summarize the workflow of the analysis process. There are some basic steps that we have to follow:
- Create Rhino Geometry (lines or meshes)
- Translate Rhino Geometry to Structural Elements
- Specify Cross Sections
- Specify Materials
- Specify Supports
- Specify Loads
- Assemble the Model
- Analyze the Model
- Get the Results
Step 1: Create Rhino Geometry
Columns and beams
In Karamba3d solid elements such as beams and columns are represented by lines.
- Create two points in top view as shown in the image on the right and connect them to the Point parameter
- Connect the two points using the Line component
Note:It is important to remember that the beams have to be single segment lines with two distinct endpoints.
Step 2: Translate Rhino Geometry to Structural Elements
Line to Beam
All structural elements in Karamba3D are 2D dimensional. To specify the lines as columns:
- Connect the column lines to the Line to Beam component
Each group of structural elements has a unique Identifier. The identifying name is important as it allows modifying specific elements or assigning properties to them and also later retrieving information about their structural performance.
- Create a panel using at least one letter to specify the name of the columns. In this case it is beam.
- Connect the panel to the Id input in the Line to Beam component.
If we do not specify identifier by default Karamba3D will assign all properties to all the structural elements. In this example we study a single beam.Therefore this step can be omitted.There is further elaboration on the Identifier at the Tutorial 3: Space Frame
Step 3: Specify Cross Sections
Beam Cross Section
As mentioned in step 1, in Karamba3D all structural elements are 2D dimensional. The third dimension is specified as a cross section property. Karamba has a library of ready profiles. Through the Cross Section Range Selector we can specify the dimension limits and select the cross section that fits our criteria:
- Create a Cross Section Selector through
- Create a Cross Section Range Selector through
To limit the available profiles to our desired criteria:
- Specify the maximum desired height maxH and the maximum desired width maxW of the cross section.
- in the Cross Section Range Selector click the Select button.
- Choose EU from Country, I from Shape and IPE from family
We can view the list of the IPE cross sections that meet our criteria:
- Connect a panel to CrosSec output in the Cross Section Range Selector.
For now we can choose the third cross section in our list:
- At the Cross Section Selector connect a number slider to the Name|Ind input
Step 4: Specify Materials
We are now going to create a steel material:
- Create a new material through
- Karamba3D offers various ready material families, let's choose the steel family and S235 from the name list.
Step 5: Specify Supports
To create supports:
- Connect the points from Point parameters, representing the supports, to the Support component found at
- The support plane is by default it is the xy plane so there is no need to specify it.
The Tx,Ty,Tz options will constrain translations in global x, y and z directions . The Rx,Ry,Rz will constrain rotations in global x, y and z axes.
- Create a pinned support by enabling Tx, Ty, Tz, Rx
- Create a roller support by enabling all Tx, Ty
Step 6: Specify Loads
- Create a load through
- Specify the Type of the Load by clicking the white box and selecting Gravity.
- Specify the vector of the gravity load. Gravity is negative to the global z direction therefore the vector has to be reversed.
- Specify the Load Case by connecting a panel with a unique number to LCase, in this case is "0".
The Load Case input is important for retrieving results for each Load Case effect in our structure separately. For example, we may need to examine the deflection due to live loads separately from the dead loads.
Now let's create a live load of 3KN/m2 on the beam. For that we will use a mesh surface and we will apply a constant load to it.
- Create a again load through
- This time the Type of the Load is Uniform Line.
- At the Orientation Option choose Global (the orientation of the load-vector is shown in the image on the right).
- Set the vector of the load by setting -3 value (that represents 1kN/m2 load) to a z vector and connect it to the vector option.
- Specify the Load Case by inputting an integer number to the LCase, in this case it is "1".
Step 7: Assemble the Model
The Model is an entity that contains all the information related to the structure and it is essential to retrieve the analysis results.
- Use the Assemble Model component through
- Make sure you connect all the following entities to the Assembly component.
- Structural elements (beams, mesh shells)
- Cross Sections
- Connect the entities to Assemble Model
Note: Grasshopper tends to create data trees which in most cases are unwanted in the Assemble component and will cause errors. Make sure that all the lists of your entities are flattened. Check the Grasshopper Data Tree Editing for more details on data trees in Grasshopper
Step 8: Analyze the Model
The Model Entity from the Assemble component does not yet contain the results from the mechanical response for each load case. That needs to be processed with the Analyze component:
- Connect the Model from the Assemble Model to the Analyze(Karamba3D) component found at
Step 9:View Results
Let's view the displacement results for beams and shells on the rendered meshes:
- Connect the Analyzed Model to the Model View component found at
For the Beam Elements:
- Connect the Model from the Model View to the Beam View found at
- Choose in the Render Settings the property that you want to see rendered, in this case it is the Displacement.
- Connect the Legend C (Legend Colors) and the Legend T (Legend Tags) to the Legend component found at .
To render the displacement:
- From the Model View open the Display Scales option, choose the Deformation and tweak slider to change the scale of the displacement
We will continue with the analysis of the results in Tutorial 2: Analysis of the results