## PANEL LOADS

## Overview

REPTILE can extract panel loads for many locations across many load cases and output files in a single step. This is functionality is typically used when analyzing discrete zones of webs or skins. REPTILE currently provides three different approaches for extracting panel loads:

- Area-weighted averaged shell element running loads (
*--shell_avg*) - The "Panelizer" approach using shell element running loads (
*--panelizer*) - An alternative "Panelizer" that uses grid point forces (
*--panelizer_gpf*)

## Averaged Running Loads

REPTILE's

<< insert figure >>

The shell element running loads are weighted by the area of each individual element, for example the x-direction average running load would be calculated according to the following formula:$$N_{xx,avg}=\frac{1}{A_{total}} \sum_i A_i \cdot N_{xx,i}$$NOTE: The

The input file for

*--shell_avg*mode calculates area-weighted average shell element running loads. Unlike the other methods, this approach does not account for gradients (or moments) across the panel.<< insert figure >>

The shell element running loads are weighted by the area of each individual element, for example the x-direction average running load would be calculated according to the following formula:$$N_{xx,avg}=\frac{1}{A_{total}} \sum_i A_i \cdot N_{xx,i}$$NOTE: The

*--shell_avg*mode currently does not transform the element loads in any way, which could be problematic if the element loads are oriented in different coordinate systems.**This will be fixed soon.**The input file for

*--shell_avg*is a text file that defines each panel. The format is as follows:- First the name of a panel is defined with the "DEF" keyword
- Until another "DEF" keyword is encountered, all subsequent lines contain element IDs associated with that panel
- REPTILE understands "Patran-Style" list syntax, which makes writing sequential lists more compact (e.g. "15:24" means all IDs from 15 to 24, "30:120:10" means IDs from 30 to 120 counting by 10's).
- Comments lines can be added with the "#" character
- Blank lines are ignored

*--shell_avg*input file:DEF PANEL_1

41 42 43

44 45

# OPTIONAL COMMENT LINE

DEF PANEL_2

46:58

The command line for

*--shell_avg*looks like this:reptile --shell_avg -i file.def -o file.csv file1.xdb

## Panelizer

REPTILE's

The panelizer approach could be described as a "heteroskedastic bilinear regression" which is just a fancy way of saying it finds the average values of the running loads as well as the slopes of a best-fit plane.

<< insert figure >>

The average running loads are calculated identically to the

$$\frac{\partial N_{xx}}{\partial y}=\frac{ \sum_i (w_i \cdot c_{y,i} \cdot N_{xx,i}) - \sum_i (w_i \cdot c_{y,i}) \cdot \sum_i (w_i \cdot N_{xx,i}) }{ \sum_i (w_i \cdot c_{y,i}^2) - (\sum_i w_i \cdot c_{y,i})^2 }$$Where $w_i=\frac{A_i}{A_{total}}$ and $c_{y,i}$ is the location of the element centroid relative to the overall panel centroid in the local y-direction.

REPTILE calculates the gradient of the running load rather than the bending moment since this reduces the inputs required (the panel dimensions must be supplied to find the moment). If the bending moment is needed (which it often is) it can be calculated with the formula $M=\frac{a^3}{12} \cdot \frac{\partial N_{xx}}{\partial y}$, where $a$ is the length of the panel on the Nxx-loaded edge.

The

*--panelizer*mode calculates area-weighted average shell element running loads as well as the gradient of load across the panel. This is useful in cases where a panel sees significant bending loads.The panelizer approach could be described as a "heteroskedastic bilinear regression" which is just a fancy way of saying it finds the average values of the running loads as well as the slopes of a best-fit plane.

<< insert figure >>

The average running loads are calculated identically to the

*--shell_avg*approach, except that the element loads are all transformed to a common coordinate system first. In addition,*--panelizer*also calculates the gradients of the running loads. For example, the slope of the Nxx with respect to the y-direction is calculated according to the following formula:$$\frac{\partial N_{xx}}{\partial y}=\frac{ \sum_i (w_i \cdot c_{y,i} \cdot N_{xx,i}) - \sum_i (w_i \cdot c_{y,i}) \cdot \sum_i (w_i \cdot N_{xx,i}) }{ \sum_i (w_i \cdot c_{y,i}^2) - (\sum_i w_i \cdot c_{y,i})^2 }$$Where $w_i=\frac{A_i}{A_{total}}$ and $c_{y,i}$ is the location of the element centroid relative to the overall panel centroid in the local y-direction.

REPTILE calculates the gradient of the running load rather than the bending moment since this reduces the inputs required (the panel dimensions must be supplied to find the moment). If the bending moment is needed (which it often is) it can be calculated with the formula $M=\frac{a^3}{12} \cdot \frac{\partial N_{xx}}{\partial y}$, where $a$ is the length of the panel on the Nxx-loaded edge.

The

*--panelizer*definition file consists of blocks of input associated with each panel. The format is very similar to the*--node_forces*definition file, except that only elements and a coordinate system need to be specified.DEF PANEL_1

ELEMS 41 42 43 44 45

CSYS1 15.62 -1.34 104.61

CSYS2 1002

CSYS3 1003 1005

# OPTIONAL COMMENT LINE

DEF PANEL_2

ELEMS 46:58

COORD 201

The command line for --panelizer looks like this:

reptile --panelizer -i file.def -o file.csv file1.xdb

Also, you can use the "-INV" option to calculate invariants (max/min principal, max shear, von-mises) (Note: the invariants are calculated only from the average loads).

## Panelizer (Grid Point Forces)

REPTILE also provides an alternative panelizer method (invoked with

<< insert figure >>

This method has the advantage of allowing elements other than shell elements (RODs, BARs, even solid elements) as part of the panel. Also, it calculates the moments directly, rather than just the running load gradients.

The disadvantages of this approach are that it does not produce running loads (only total loads) and that it requires one extra input: a summation point, though a future improvement will allow REPTILE to automatically use the panel centroid as the summation point.

The

*--panelizer_gpf*) which uses grid point forces rather than element running loads. It uses the summation point and coordinate system to take cuts through the middle of the panel to get the total forces and moments.<< insert figure >>

This method has the advantage of allowing elements other than shell elements (RODs, BARs, even solid elements) as part of the panel. Also, it calculates the moments directly, rather than just the running load gradients.

The disadvantages of this approach are that it does not produce running loads (only total loads) and that it requires one extra input: a summation point, though a future improvement will allow REPTILE to automatically use the panel centroid as the summation point.

The

*--panelizer_gpf*definition file consists of blocks of input associated with each panel. The format is very similar to the*--node_forces*definition file, except that only elements, a summation point, and a coordinate system need to be specified.DEF PANEL_1

ELEMS 41 42 43 44 45

SUMPT 19.27 -4.88 98.09

CSYS1 15.62 -1.34 104.61

CSYS2 1002

CSYS3 1003 1005

# OPTIONAL COMMENT LINE

DEF PANEL_2

ELEMS 46:58

SUMPT 1001

COORD 201

The command line for

*--panelizer_gpf*looks like this:reptile --panelizer_gpf -i file.def -o file.csv file1.xdb