visualdynamics.gui.modes_panel¶
modes_panel
¶
The Modes pane beside the 3-D view: a geometry's mode shapes, rigid body or finite element.
The kind is chosen at the top. Kinematic is offered for every geometry; finite element only once its element groups have properties to build a model from, and with only one kind there is no choice shown. Both kinds are named for how the shapes are made: a finite element solve returns rigid-body modes too, at 0 Hz, so 'Rigid body' did not tell the two apart.
Kinematic: the six rigid-body shapes from the geometry alone. The
settings are the reference point the rotations are
about and, when the shape set is to be mass-normalized, the mass and
the six terms of the inertia tensor about that point. The view previews
the six shapes on the geometry as they are set, and the button at the
bottom makes the shape set (generate_rigid_body_modes).
Finite element: the settings are how far to solve, either a number of
modes (rigid-body modes included) or every mode up to a frequency, and
the damping to give every mode. A solve is too slow to preview as the
numbers change, so the readings say what will be solved (the nodes,
elements, element groups and DOFs) and refuse a group with no
properties before the solve does; the button solves (solve_modes).
This is select, see, set, apply (principle 13), laid out as in the
truncate panel but with the preview in the 3-D view instead of on a
plot. The panel makes nothing itself: it shows the settings in the
display units, emits the rigid ones in SI as a MassProperties when
they change, and the window runs the verb when a button is pressed.
Classes:
| Name | Description |
|---|---|
ModesPanel |
The settings table. Rigid-body edits are emitted as a whole |
Classes¶
ModesPanel
¶
Bases: QWidget
The settings table. Rigid-body edits are emitted as a whole
MassProperties; the solve's two numbers are read when it runs.
Methods:
| Name | Description |
|---|---|
offer_kinds |
Offer the finite element kind beside the kinematic one, or |
show_model |
Say what a solve of |
limit |
How far to solve, as the solve's keyword: |
damping |
The damping to give every mode, as a fraction of critical. |
show_geometry |
Point the panel at a geometry and the settings on it, in the |
set_properties |
Show the settings in the panel without emitting |
properties |
The settings the editors currently describe, in SI. |
Attributes:
| Name | Type | Description |
|---|---|---|
kind |
str
|
'fem' when the finite element kind is offered and chosen, |
Source code in src/visualdynamics/gui/modes_panel.py
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 | |
Attributes¶
Methods:¶
offer_kinds
¶
Offer the finite element kind beside the kinematic one, or not. With kinematic the only kind, no choice is shown.
Source code in src/visualdynamics/gui/modes_panel.py
show_model
¶
show_model(geometry: Geometry) -> None
Say what a solve of geometry would build: its nodes,
elements, element groups and DOFs. An element group holding
elements but no properties is named, and the solve refused until
it has them, as the model build would refuse it.
Source code in src/visualdynamics/gui/modes_panel.py
limit
¶
How far to solve, as the solve's keyword: num_modes, how
many modes, rigid-body modes included, or maximum_frequency,
the highest frequency in Hz.
Source code in src/visualdynamics/gui/modes_panel.py
damping
¶
show_geometry
¶
show_geometry(geometry: Geometry, properties: MassProperties, unit_system: UnitSystem) -> None
Point the panel at a geometry and the settings on it, in the
display units of unit_system.
A geometry whose length unit is not declared shows its raw coordinates with no unit and cannot be mass-normalized, since an inertia in kg·m² means nothing against coordinates with no unit. For such a geometry the checkbox is hidden and a note says to declare the length unit.
Source code in src/visualdynamics/gui/modes_panel.py
set_properties
¶
set_properties(properties: MassProperties) -> None
Show the settings in the panel without emitting changed.
Source code in src/visualdynamics/gui/modes_panel.py
properties
¶
properties() -> MassProperties
The settings the editors currently describe, in SI.
Raises ValueError for an inertia tensor no body could have,
the one problem the boxes cannot catch one value at a time.