// Numbas version: exam_results_page_options {"name": "Reactions for beam with uniformly varying load", "extensions": ["geogebra", "quantities", "weh"], "custom_part_types": [{"source": {"pk": 19, "author": {"name": "William Haynes", "pk": 2530}, "edit_page": "/part_type/19/edit"}, "name": "Engineering Accuracy with units", "short_name": "engineering-answer", "description": "

A value with units marked right if within an adjustable % error of the correct value.  Marked close if within a wider margin of error.

Does clumsy substitution to

\n

1. replace '-' with ' '

\n

2. replace '°' with ' deg'

\n

to allow answers like 10 ft-lb and 30°

", "name": "student_units"}, {"definition": "try(\ncompatible(quantity(1, student_units),correct_units),\nmsg,\nfeedback(msg);false)\n", "description": "", "name": "good_units"}, {"definition": "switch(not good_units, \n student_scalar * correct_units, \n not right_sign,\n -quantity(student_scalar, student_units),\n quantity(student_scalar,student_units)\n)\n \n", "description": "

This fixes the student answer for two common errors.

\n

If student_units are wrong  - replace with correct units

\n

If student_scalar has the wrong sign - replace with right sign

\n

If student makes both errors, only one gets fixed.

", "name": "student_quantity"}, {"definition": "try(\nscalar(abs((correct_quantity - student_quantity)/correct_quantity))*100 \n,msg,\nif(student_quantity=correct_quantity,0,100))\n ", "description": "", "name": "percent_error"}, {"definition": "percent_error <= settings['right']\n", "description": "", "name": "right"}, {"definition": "right_sign and percent_error <= settings['close']", "description": "

Only marked close if the student actually has the right sign.

", "name": "close"}, {"definition": "sign(student_scalar) = sign(correct_quantity) ", "description": "", "name": "right_sign"}], "settings": [{"input_type": "code", "evaluate": true, "hint": "The correct answer given as a JME quantity.", "default_value": "", "label": "Correct Quantity.", "help_url": "", "name": "correctAnswer"}, {"input_type": "code", "evaluate": true, "hint": "Question will be considered correct if the scalar part of the student's answer is within this % of correct value.", "default_value": "0.2", "label": "% Accuracy for right.", "help_url": "", "name": "right"}, {"input_type": "code", "evaluate": true, "hint": "Question will be considered close if the scalar part of the student's answer is within this % of correct value.", "default_value": "1.0", "label": "% Accuracy for close.", "help_url": "", "name": "close"}, {"input_type": "percent", "hint": "Partial Credit for close value with appropriate units.  if correct answer is 100 N and close is ±1%,
99  N is accepted.", "default_value": "75", "label": "Close with units.", "help_url": "", "name": "C1"}, {"input_type": "percent", "hint": "Partial credit for forgetting units or using wrong sign.
If the correct answer is 100 N, both 100 and -100 N are accepted.", "default_value": "50", "label": "No units or wrong sign", "help_url": "", "name": "C2"}, {"input_type": "percent", "hint": "Partial Credit for close value but forgotten units.
This value would be close if the expected units were provided.  If the correct answer is 100 N, and close is ±1%,
99 is accepted.", "default_value": "25", "label": "Close, no units.", "help_url": "", "name": "C3"}], "public_availability": "restricted", "published": false, "extensions": ["quantities"]}], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"name": "Reactions for beam with uniformly varying load", "tags": ["mechanics, statics, reactions, distributed load, uniformly varying load"], "metadata": {"description": "

Find the reactions for a beam with a uniformly varying distributed load.

", "licence": "Creative Commons Attribution-NonCommercial 4.0 International"}, "statement": "

{geogebra_applet('rcccfjbm',[ ['a',scalar(A)],['b',scalar(B)],['c',scalar(C)],['d',scalar(D)],['l',scalar(L)],['w_c',scalar(wc)],['w_d',scalar(wd)] ])}

\n

\n

W: {w}  xbar: {x}

\n

\$F_A\$: {FA}  \$F_B\$ {FB}

