FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
Bar-element net from an ABAQUS input file
+ Collaboration diagram for Bar-element net from an ABAQUS input file:

A NetStructureTest whose net comes from an ABAQUS .inp file. On top of NetStructureTest, it applies the file's initial node positions, its PINNED and YSYMM boundary conditions and its concentrated loads (*Cload).

Note
One smoke test per class (tests/NetStructureTestFamily_Test.cpp) runs a two-bar net for 1 s. The behaviour below was read from the source.

Units are SI: m, s, kg, N, Pa. The z axis points down. The parser converts from the ABAQUS mm–tonne–s–N system and negates z.

Example configuration excerpt

<Lib
LibName = "marine_elements"
SimObject = "Net/NetStructureABAQUS"
Name = "NET"
ABAQUSFile = "net.inp"
ModelMeshLength = "0.05"
/>
Note
The simulation must include an Environment, as for NetStructureTest.

Input Ports

These are the same as for NetStructureTest.

Name Width Description
<tag>Force 3 External force in N on the node mapped to <tag>. There is one port per tag in NodesInputForce. An ABAQUS net has no ExternalNodeMap, so any tag is an error. The port can exist only when BinaryFile or XmlFile supplies the net.
colorLimits 2 Never read, but the port must still be connected (an unconnected input port is an error).

Output Ports

These are the same as for NetStructureTest: <tag>Force, <tag>Pos, <tag>Vel, CurrentVelocity, appendixForce, cableForce, dragForce, meanProjectedVelocity, projectedArea and meanDragDeduction. See that page for widths and meanings. The tagged ports have the same limit as <tag>Force above.

Configuration parameters

Name Width Description
ABAQUSFile 1 ABAQUS .inp file, relative to the input-file directory. This constructor always parses it. The base constructor also parses it when BinaryFile and XmlFile are empty (Default: ""). If the file does not exist, a std::runtime_error is thrown.
ModelMeshLength 1 Mesh length in m of the physical net (required, no default). Each ABAQUS element of length L0 counts as a bundle of s = 2·L0/ModelMeshLength physical twines. Its structural diameter is 2·sqrt(s·A/π) and its hydrodynamic diameter is s·2·sqrt(A/π), where A is the section area.
BinaryFile, XmlFile 1 Inherited from NetStructureTest (Default: ""). If either is set, the base class builds the net from it. This class still reads the positions, boundaries and loads from ABAQUSFile and applies them by node index.
NodesInputForce, NodesOutputPosAndVel n Inherited from NetStructureTest (Default: none). See the input-port note above.
LineVisualization, ColorBy 1 Inherited from NetStructureTest. Visualisation builds only.

ABAQUS file format read

Spaces are stripped only from the top-level lines, where *Part and *Assembly are detected. The lines inside a part or the assembly are not stripped. Fields are separated by commas. ABAQUS numbers are 1-based and the parser makes them 0-based.

The initial length L0 of each element is the distance between its two nodes at their ABAQUS positions. Elements get no spheres, no disks and no folding points. A node that no element references is an error.

Initial conditions

The states Pos_<i> (3, m) and Vel_<i> (3, m/s) are the same as for NetStructureTest. For every node listed under *Node in the first part (part 0), the ABAQUS position replaces the initial position in the input file, and the initial velocity is set to 0. Nodes of other parts are not initialised from the file. This class replaces the base-class InitialConditionSetup, so the NetStructureTest step that replaces NaN with 0 is not run.

Behaviour notes

Compared with NetStructureTest, the equation of motion adds the following:

This SimObject is referred to as Net/NetStructureABAQUS