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

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).

Review issues:

0031 — The Windows-only NetStructureTest family (NetStructureTest, NetStructureABAQUS, NetStructureConstrained) has no test coverage

0069 — NetStructureABAQUS opens the input directory instead of the file and indexes the parsed tokens and parts unchecked (Windows only)

0081 — NetCableElementTest still puts sphere and disk mass and weight on the wrong end and splits disk drag as −pos and 1 − pos (Windows only)

Warning
Windows builds only. The sources are compiled only when WIN32 is defined (src/net/CMakeLists.txt, TEST_STRUCTURE_SRC), and the type string Net/NetStructureABAQUS is registered only under #ifdef WIN32 (src/fhsim_marine_elements.cpp). A Linux build has no such SimObject.
No automated tests. No test in tests/ builds or runs this class (see MARE-0031). This page was written from the source code. No simulation results were used to check it.
NetStructureSpecABAQUS::FromFile checks that <input dir>/ABAQUSFile exists. It then opens the input-file directory (filePath), not the file (fullPath). As written, nothing is parsed from the ABAQUS file. The net then has no parts, and GetABAQUSPart(0) indexes an empty vector. The format below describes what the parser would read from the correct path.

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 Registered but never read.

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: