Feedback for line loads - mkraska/meclib GitHub Wiki
"q" is line load with constant or linearly varying (trapezoidal) distribution. It is replaced by one or two resultant forces. Two forces may be convenient, if a trapezoidal distribution is mentally split into a constant and a triangualar part.
Checks done by fb_q():
- Is the object really of type "q" (just for developers)?
- Is the object deactivated?
- Is there at least one resultant?
- Make sure that no moments are among the identified resultants
- if there is a single resultant:
- Correct direction?
- Correct value?
- Correct position? Must go through the centroid of the line load
- If there are more than one resultants:
- Are there exactly 2 resultants?
- Are two resultants sensible? (trapezoidal line load)
- Are the directions correct?
- Are the values in terms of the correct variables?
- Is the sum of the resultants correct?
- Does the common centroid of the resultants match the centroid of the line load?
This function is used for Feedback for Free Body Diagrams
Example question: "FBD Tutorial Streckenlastresultierende (I)" at abacus.aalto.fi/develop/4.4beta

Typical PRT
Feedback variables:
obj: stackjson_parse(objects);
[text, isOK]: fb_q(obj, names, i_q, "Streckenlast: ", q_0, q_0, a);
PRT node 1
Algebraic test for isOK = true and feedback of {@text@} for both branches.
[txt, isOK]: fb_q(o, n, i, description, q1, q2, le)
txtfeedback textisOKcorrectness flagolist of objectsnnames fieldiindex of "q" objectdescriptionstring with Text to identify the object for the userq1value at startpointq2value at endpointlegrid unit length
Note: Function requires fb_vars