Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

One common use case for composite forces is to get composite forces acting on a girder where the girder and the deck is modeled using separate finite elements. In such case, rather than the forces in the individual finite elements, you would be interested in composite forces formed by the elements of the girder and the contributing deck over the girder.

...

Extracting Displacement

FEA simulations calculate these displacement values for each element in the structure based on the applied loads and boundary conditions.

disp(Case,Element) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz])

dispTx(Case,Element) = disp(Case,Element)[0] → Number (Tx)

dispTy(Case,Element) = disp(Case,Element)[1] → Number (Ty)

dispTz(Case,Element) = disp(Case,Element)[2] → Number (Tz)

dispRx(Case,Element) = disp(Case,Element)[3] → Number (Rx)

dispRy(Case,Element) = disp(Case,Element)[4] → Number (Ry)

dispRz(Case,Element) = disp(Case,Element)[5] → Number (Rz)

Case : Object

Element : Object

T=”AnalysisCase“

T=”Combination”

T=”Node”

disp(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz])

dispTx(Case,Node Coordinate) = disp(Case,Node Coordinate)[0] → Number (Tx)

dispTy(Case,Node Coordinate) = disp(Case,Node Coordinate)[1] → Number (Ty)

dispTz(Case,Node Coordinate) = disp(Case,Node Coordinate)[2] → Number (Tz)

dispRx(Case,Node Coordinate) = disp(Case,Node Coordinate)[3] → Number (Rx)

dispRy(Case,Node Coordinate) = disp(Case,Node Coordinate)[4] → Number (Ry)

dispRz(Case,Node Coordinate) = disp(Case,Node Coordinate)[5] → Number (Rz)

Case : Object

Node Coordinate : List of Number

T=”AnalysisCase“

T=”Combination”

[X coordinate, Y coordinate, Z coordinate] → If you don't have direct access to the node object, you can pass in a coordinate as a list of 3 numbers (this only applies to nodes, will not work for finite element). OpenBrIM will find the node that is closest to the specified coordinate and return the results.

...

Extracting Positive/Negative Critical Force

...

dispPos(Case,Element) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz])

Displacement

Envelope results help identify the worst-case scenarios in terms of stresses, strains, displacements, or other relevant parameters. By considering extreme values across different load cases or conditions, engineers can ensure that their designs are robust and capable of withstanding the most demanding situations.

The following functions are designed to extract the displacements where the force action that is indicated in the function name is maximized.

dispPos(Case,Element) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz])

dispTxPos(Case,Element) = dispPos(Case,Element)[0] → Number (Tx)

dispTyPos(Case,Element) = dispPos(Case,Element)[1] → Number (Ty)

dispTzPos(Case,Element) = dispPos(Case,Element)[2] → Number (Tz)

dispRxPos(Case,Element) = dispPos(Case,Element)[3] → Number (Rx)

dispRyPos(Case,Element) = dispPos(Case,Element)[4] → Number (Ry)

dispRzPos(Case,Element) = dispPos(Case,Element)[5] → Number (Rz)

Case : Object

Element : Object

T=”AnalysisCase“

T=”Combination”

T=”Node”

dispPos(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz])

dispTxPos(Case,Node Coordinate) = dispPos(Case,Node Coordinate)[0] → Number (Tx)

dispTyPos(Case,Node Coordinate) = dispPos(Case,Node Coordinate)[1] → Number (Ty)

dispTzPos(Case,Node Coordinate) = dispPos(Case,Node Coordinate)[2] → Number (Tz)

dispRxPos(Case,Node Coordinate) = dispPos(Case,Node Coordinate)[3] → Number (Rx)

dispRyPos(Case,Node Coordinate) = dispPos(Case,Node Coordinate)[4] → Number (Ry)

dispRzPos(Case,Node Coordinate) = dispPos(Case,Node Coordinate)[5] → Number (Rz)

Case : Object

Node Coordinate : List of Number

T=”AnalysisCase“

T=”Combination”

[X coordinate, Y coordinate, Z coordinate] → If you don't have direct access to the node object, you can pass in a coordinate as a list of 3 numbers (this only applies to nodes, will not work for finite element). OpenBrIM will find the node that is closest to the specified coordinate and return the results.

dispNeg(Case,Element) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz])

dispTxNeg(Case,Element) = dispNeg(Case,Element)[0] → Number (Tx)

dispTyNeg(Case,Element) = dispNeg(Case,Element)[1] → Number (Ty)

dispTzNeg(Case,Element) = dispNeg(Case,Element)[2] → Number (Tz)

dispRxNeg(Case,Element) = dispNeg(Case,Element)[3] → Number (Rx)

