# 3.3.3: Spring Cross Sections

Springs allow you to directly define the stiffness relation between two nodes via spring constants. Each node has six degrees of freedom (DOFs): three translations and three rotations. Using the **“Cross Sections”** multi-component with **“Cross Section”** set to **“Spring”** lets one couple these DOFs by means of six spring-constants. A relative movement $$u\_{i,rel}$$ between two nodes thus leads to a spring force $$F\_i = c\_i \cdot u\_{i,rel}$$. In this equation $$u\_{i,rel}$$ stands for a relative translation or rotation in any of the three possible directions x, y, z, $$c\_i$$ is the spring stiffness. In Karamba3D the latter has the meaning of kilo Newton per meter $$kN/m$$ in case of translations and kilo Newton meter per radiant $$kNm/rad$$ in case of rotations. The input-plugs **“Ct”** and **“Cr”** expect to receive vectors with translational and rotational stiffness constants respectively. Their orientation corresponds to the local beam coordinate system to which they apply. In case of zero-length springs this defaults to the global coordinate system but can be changed with the **“OrientateBeam”**-component.

In case one wants to realize a rigid connection between two nodes the question arises as to which spring stiffness should be selected. A value too high makes the global stiffness matrix badly conditioned and can lead to a numerically singular stiffness matrix. A value too low results in unwanted relative displacements. So you have to find out by trial and error which value gives acceptable results.

![Figure 3.3.3.1: Spring fixed at one end and loaded by a point load on the other](/files/-MCkEYcQDpy36YTnQ_XN)

Fig. 3.3.3.1 shows a peculiarity one has to take into account when using springs: They are unaware of the relative position of their endpoints. This is why the load on the right end of the spring does not evoke a moment at the left, fixed end of the spring.

{% file src="/files/96yTkaiLPt2NywHTdr5a" %}

{% file src="/files/E4qXkd21pBCCvm94vUHB" %}

{% file src="/files/GZlrhwklafcWq4hI2LN0" %}

{% file src="/files/vWwjXiDUg3HUMavGpqfs" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://manual.karamba3d.com/3-in-depth-component-reference/3.3-cross-section/3.3.3-spring-cross-sections.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
