// Numbas version: exam_results_page_options {"name": "Moment of inertia: 2 angles forming box beam", "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": [{"metadata": {"description": "

Find centroidal moments of inertia and radius of gyration for a beam composed of  two angle sections forming a box beam.

", "licence": "Creative Commons Attribution-NonCommercial 4.0 International"}, "name": "Moment of inertia: 2 angles forming box beam", "tags": ["mechanics", "Mechanics", "moment of inertia", "radius of gyration", "standard sections", "statics", "Statics"], "ungrouped_variables": [], "statement": "

A built-up beam is made up of two {name} angles welded together to form a box beam.

\n

{geogebra_applet('u9qngrny',[['h',h],['w',w],['t',t],['P',centroid]])}

\n

Use this table of properties for the angle sections.

", "extensions": ["geogebra", "quantities", "weh"], "preamble": {"css": "", "js": ""}, "rulesets": {}, "advice": "

Channel properties from table

\n

\\begin{align}\\text{Area:}& &A&= \\var{A_L}\\\\\\text{Centroid:} & &\\bar{x} &= \\var{xbar} & \\bar{y} &= \\var{ybar}\\\\\\text{MOI:} && \\bar{I}_{xx} &= \\var{ixx} & \\bar{I}_{yy} &= \\var{Iyy}\\end{align}

\n

These properties are for angle sections oriented with the long side vertical.

\n

Find moment of inertia

\n

$\\bar{I}_y = 2 \\, [ \\bar{I} + A d^2]$ where,

\n

