# 3.7.3.2 Line Results on Shells

## **Line Results on Shells**

This multi-component generates force-flow-lines, iso-lines, principal moment- or stress-lines. The process for creating these lines follows these steps:

* In case of element results these get averaged at the vertices using the opening angles of the elements as weights.
* From the vertex values the streamlines result via the integration algorithm described in \[15].

## **Force Flow Lines on Shells**

![Fig. 3.7.13.1: Cantilever consisting of triangular shell elements: Flow lines of force in horizontal direction](https://2671626451-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCkDlhlZpqUmakSqOrp%2Fsync%2Fd858b3d1aab29292d2739bd5db5bd5fa6df421be.png?generation=1595316037613946\&alt=media)

Force flow (FF) lines or load paths (as they are also sometimes called) illustrate the load distribution in structures \[[11](../../../appendix/bibliography)]). There is a loose analogy between those force flow (FF) lines and streamlines in hydromechanics: The law of conservation of mass in hydromechanics is matched by the static conditions of equilibrium in a specified direction. If there are two FF-lines the resultant force between those in a predefined direction stays constant. Consider e.g. the cantilever in fig. 3.7.13.1 for which the force flow in horizontal direction is described by the red lines. At the supports the force flow lines run nearly horizontal at the upper and lower side where the normal stresses from the supports reach their maximum and thus dominate the resultant force. They gradually curve down to the neutral axis where the shear stresses constitute the only contribution to horizontal forces.

Aside from resulting in nice line drawings those force flow lines can be practical as well \[[11](../../../appendix/bibliography)]:

* FF-lines form eddies in ineffective (with respect to the given force direction) parts of a structure or reverse their direction there.
* In case you want to strengthen a structure with linear elements (e.g. fibers) align them with FF-lines to get the most effective layout.

FF-lines are not the same as principal stress lines because the latter lack the property of constant force between adjacent lines.

The **“Shell Force Flow Lines”**-component lets you create force flow lines in arbitrary points of shells (see fig. 3.7.13.1). The load-case considered is that defined in the nearest upstream **“ModelView”**-component.

There exist seven input plugs:

|                   |                                                                                                                                                                                                                                                                                                                                      |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **"Model"**       | The model from which you want to create FF-lines. By default the results of all load-cases get superimposed with factor “1”. Use a **“ModelView”**-component to select specific load-cases or to impose load-factors other than “1”.                                                                                                 |
| **"LCase"**       | Name of unique load case for which to retrieve results. Can be a load case combination name or a load case combination name and load case index. By default, the first load case of the first load case combination is chosen.                                                                                                       |
| **"Layer"**       | In case of bending, the stress state of shells and therefore the FF-lines change over the cross section height. A value of “-1” denotes the lower “1” the upper shell surface and “0” the middle layer. The default value in “0”.                                                                                                    |
| **"ForceDirs"**   | Expects a vector or list of vectors that defines the principal force direction. This direction gets projected on each element in order to define the local force flow. Elements perpendicular to the **“ForceDir”**-vector are skipped. Multiple such directions can be defined for different regions.                               |
| **"ForceDirPos"** | For each vector in **“ForceDirs”** a position can be defined. The force direction at an arbitrary point on the shell corresponds to the **“ForceDir”**-vector with the closest **“ForceDirPos”**.                                                                                                                                    |
| **"Source"**      | Defines points on the shell where FF-lines shall originate. You can feed points on or near the shell into this plug. It is also possible to use lines that intersect the shell. In case of multiple intersections there will be the same number of FF-lines.                                                                         |
| **"Seg-L"**       | Intended length of the segments of the resulting FF-lines. Is 0.5 m by default. A negative value means that only INT(abs(Seg-L)) line segments will be drawn.                                                                                                                                                                        |
| **"dA"**          | This parameter sets the accuracy with which the FF-lines get determined: It is the maximum differential angle between to adjacent pieces of a FF-line. If this criteria results in pieces of length smaller than **“Seg-L”** then they will be joined before sent to the output-plug **“Line”**. By default this value is set to 5°. |
| **"theta"**       | Here you can define an angle between the FF-lines and those lines output at the **“Line”**-output plug. The angle is in degree and defaults to zero.                                                                                                                                                                                 |

The output of the **“ShellFFlow”**-component consists of lines arranged in a data tree. The right-most dimension contains the branches of each flow-path: In case of a e.g. a plane there are two branches that originate from the given intersection point. In case of T-like shell topologies this number can grow to three and larger.

{% embed url="https://youtu.be/wlgsAt629Xw?si=MEPfF8FYqCewymfo" %}

## **Isolines on Shells**

The **“Isolines on Shells”**-component lets you do two things: First draw contour lines on shells that connect points of equal principal stresses, principal moments, utilization, resultant displacements or shell thickness (see fig. 3.7.13.2). Second query results in arbitrary points of the shell.

