Tutorial 1: Simple Beam

From TOI-Pedia
Fixed End 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


Karamba Workflow

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

Base Geometry for 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 Params » Geometry » Point
  • Connect the two points using the Line component Curve » Primitive » Line

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

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 Karamba3D » 1.Model » Line to Beam


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

Cross Section Range Selector

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 Karamba3D » 3.Cross Section » Cross Section Selector(Karamba3D)
  • Create a Cross Section Range Selector through Karamba3D » 3.Cross Section » Cross Section Range Selector(Karamba3D)

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

Select a Cross Section

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

Material Selection

We are now going to create a steel material:

  • Create a new material through Karamba3D » 4.Material » Material Selection
  • Karamba3D offers various ready material families, let's choose the steel family and S235 from the name list.

Step 5: Specify Supports

Defining Supports
Reaction Forces and Moments for the Support Types

To create supports:

  • Connect the points from Point parameters, representing the supports, to the Support component found at Karamba3D » 1.Model » Support(Karamba3D)
  • 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


Gravity Load
  • Create a load through Karamba3D » 2.Load » Loads (Karamba3D)
  • 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.

Line Load

Uniform Line Load
Orientation of 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 Karamba3D » 2.Load » Loads (Karamba3D)
  • 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

Assemble 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 Karamba3D » 1.Model » Assemble Model(Karamba3D)
  • Make sure you connect all the following entities to the Assembly component.
  1. Structural elements (beams, mesh shells)
  2. Supports
  3. Loads
  4. Cross Sections
  5. Materials
  • 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

Assemble 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 Karamba3D » 5.Algorithmns » Analyze(Karamba3D)

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 Karamba3D » 6.Results » Model View(Karamba3D)

Beam Results

Beam View

For the Beam Elements:

  • Connect the Model from the Model View to the Beam View found at Karamba3D » 6.Results » Beam View(Karamba3D)
  • 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 Display » Graphs » Legend .

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

Personal tools