Model¶
Below you will find a comprehensive list of all available features and properties. The model object has the following features:
Feature: material¶
The material feature is optional and allows to define sets of constant material properties. When defining the properties for a specific beam (or parts of it), you may refer to a material set using its UID. You may define as many sets as you like.
Maximum number: inf
Required: False (0)
A UID must be provided.
Property: E¶
Young’s modulus [N/m²]
Maximum number: 1
Required: True (1)
Schema:
type |
<class ‘numbers.Number’> |
> |
0 |
Property: G¶
Shear modulus [N/m²]
Maximum number: 1
Required: True (1)
Schema:
type |
<class ‘numbers.Number’> |
> |
0 |
Property: rho¶
Density [kg/m³]
Maximum number: 1
Required: True (1)
Schema:
type |
<class ‘numbers.Number’> |
> |
0 |
Feature: cross_section¶
The cross section feature is optional and allows to define sets of constant cross section properties. When defining the properties for a specific beam (or parts of it), you may refer to a cross section set using its UID. You may define as many sets as you like.
Maximum number: inf
Required: False (0)
A UID must be provided.
Property: A¶
Area [m²]
Maximum number: 1
Required: True (1)
Schema:
type |
<class ‘numbers.Number’> |
> |
0 |
Property: Iy¶
Second moment of area about the local y-axis [m⁴]
Maximum number: 1
Required: True (1)
Schema:
type |
<class ‘numbers.Number’> |
> |
0 |
Property: Iz¶
Second moment of area about the local z-axis [m⁴]
Maximum number: 1
Required: True (1)
Schema:
type |
<class ‘numbers.Number’> |
> |
0 |
Property: J¶
Torsional constant [m⁴]
Maximum number: 1
Required: True (1)
Schema:
type |
<class ‘numbers.Number’> |
> |
0 |
Feature: beam¶
With the ‘beam’ feature you can add as many beams as needed for your model. The beam geometry is defined with so-called ‘named nodes’. These are special nodes which have a UID and which together make up a polygonal chain. In addition, you must also specify the cross section orientation. Beam properties (material and cross-section data) has to be defined for the entire beam length. Optionally, you can define loads or mass properties for an individual beam.
Maximum number: inf
Required: True (1)
Property: node¶
Add a named beam node, and defines its coordinates in a global coordinate system. A beam requires at least two nodes. Note that you must provide a UID.
Maximum number: inf
Required: True (1)
A UID must be provided.
Schema:
type |
<class ‘list’> |
min_len |
3 |
max_len |
3 |
item_types |
<class ‘numbers.Number’> |
Property: orientation¶
Define a constant beam cross section orientation for a section of a beam. Refer to the start of the beam section with the key ‘from’ followed by a node UID, and refer to the end of the section with the key ‘to’. The key ‘up’ is followed by a list (vector) indicating the direction of the local z-axis of the beam element. The ‘up’ vector does not have to be a unit vector.
Maximum number: inf
Required: True (1)
Schema:
$required_keys |
[‘from’, ‘to’, ‘up’] |
from |
{‘type’: <class ‘str’>, ‘>’: 0} |
to |
{‘type’: <class ‘str’>, ‘>’: 0} |
up |
{‘type’: <class ‘list’>, ‘min_len’: 3, ‘max_len’: 3, ‘item_types’: <class ‘numbers.Number’>} |
Property: material¶
Define a constant material for a section of a beam. Refer to the start of the beam section with the key ‘from’ followed by a node UID, and refer to the end of the section with the key ‘to’. The key ‘uid’ must refer to a material UID defined in the ‘material’ feature.
Maximum number: inf
Required: False (0)
Schema:
$required_keys |
[‘from’, ‘to’, ‘uid’] |
from |
{‘type’: <class ‘str’>, ‘>’: 0} |
to |
{‘type’: <class ‘str’>, ‘>’: 0} |
uid |
{‘type’: <class ‘str’>, ‘>’: 0} |
Property: cross_section¶
Define a constant cross section for a section of a beam. Refer to the start of the beam section with the key ‘from’ followed by a node UID, and refer to the end of the section with the key ‘to’. The key ‘uid’ must refer to a cross section UID defined in the ‘cross_section’ feature.
Maximum number: inf
Required: True (1)
Schema:
$required_keys |
[‘from’, ‘to’, ‘uid’] |
from |
{‘type’: <class ‘str’>, ‘>’: 0} |
to |
{‘type’: <class ‘str’>, ‘>’: 0} |
uid |
{‘type’: <class ‘str’>, ‘>’: 0} |
Property: point_load¶
Add a point load to a specific node.
Maximum number: inf
Required: False (0)
Schema:
$required_keys |
[‘at’, ‘load’] |
at |
{‘type’: <class ‘str’>, ‘>’: 0} |
load |
{‘type’: <class ‘list’>, ‘min_len’: 6, ‘max_len’: 6, ‘item_types’: <class ‘numbers.Number’>} |
local_sys |
{‘type’: <class ‘bool’>} |
Property: point_mass¶
Add a point mass to a specific node.
Maximum number: inf
Required: False (0)
Schema:
$required_keys |
[‘at’, ‘mass’] |
at |
{‘type’: <class ‘str’>, ‘>’: 0} |
mass |
{‘type’: <class ‘int’>, ‘>’: 0} |
Property: distr_load¶
Add a distributed load.
Maximum number: inf
Required: False (0)
Schema:
$required_keys |
[‘from’, ‘to’, ‘load’] |
from |
{‘type’: <class ‘str’>, ‘>’: 0} |
to |
{‘type’: <class ‘str’>, ‘>’: 0} |
load |
{‘type’: <class ‘list’>, ‘min_len’: 6, ‘max_len’: 6, ‘item_types’: <class ‘numbers.Number’>} |
local_sys |
{‘type’: <class ‘bool’>} |
Property: nelem¶
Define the number of element for the beam object. The number will apply to the whole polygonal chain. Note that the number is only approximate, and the actual element number is determined by the number and location of the named nodes.
Maximum number: 1
Required: True (1)
Schema:
type |
<class ‘int’> |
> |
0 |
Feature: bc¶
The boundary condition (bc) feature allows you to constrain the beam model. Both single point and multipoint constraints (MPC) can be set up. Note that the beam structure must be at least ‘statically determined’ (i.e. no rigid body motion) to run a static analysis.
Maximum number: 1
Required: True (1)
Property: fix¶
Fix degrees of freedom (DOF) at a specific named beam node. Specify which node to fix with the correct node UID. In addition, you must also speficy which DOFs to fix. To constrain all DOFs, set ‘fix’ to [‘all’].
Maximum number: inf
Required: False (0)
Schema:
$required_keys |
[‘node’, ‘fix’] |
node |
{‘type’: <class ‘str’>, ‘>’: 0} |
fix |
{‘type’: <class ‘list’>, ‘min_len’: 1, ‘max_len’: 6, ‘item_types’: <class ‘str’>, ‘allowed_items’: [‘ux’, ‘uy’, ‘uz’, ‘thx’, ‘thy’, ‘thz’, ‘all’]} |
Property: connect¶
Connect two beam nodes with a rigid connection. Specify the two nodes to connect with the keys ‘node1’ and ‘node2’ followed by the respective UIDs. Use the ‘fix’ key to constrain ‘all’ DOFs, or just specific DOFs. The two nodes may belong to the same beam, or two separate beams.
Maximum number: inf
Required: False (0)
Schema:
$required_keys |
[‘node1’, ‘node2’, ‘fix’] |
node1 |
{‘type’: <class ‘str’>, ‘>’: 0} |
node2 |
{‘type’: <class ‘str’>, ‘>’: 0} |
fix |
{‘type’: <class ‘list’>, ‘min_len’: 1, ‘max_len’: 6, ‘item_types’: <class ‘str’>, ‘allowed_items’: [‘ux’, ‘uy’, ‘uz’, ‘thx’, ‘thy’, ‘thz’, ‘all’]} |
Feature: post_proc¶
Post-processing.
Maximum number: 1
Required: True (1)
Property: plot_settings¶
Define general plot settings.
Maximum number: 1
Required: False (0)
Schema:
show |
{‘type’: <class ‘bool’>} |
save |
{‘type’: <class ‘str’>, ‘is_dir’: ‘dummy’} |
linewidth |
{‘type’: <class ‘numbers.Number’>, ‘>’: 0} |
markersize |
{‘type’: <class ‘numbers.Number’>, ‘>’: 0} |
fontsize |
{‘type’: <class ‘int’>, ‘>’: 0} |
scale_forces |
{‘type’: <class ‘numbers.Number’>, ‘>’: 0} |
scale_moments |
{‘type’: <class ‘numbers.Number’>, ‘>’: 0} |
scale_deformation |
{‘type’: <class ‘numbers.Number’>, ‘>’: 0} |
deform_loads |
{‘type’: <class ‘bool’>} |
Property: plot¶
Add a plot. You may add as many plots as you like. List the parts to show in the plot.
Maximum number: inf
Required: False (0)
Schema:
type |
<class ‘list’> |
allowed_items |
[‘bc’, ‘bc_id’, ‘beam_index’, ‘deformed’, ‘forces’, ‘global_axes’, ‘moments’, ‘node_uids’, ‘nodes’, ‘undeformed’] |