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

image

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)

  • txt feedback text
  • isOK correctness flag
  • o list of objects
  • n names field
  • i index of "q" object
  • description string with Text to identify the object for the user
  • q1 value at startpoint
  • q2 value at endpoint
  • le grid unit length

Note: Function requires fb_vars