dispRyNeg(Case,Element) = dispNeg(Case,Element)[4] → Number (Ry)

dispRzNeg(Case,Element) = dispNeg(Case,Element)[5] → Number (Rz)

Case : Object

Element : Object

T=”AnalysisCase“

T=”Combination”

T=”Node”

dispNeg(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz])

dispTxNeg(Case,Node Coordinate) = dispNeg(Case,Node Coordinate)[0] → Number (Tx)

dispTyNeg(Case,Node Coordinate) = dispNeg(Case,Node Coordinate)[1] → Number (Ty)

dispTzNeg(Case,Node Coordinate) = dispNeg(Case,Node Coordinate)[2] → Number (Tz)

dispRxNeg(Case,Node Coordinate) = dispNeg(Case,Node Coordinate)[3] → Number (Rx)

dispRyNeg(Case,Node Coordinate) = dispNeg(Case,Node Coordinate)[4] → Number (Ry)

dispRzNeg(Case,Node Coordinate) = dispNeg(Case,Node Coordinate)[5] → Number (Rz)

Case : Object

Node Coordinate : List of Number

T=”AnalysisCase“

T=”Combination”

[X coordinate, Y coordinate, Z coordinate] → If you don't have direct access to the node object, you can pass in a coordinate as a list of 3 numbers (this only applies to nodes, will not work for finite element). OpenBrIM will find the node that is closest to the specified coordinate and return the results.

Extracting Concurrent Force Displacement

Positive Results

dispTxPosConc(Case,Element) → List of Number ([Tx*,Ty,Tz,Rx,Ry,Rz])

critical Tx result and its concurrent results

dispTyPosConc(Case,Element) → List of Number ([Tx,Ty*,Tz,Rx,Ry,Rz])

critical Ty result and its concurrent results

dispTzPosConc(Case,Element) → List of Number ([Tx,Ty,Tz*,Rx,Ry,Rz])

critical Tz result and its concurrent results

dispRxPosConc(Case,Element) → List of Number ([Tx,Ty,Tz,Rx*,Ry,Rz])

critical Rx result and its concurrent results

dispRyPosConc(Case,Element) → List of Number ([Tx,Ty,Tz,Rx,Ry*,Rz])

critical Ry result and its concurrent results

dispRzPosConc(Case,Element) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz*])

critical Rz result and its concurrent results

Case : Object

Element : Object

T=”AnalysisCase“

T=”Combination”

T=”Node”

dispTxPosConc(Case,Node Coordinate) → List of Number ([Tx*,Ty,Tz,Rx,Ry,Rz])

critical Tx result and its concurrent results

dispTyPosConc(Case,Node Coordinate) → List of Number ([Tx,Ty*,Tz,Rx,Ry,Rz])

critical Ty result and its concurrent results

dispTzPosConc(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz*,Rx,Ry,Rz])

critical Tz result and its concurrent results

dispRxPosConc(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz,Rx*,Ry,Rz])

critical Rx result and its concurrent results

dispRyPosConc(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz,Rx,Ry*,Rz])

critical Ry result and its concurrent results

dispRzPosConc(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz*])

critical Rz result and its concurrent results

Case : Object

Node Coordinate : List of Number

T=”AnalysisCase“

T=”Combination”

[X coordinate, Y coordinate, Z coordinate] → If you don't have direct access to the node object, you can pass in a coordinate as a list of 3 numbers (this only applies to nodes, will not work for finite element). OpenBrIM will find the node that is closest to the specified coordinate and return the results.

...

dispTxNegConc(Case,Element) → List of Number ([Tx*,Ty,Tz,Rx,Ry,Rz])

critical Tx result and its concurrent results

dispTyNegConc(Case,Element) → List of Number ([Tx,Ty*,Tz,Rx,Ry,Rz])

critical Ty result and its concurrent results

dispTzNegConc(Case,Element) → List of Number ([Tx,Ty,Tz*,Rx,Ry,Rz])

critical Tz result and its concurrent results

dispRxNegConc(Case,Element) → List of Number ([Tx,Ty,Tz,Rx*,Ry,Rz])

critical Rx result and its concurrent results

dispRyNegConc(Case,Element) → List of Number ([Tx,Ty,Tz,Rx,Ry*,Rz])

critical Ry result and its concurrent results

dispRzNegConc(Case,Element) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz*])

critical Rz result and its concurrent results

Case : Object

Element : Object

T=”AnalysisCase“

T=”Combination”

T=”Node”

dispTxNegConc(Case,Node Coordinate) → List of Number ([Tx*,Ty,Tz,Rx,Ry,Rz])

critical Tx result and its concurrent results

dispTyNegConc(Case,Node Coordinate) → List of Number ([Tx,Ty*,Tz,Rx,Ry,Rz])

critical Ty result and its concurrent results

dispTzNegConc(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz*,Rx,Ry,Rz])

critical Tz result and its concurrent results

dispRxNegConc(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz,Rx*,Ry,Rz])

critical Rx result and its concurrent results

dispRyNegConc(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz,Rx,Ry*,Rz])

critical Ry result and its concurrent results

dispRzNegConc(Case,Node Coordinate) → List of Number ([Tx,Ty,Tz,Rx,Ry,Rz*])

critical Rz result and its concurrent results

Case : Object

Node Coordinate : List of Number

T=”AnalysisCase“

T=”Combination”

[X coordinate, Y coordinate, Z coordinate] → If you don't have direct access to the node object, you can pass in a coordinate as a list of 3 numbers (this only applies to nodes, will not work for finite element). OpenBrIM will find the node that is closest to the specified coordinate and return the results.

...

Extracting Force

...

The following functions are designed to extract the analysis results of limit states - unfactored load cases - combinations and/or envelopes. These analysis results can be derived from a single finite element (FE), such as a node, line, or surface. Additionally, analysis results can be derived from a combination of elements which defines a composite section.

force(Case,Element,Station) → List of Number ([Fx,Fy,Fz,Mx,My,Mz])

forceFx(Case,Element,Station) = force(Case,Element,Station)[0] → Number (Fx)

forceFy(Case,Element,Station) = force(Case,Element,Station)[1] → Number (Fy)

forceFz(Case,Element,Station) = force(Case,Element,Station)[2] → Number (Fz)

forceMx(Case,Element,Station) = force(Case,Element,Station)[3] → Number (Mx)

forceMy(Case,Element,Station) = force(Case,Element,Station)[4] → Number (My)

forceMy(Case,Element,Station) = force(Case,Element,Station)[5] → Number (Mz)

Case : Object

Element : Object

Station : Number

T=”AnalysisCase“

T=”Combination”

T=”Node”

T=”FELine”

T=”FESurface”

T=”FEComposite”

Node → Leave empty

FELine → 0 for start edge, 1 for end edge

FESurface → 0,1,2,4 for edge nodes

FEComposite → The distance from the start point of FEComposite path

force(Case,Node Coordinate) → List of Number ([Fx,Fy,Fz,Mx,My,Mz])

forceFx(Case,Node Coordinate) = force(Case,Node Coordinate)[0] → Number (Fx)

forceFy(Case,Node Coordinate) = force(Case,Node Coordinate)[1] → Number (Fy)

forceFz(Case,Node Coordinate) = force(Case,Node Coordinate)[2] → Number (Fz)

forceMx(Case,Node Coordinate) = force(Case,Node Coordinate)[3] → Number (Mx)

forceMy(Case,Node Coordinate) = force(Case,Node Coordinate)[4] → Number (My)

forceMy(Case,Node Coordinate) = force(Case,Node Coordinate)[5] → Number (Mz)

Case : Object

Node Coordinate : List of Number

T=”AnalysisCase“

T=”Combination”

[X coordinate, Y coordinate, Z coordinate] → If you don't have direct access to the node object, you can pass in a coordinate as a list of 3 numbers (this only applies to nodes, will not work for finite element). OpenBrIM will find the node that is closest to the specified coordinate and return the results.

Extracting Positive/Negative Critical Force

the node that is closest to the specified coordinate and return the results.

Extracting Positive/Negative Critical Force

Envelope results are crucial in finite element analysis (FEA) as they identify worst-case scenarios for parameters like stresses and displacements. To obtain these results, the following functions can be utilized. The term "Pos" signifies that the function provides the maximum critical force on the element at the specified station under the given loading scenario in the particular case. Similarly, "Neg" indicates that the function returns to the minimum critical analysis result of the given loading case on the specified element at the specified station.

forcePos(Case,Element,Station) → List of Number ([Fx,Fy,Fz,Mx,My,Mz])

forceFxPos(Case,Element,Station) = forcePos(Case,Element,Station)[0] → Number (Fx)

forceFyPos(Case,Element,Station) = forcePos(Case,Element,Station)[1] → Number (Fy)

forceFzPos(Case,Element,Station) = forcePos(Case,Element,Station)[2] → Number (Fz)

forceMxPos(Case,Element,Station) = forcePos(Case,Element,Station)[3] → Number (Mx)

forceMyPos(Case,Element,Station) = forcePos(Case,Element,Station)[4] → Number (My)