$\\bar{I} = \\var{latex(if(rotated,safe('\\\\bar{I}_{xx}'),safe('\\\\bar{I}_{yy}')))} =\\var{Ibar_y'}$

\n

$A =\\var{A_L}$, and

\n

$d = \\left(\\dfrac{w+t}{2}-\\var{latex(if(rotated,safe('\\\\bar{y}'),safe('\\\\bar{x}')))} \\right)= \\var{d_x}$, so

\n

$\\bar{I}_y = \\var{disp(Iy)}\\\\$

\n

$\\bar{I}_x = 2 \\, [ \\bar{I} + A d^2]$ where,

\n

$\\bar{I} = \\var{latex(if(rotated,safe('\\\\bar{I}_{yy}'),safe('\\\\bar{I}_{xx}')))} =\\var{Ibar_x'}$

\n

$A =\\var{A_L}$, and

\n

$d =\\left( \\dfrac{h}{2}-\\var{latex(if(rotated,safe('\\\\bar{x}'),safe('\\\\bar{y}')))}\\right) = \\var{d_y}$, so

\n

$\\bar{I}_x = \\var{disp(Ix)}\\\\$

\n

\n

$k_x = \\sqrt{\\dfrac{\\bar{I}_x} {2 A}} = \\var{disp(kx)} \\qquad k_y = \\sqrt{\\dfrac{\\bar{I}_y} {2 A}} = \\var{disp(ky)}$

\n

", "variablesTest": {"condition": "", "maxRuns": 100}, "functions": {"disp": {"definition": "siground(q,4)", "language": "jme", "type": "quantity", "parameters": [["q", "quantity"]]}}, "parts": [{"showCorrectAnswer": true, "showFeedbackIcon": true, "type": "gapfill", "adaptiveMarkingPenalty": 0, "variableReplacements": [], "prompt": "

Find the moment of inertia and radius of gyration with respect to the x axis.

\n

$\\bar{I}_x =$[[0]] $\\quad k_x =$[[1]]

\n

Find the moment of inertial and radius of gyration with respect to the y axis.

\n

$\\bar{I}_y =$[[2]] $\\quad k_y =$[[3]]

\n

", "customMarkingAlgorithm": "", "marks": 0, "customName": "", "variableReplacementStrategy": "originalfirst", "sortAnswers": false, "extendBaseMarkingAlgorithm": true, "unitTests": [], "useCustomName": false, "gaps": [{"showCorrectAnswer": true, "showFeedbackIcon": true, "type": "engineering-answer", "adaptiveMarkingPenalty": 0, "variableReplacements": [], "settings": {"right": "0.2", "close": "1.0", "correctAnswer": "Ix", "C1": "75", "C2": "50", "C3": "25"}, "customMarkingAlgorithm": "", "marks": "5", "customName": "", "variableReplacementStrategy": "originalfirst", "extendBaseMarkingAlgorithm": true, "unitTests": [], "useCustomName": false, "scripts": {}}, {"showCorrectAnswer": true, "showFeedbackIcon": true, "type": "engineering-answer", "adaptiveMarkingPenalty": 0, "variableReplacements": [], "settings": {"right": "0.2", "close": "1.0", "correctAnswer": "kx", "C1": "75", "C2": "50", "C3": "25"}, "customMarkingAlgorithm": "", "marks": "5", "customName": "", "variableReplacementStrategy": "originalfirst", "extendBaseMarkingAlgorithm": true, "unitTests": [], "useCustomName": false, "scripts": {}}, {"showCorrectAnswer": true, "showFeedbackIcon": true, "type": "engineering-answer", "adaptiveMarkingPenalty": 0, "variableReplacements": [], "settings": {"right": "0.2", "close": "1.0", "correctAnswer": "Iy", "C1": "75", "C2": "50", "C3": "25"}, "customMarkingAlgorithm": "", "marks": "5", "customName": "", "variableReplacementStrategy": "originalfirst", "extendBaseMarkingAlgorithm": true, "unitTests": [], "useCustomName": false, "scripts": {}}, {"showCorrectAnswer": true, "showFeedbackIcon": true, "type": "engineering-answer", "adaptiveMarkingPenalty": 0, "variableReplacements": [], "settings": {"right": "0.2", "close": "1.0", "correctAnswer": "ky", "C1": "75", "C2": "50", "C3": "25"}, "customMarkingAlgorithm": "", "marks": "5", "customName": "", "variableReplacementStrategy": "originalfirst", "extendBaseMarkingAlgorithm": true, "unitTests": [], "useCustomName": false, "scripts": {}}], "scripts": {}}], "variable_groups": [{"name": "angle properties", "variables": ["name", "A_L", "Ixx", "Iyy", "xbar", "ybar", "dimensions"]}, {"name": "MOI", "variables": ["Ibar_y'", "Ibar_x'", "d_x", "d_y", "Ix", "Iy", "kx", "ky"]}, {"name": "Setup values", "variables": ["index", "debug", "rotated", "centroid", "h", "w", "t"]}], "variables": {"name": {"name": "name", "group": "angle properties", "description": "", "definition": "[\"L9 $\\\\times$ 4 $\\\\times$ 1/2\",\"L8 $\\\\times$ 6 $\\\\times$ 5/8\",\"L8 $\\\\times$ 6 $\\\\times$ 1/2\",\"L8 $\\\\times$ 4 $\\\\times$ 3/4\",\"L8 $\\\\times$ 4 $\\\\times$ 1/2\",\"L7 $\\\\times$ 4 $\\\\times$ 3/4\",\"L7 $\\\\times$ 4 $\\\\times$ 5/8\",\"L7 $\\\\times$ 4 $\\\\times$ 1/2\",\"L7 $\\\\times$ 4 $\\\\times$ 3/8\",\"L6 $\\\\times$ 4 $\\\\times$ 7/8\",\"L6 $\\\\times$ 4 $\\\\times$ 3/4\",\"L6 $\\\\times$ 4 $\\\\times$ 1/2\",\"L6 $\\\\times$ 4 $\\\\times$ 3/8\",\"L5 $\\\\times$ 3 $\\\\times$ 5/8\",\"L5 $\\\\times$ 3 $\\\\times$ 1/2\"][index]", "templateType": "anything"}, "centroid": {"name": "centroid", "group": "Setup values", "description": "

true indicates long side is horizontal

", "definition": "if(rotated,\n vector(scalar(ybar),scalar(xbar)), \n vector(scalar(xbar),scalar(ybar)))", "templateType": "anything"}, "h": {"name": "h", "group": "Setup values", "description": "", "definition": "dimensions[if(rotated,1,0)]", "templateType": "anything"}, "t": {"name": "t", "group": "Setup values", "description": "", "definition": "dimensions[2]", "templateType": "anything"}, "kx": {"name": "kx", "group": "MOI", "description": "

k

", "definition": "qty(sqrt(scalar(Ix)/(2 scalar(A_L))),'in')", "templateType": "anything"}, "w": {"name": "w", "group": "Setup values", "description": "

w

", "definition": "dimensions[if(rotated,0,1)]", "templateType": "anything"}, "ybar": {"name": "ybar", "group": "angle properties", "description": "", "definition": "qty([3.31,2.52,2.47,2.95,2.86,2.51,2.46,2.42,2.37,2.12,2.08,1.99,1.94,1.8,1.75][index],'in')", "templateType": "anything"}, "ky": {"name": "ky", "group": "MOI", "description": "", "definition": "qty(sqrt(scalar(Iy)/(2 scalar(A_L))),'in')", "templateType": "anything"}, "A_L": {"name": "A_L", "group": "angle properties", "description": "", "definition": "qty([6.25,8.36,6.75,8.44,5.75,7.69,6.48,5.25,3.98,7.98,6.94,4.75,3.61,4.61,3.75][index],'in^2')", "templateType": "anything"}, "xbar": {"name": "xbar", "group": "angle properties", "description": "", "definition": "qty([0.81,1.52,1.47,0.953,0.859,1.01,0.963,0.917,0.87,1.12,1.08,0.987,0.941,0.796,0.75][index],'in')", "templateType": "anything"}, "debug": {"name": "debug", "group": "Setup values", "description": "", "definition": "false", "templateType": "anything"}, "Ixx": {"name": "Ixx", "group": "angle properties", "description": "", "definition": "qty([53.2,54.1,44.3,54.9,38.5,37.8,32.4,26.7,20.6,27.7,24.5,17.4,13.5,11.4,9.45][index],'in^4')", "templateType": "anything"}, "Ix": {"name": "Ix", "group": "MOI", "description": "

MOI of box around x axis

", "definition": "2 (Ibar_x'+A_L d_y d_y)", "templateType": "anything"}, "rotated": {"name": "rotated", "group": "Setup values", "description": "", "definition": " random(false,true)", "templateType": "anything"}, "Iy": {"name": "Iy", "group": "MOI", "description": "

MOI of box around  y axis

", "definition": "2(Ibar_y' + A_L d_x d_x)", "templateType": "anything"}, "d_x": {"name": "d_x", "group": "MOI", "description": "

horizontal distance from centroid of angle to y axis

", "definition": "qty(w + t,'in')/2 - if(rotated,ybar,xbar)", "templateType": "anything"}, "Ibar_x'": {"name": "Ibar_x'", "group": "MOI", "description": "

centroidal MOI for angle about its centroid

", "definition": "if(rotated,Iyy,Ixx)", "templateType": "anything"}, "dimensions": {"name": "dimensions", "group": "angle properties", "description": "", "definition": "[[9, 4, 1/2], [8, 6, 5/8], [8, 6, 1/2], [8, 4, 3/4], [8, 4, 1/2], [7, 4, 3/4], [7, 4, 5/8], [7, 4, 1/2], [7, 4, 3/8], [6, 4, 7/8], [6, 4, 3/4], [6, 4, 1/2], [6, 4, 3/8], [5, 3, 5/8], [5, 3, 1/2]][index]\n", "templateType": "anything"}, "Ibar_y'": {"name": "Ibar_y'", "group": "MOI", "description": "

centroidal MOI for angle about its centroid

", "definition": "if(rotated,Ixx,Iyy)", "templateType": "anything"}, "index": {"name": "index", "group": "Setup values", "description": "

i

", "definition": "random(0..14)", "templateType": "anything"}, "d_y": {"name": "d_y", "group": "MOI", "description": "

vertical distance from centroid of angle to x axis

", "definition": "qty(h/2,'in')- if(rotated,xbar,ybar)", "templateType": "anything"}, "Iyy": {"name": "Iyy", "group": "angle properties", "description": "", "definition": "qty([6.92,26.3,21.7,9.36,6.74,9.05,7.84,6.53,5.1,9.75,8.68,6.27,4.9,3.06,2.58][index],'in^4')", "templateType": "anything"}}, "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/"}]}