![Fig. 3.7.13.2: Lines of equal second principal stress on a cantilever](https://2671626451-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCkDlhlZpqUmakSqOrp%2Fsync%2F66898ed9ce034aa11727bebef5d928acc5713519.png?generation=1595316037591959\&alt=media)

The input-plugs **“Model”**, **"LCase"**, **“Layer”** and **“Seg-L”** have the same meaning as for the **“Force Flow Lines on Shells”**-component (see section [3.6.12](#force-flow-lines-on-shells)). In terms of placing iso-lines on the structure the input **“Vals|Pts|Lines”** offers the following options:

|             |                                                                                                                                                                                                                                                                                          |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **"Vals"**  | In case a list of numbers is supplied, iso-lines at these levels will be created. See the context help of the input-plug for the physical unit to use. One can e.g. use the **“Legend T”**-output of the **“ShellView”**-component after removing the first and last item from the list. |
| **"Pts"**   | Iso-lines will start at the closest projection of the given points on the shell.                                                                                                                                                                                                         |
| **"Lines"** | The intersection points of the given lines and the shells serve as seeds of iso-lines.                                                                                                                                                                                                   |

The load-case to examine as well as load-case factors can be set with a **“ModelView”**-component plugged into the definition ahead of the **“Isolines on Shells”**-component. By default all load-cases get superimposed using unit load-factors.

Isolines are straight lines within each shell face. This may result in slightly rugged poly-lines. Set the **“Smooth”**-input plug to “True” in order to flatten them out. The **“Line”**-output-plug will then return splines instead of lists of line-like curves. They result from using the calculated iso-points as control-points. For curved shell geometries this has the disadvantage that those splines no longer stay exactly on the shell surface. This may give you a hard time trying to intersect different groups of such lines.

In the “property”-submenu one can select the result-value to be displayed: first or second principal stress (**“Sig1”**, **“Sig2”**), first or second principal bending moments (**“m1”**, **“m2”**), utilization (**“Util”**), resultant displacement (**“Disp”**) or shell thickness (**“Thick”**).

The **“Lines”**-output data-structure corresponds to that of the **“Force Flow Lines on Shells”**-component. Each number in the output-plug **“Value”** corresponds to one piece of iso-line from the **“Lines”**-output.

## **Principal Moment Lines on Shells**

Works like the “Principal Stress Lines on Shells” component (see section [3.6.12](#principal-stress-lines-on-shells)). Instead of principal stress lines it returns principal moment lines.

## Transverse Shear

Works like the “Principal Stress Lines on Shells” component (see section [3.6.12](#principal-stress-lines-on-shells)). Instead of principal stress lines it returns in-plane principal shear lines. They result from integrating the transverse shear directions. These result from applying the transverse shear forces vx and vx in the shell's local X- and Y-direction. See [\[13\]](broken-reference) and[ \[14\]](broken-reference) for details.

## **Principal Stress Lines on Shells**

![Fig. 3.7.13.3: Principal stress lines: they are tangent to the first and second principal stress direction](https://2671626451-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCkDlhlZpqUmakSqOrp%2Fsync%2F2223edaac856c68f09398010bccb97db9f628f90.png?generation=1595316037625371\&alt=media)

{% file src="https://2671626451-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6rkhS8IteqWJRfUuJlL5%2Fuploads%2FMELMjY8walcdzYELdDnZ%2FShell_CantileverBeam_PrincipalStressLines.gh?alt=media&token=e38c8596-abe3-4056-a1a2-df0631eefa90" %}

Principal stress (PS) lines are tangent to the principal stress directions (see fig. 3.7.13.3). In the case of a cantilever they either run parallel or at right angle to the free boundaries. In the middle where normal stresses due to bending vanish, first and second principal stress lines intersect the middle axis at 45°.

The meaning of the input-plugs of the **“Principal Stress Lines on Shells”**-component correspond to that of the **“Force Flow Lines on Shells”**-component (see section [3.6.12](#force-flow-lines-on-shells) for details). On the output side **“Lines1”** and **“Lines2”** hold the first and second principal stress lines in data trees: the right-most dimension holds a list of lines that represent a part of a PS-line. There are usually two parts per line that start off to either side of the starting point. In case of more complicated topologies there can be more than two parts. These parts populate the second dimension from the right.

{% file src="https://2671626451-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6rkhS8IteqWJRfUuJlL5%2Fuploads%2F7pXkitQHaDgPUOHrcEKE%2FShell_Cantilever_DeepSupport.gh?alt=media&token=97ee240c-e677-46c3-aaf7-eeaca34a2bf5" %}

{% file src="https://2671626451-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6rkhS8IteqWJRfUuJlL5%2Fuploads%2FDPRUmt9siZK4dv6iOEPz%2FShell_Cantilever_PrincipalStressLines.gh?alt=media&token=ac2add7f-3950-4689-8aa0-2fd98ce102ae" %}

{% file src="https://2671626451-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6rkhS8IteqWJRfUuJlL5%2Fuploads%2FcpBfcxFEHpyK7hlioyyO%2FShell_Cantilever_ShearLines.gh?alt=media&token=51be14d7-1e1b-4a52-8e4d-994613dd2879" %}