forceMyPos(Case,Element,Station) = forcePos(Case,Element,Station)[5] → Number (Mz)

Case : Object

Element : Object

Station : Number

T=”AnalysisCase“

T=”Combination”

T=”Node”

T=”FELine”

T=”FESurface”

T=”FEComposite”

Node → Leave empty

FELine → 0 for start edge, 1 for end edge

FESurface → 0,1,2,4 for edge nodes

FEComposite → The distance from the start point of FEComposite path

forcePos(Case,Node Coordinate) → List of Number ([Fx,Fy,Fz,Mx,My,Mz])

forceFxPos(Case,Node Coordinate) = forcePos(Case,Node Coordinate)[0] → Number (Fx)

forceFyPos(Case,Node Coordinate) = forcePos(Case,Node Coordinate)[1] → Number (Fy)

forceFzPos(Case,Node Coordinate) = forcePos(Case,Node Coordinate)[2] → Number (Fz)

forceMxPos(Case,Node Coordinate) = forcePos(Case,Node Coordinate)[3] → Number (Mx)

forceMyPos(Case,Node Coordinate) = forcePos(Case,Node Coordinate)[4] → Number (My)

forceMyPos(Case,Node Coordinate) = forcePos(Case,Node Coordinate)[5] → Number (Mz)

Case : Object

Node Coordinate : List of Number

T=”AnalysisCase“

T=”Combination”

[X coordinate, Y coordinate, Z coordinate] → If you don't have direct access to the node object, you can pass in a coordinate as a list of 3 numbers (this only applies to nodes, will not work for finite element). OpenBrIM will find the node that is closest to the specified coordinate and return the results.

...

Extracting Concurrent Force

“Concurrent force” refers to a set of analysis results (in all DOFs) formed by obtaining the most critical outcome in a specific degree of freedom under a loading scenario. The following functions can be used to extract the maximum and minimum critical concurrent results for elements.

Positive Results

forceFxPosConc(Case,Element,Station) → List of Number ([Fx*,Fy,Fz,Mx,My,Mz])

critical Fx result and its concurrent results

forceFyPosConc(Case,Element,Station) → List of Number ([Fx,Fy*,Fz,Mx,My,Mz])

critical Fy result and its concurrent results

forceFzPosConc(Case,Element,Station) → List of Number ([Fx,Fy,Fz*,Mx,My,Mz])

critical Fz result and its concurrent results

forceMxPosConc(Case,Element,Station) → List of Number ([Fx,Fy,Fz,Mx*,My,Mz])

critical Mx result and its concurrent results

forceMyPosConc(Case,Element,Station) → List of Number ([Fx,Fy,Fz,Mx,My*,Mz])

critical My result and its concurrent results

forceMzPosConc(Case,Element,Station) → List of Number ([Fx,Fy,Fz,Mx,My,Mz*])

critical Mz result and its concurrent results

Case : Object

Element : Object

Station : Number

T=”AnalysisCase“

T=”Combination”

T=”Node”

T=”FELine”

T=”FESurface”

T=”FEComposite”

Node → Leave empty

FELine → 0 for start edge, 1 for end edge

FESurface → 0,1,2,4 for edge nodes

FEComposite → The distance from the start point of FEComposite path

forceFxPosConc(Case,Node Coordinate) → List of Number ([Fx*,Fy,Fz,Mx,My,Mz])

critical Fx result and its concurrent results

forceFyPosConc(Case,Node Coordinate) → List of Number ([Fx,Fy*,Fz,Mx,My,Mz])

critical Fy result and its concurrent results

forceFzPosConc(Case,Node Coordinate) → List of Number ([Fx,Fy,Fz*,Mx,My,Mz])

critical Fz result and its concurrent results

forceMxPosConc(Case,Node Coordinate) → List of Number ([Fx,Fy,Fz,Mx*,My,Mz])

critical Mx result and its concurrent results

forceMyPosConc(Case,Node Coordinate) → List of Number ([Fx,Fy,Fz,Mx,My*,Mz])

critical My result and its concurrent results

forceMzPosConc(Case,Node Coordinate) → List of Number ([Fx,Fy,Fz,Mx,My,Mz*])

critical Mz result and its concurrent results

Case : Object

Node Coordinate : List of Number

T=”AnalysisCase“

T=”Combination”

[X coordinate, Y coordinate, Z coordinate] → If you don't have direct access to the node object, you can pass in a coordinate as a list of 3 numbers (this only applies to nodes, will not work for finite element). OpenBrIM will find the node that is closest to the specified coordinate and return the results.

...