\n
1. To solve, divide the trapazoid into a rectangle and a triangle or two triangles, then replace each with an equivalent concentrated load.  The equivalent concentrated load acts at the centroid of each shape, and its magnitude is the \"area\" of the shape.
2. \n
3. Treat the beam as a uniformly distributed load, and place the weight of the beam at the center.
4. \n
5. Once replaced, draw a free body diagram; then take moments at A to find B and vice-versa.  Check your work by applying \$\\Sigma F_y = 0\$.
6. \n
", "rulesets": {}, "extensions": ["geogebra", "quantities", "weh"], "variables": {"D": {"name": "D", "group": "inputs", "definition": "qty(random(scalar(C)..scalar(L)),units[1])", "description": "

", "templateType": "anything"}, "L": {"name": "L", "group": "inputs", "definition": "qty(random(8,10,12,14),units[1])", "description": "

length of beam

\n

", "templateType": "anything"}, "units": {"name": "units", "group": "inputs", "definition": "random(['lb','ft'],['kN','m'])", "description": "", "templateType": "anything"}, "loading": {"name": "loading", "group": "inputs", "definition": "qty(random(1,2,3,4,5)* random(1,5,10),units[0]+'/'+units[1])", "description": "

", "templateType": "anything"}, "FA": {"name": "FA", "group": "Ungrouped variables", "definition": "(W + WB)-FB", "description": "

reaction at A

", "templateType": "anything"}, "debug": {"name": "debug", "group": "Ungrouped variables", "definition": "false", "description": "", "templateType": "anything"}, "wc": {"name": "wc", "group": "inputs", "definition": "qty(random(0..3#0.5),'')", "description": "

", "templateType": "anything"}, "W": {"name": "W", "group": "Ungrouped variables", "definition": "loading * (wc+wd)/2 * (D-C)", "description": "

", "templateType": "anything"}, "B": {"name": "B", "group": "inputs", "definition": "qty(random(scalar(A)..scalar(L)),units[1])", "description": "

location of right hand support

", "templateType": "anything"}, "C": {"name": "C", "group": "inputs", "definition": "qty(random(0..scalar(L)),units[1])", "description": "

", "templateType": "anything"}, "A": {"name": "A", "group": "inputs", "definition": "qty(random(0..scalar(L)/2),units[1])", "description": "

location of left hand support

", "templateType": "anything"}, "wd": {"name": "wd", "group": "inputs", "definition": "qty(random(0..3#0.5),'')", "description": "

", "templateType": "anything"}, "x": {"name": "x", "group": "Ungrouped variables", "definition": "C + (wc / 6 + wd/ 3)(D-C) * 2/(wc+wd) ", "description": "

", "templateType": "anything"}, "FB": {"name": "FB", "group": "Ungrouped variables", "definition": "((x-A) * W + (CG-A) * WB) / (B-A)\n", "description": "

reaction at B

", "templateType": "anything"}, "w_b": {"name": "w_b", "group": "inputs", "definition": "random(0.1..1.2#0.1)", "description": "

Weight of the beam in W/L units

", "templateType": "anything"}, "CG": {"name": "CG", "group": "Ungrouped variables", "definition": "L/2", "description": "

center of the beam

", "templateType": "anything"}, "WB": {"name": "WB", "group": "Ungrouped variables", "definition": "w_b loading L", "description": "

Weight of the beam itself

", "templateType": "anything"}}, "variablesTest": {"condition": "D-C > L/3 and B-A > L/2 and A<>C and B<>D and wc<>wd", "maxRuns": 100}, "ungrouped_variables": ["W", "FB", "x", "FA", "debug", "CG", "WB"], "variable_groups": [{"name": "inputs", "variables": ["A", "B", "C", "D", "loading", "units", "L", "wc", "wd", "w_b"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": true, "customName": "Find Reactions", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "

Determine the reactions at \$A\$ and \$B\$.

\n

\$A\$ = [[0]]

\n

\$B\$ = [[1]]

", "gaps": [{"type": "engineering-answer", "useCustomName": true, "customName": "A", "marks": "10", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "settings": {"correctAnswer": "FA", "right": "0.1", "close": "1.0", "C1": "80", "C2": "80", "C3": "60"}}, {"type": "engineering-answer", "useCustomName": true, "customName": "B", "marks": "10", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "settings": {"correctAnswer": "FB", "right": "0.1", "close": "1.0", "C1": "80", "C2": "80", "C3": "60"}}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always", "contributors": [{"name": "William Haynes", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2530/"}]}]}], "contributors": [{"name": "William Haynes", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2530/"}]}