SensorLoad
A sensor attached to a load, which measures the value of the load.
Parameters
The parameters of the item; in a dictionary, its type is ‘Load’:
name |
type |
size |
default |
description |
|---|---|---|---|---|
name |
String |
‘’ |
sensor’s unique name |
|
loadNumber |
LoadIndex |
invalid (-1) |
load number to which sensor is attached to |
|
writeToFile |
Bool |
True |
True: write sensor output to file; flag is ignored (interpreted as False), if fileName=’’ |
|
fileName |
String |
‘’ |
directory and file name for sensor file output; empty: no file is written; a relative name is placed in |
|
storeInternal |
Bool |
False |
true: store sensor data in memory (faster, but may consume large amounts of memory); false: internal storage not available |
|
visualization |
VSensorLoad |
parameters for visualization of item |
Visualization parameters
The parameters of VSensorLoad, given as visualization:
name |
type |
size |
default |
description |
|---|---|---|---|---|
show |
Bool |
True |
set true, if item is shown in visualization and false if it is not shown; the sensor is drawn at the position of the marker of its load, if the marker has a position |
Drawing
Drawn as all sensors; at the position of the marker of its load, if the marker has a position; a load on a coordinate has none.
Detailed description
Attached to
The load loadNumber.
Measures
The value of the load at the current time: the vector or the scalar, as the load item computes it -
from loadVector or load, or from its user function - and in the frame it is given in, which is
the body frame for a load with bodyFixed = True. The load factor of a static computation is not
included. There is no outputVariableType.
Mini example
#the value of a load, here of a load with a user function, which the load vector does not show
node = mbs.AddNode(Node1D(referenceCoordinates=[0]))
mbs.AddObject(ObjectMass1D(nodeNumber=node, mass=1))
mCoord = mbs.AddMarker(MarkerNodeCoordinate(nodeNumber=node, coordinate=0))
def UFload(mbs, t, load):
return load*np.cos(np.pi*t)
lCoord = mbs.AddLoad(LoadCoordinate(markerNumber=mCoord, load=2, loadUserFunction=UFload))
sLoad = mbs.AddSensor(SensorLoad(loadNumber=lCoord, storeInternal=True, writeToFile=False))
mbs.Assemble()
mbs.SolveDynamic()
#the load at t=1: 2*cos(pi)
exu.sys['testResult'] = mbs.GetSensorValues(sLoad) #-2
Examples (Ex) and TestModels (TM) that show this item, with weblink to github: springDamperUserFunctionTest.py (TM), plotSensorTest.py (TM)