// Numbas version: finer_feedback_settings {"name": "Block sliding along a slope (static friction defines force)", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"rulesets": {}, "functions": {"draw_block": {"type": "html", "definition": "//Set values\ndistance = Numbas.jme.unwrapValue(scope.variables.distance);\nmass = Numbas.jme.unwrapValue(scope.variables.mass);\n\n\n\n// The function provided by the JSXGraph extension wraps the board up in\n// a div tag so that it's easier to embed in the page.\nvar div = Numbas.extensions.jsxgraph.makeBoard('600px','260px',\n//{boundingBox: [-0.1,-0.1,1.,1.],\n {boundingBox: [-0.1,0.8,2,-0.1],\n axis: false,\n showNavigation: false,\n grid: false\n });\n\n// div.board is the object created by JSXGraph, which you use to\n// manipulate elements\nvar board = div.board;\n\n\n\n// centre of the boxes\n\nvar b_x=0.3\nvar b_y=0.1\n\nvar b2_x=b_x+1.4\nvar b2_y=b_y\n\n\n\n//draw stuff\n\n\nvar ground = board.create('line',[[b_x-0.15,b_y-0.1],[b_x+0.15,b_y-0.1]], {straightFirst:true, straightLast:true, strokeColor: 'black', fixed: true });\n\nvar box1_1 = board.create('line',[[b_x-0.15,b_y-0.1],[b_x-0.15,b_y+0.1]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n//\nvar box1_2 = board.create('line',[[b_x-0.15,b_y+0.1],[b_x+0.15,b_y+0.1]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n//\nvar box1_2 = board.create('line',[[b_x+0.15,b_y+0.1],[b_x+0.15,b_y-0.1]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n//\n//\nvar box1_1 = board.create('line',[[b2_x-0.15,b2_y-0.1],[b2_x-0.15,b2_y+0.1]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true , dash:1});\n//\nvar box1_2 = board.create('line',[[b2_x-0.15,b2_y+0.1],[b2_x+0.15,b2_y+0.1]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true, dash:1 });\n//\nvar box1_2 = board.create('line',[[b2_x+0.15,b2_y+0.1],[b2_x+0.15,b2_y-0.1]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true, dash:1 });\n\n\n//label the mass\n\nvar label_mass = board.create('text',[b_x-0.1,0.1,mass.toFixed(1)+'kg'],{fontSize:20});\n\n\n//label the distance\n\n\nvar label_dist = board.create('text',[0.94,0.1,distance+'m'],{fontSize:20,strokeColor: 'blue' });\nvar dist1 = board.create('line',[[b_x,b_y],[0.9,b_y]], {straightFirst:false, straightLast:false, strokeColor: 'blue', fixed: true, strokeWidth:1,strokeColorOpacity:0.5 });\nvar dist2 = board.create('line',[[1.1,b2_y],[b2_x,b2_y]], {straightFirst:false, straightLast:false, strokeColor: 'blue', fixed: true, strokeWidth:1,strokeColorOpacity:0.5, lastarrow:1 });\n\n// and return the container div\nreturn div;", "parameters": [], "language": "javascript"}}, "extensions": ["jsxgraph"], "parts": [{"allowFractions": false, "variableReplacementStrategy": "originalfirst", "showFeedbackIcon": true, "prompt": "

Find the normal reaction, $R \\ \\mathrm{N}$ between the block and the plane, to 2 decimal places.

", "mustBeReduced": false, "showPrecisionHint": true, "minValue": "precround(normal_force,2)-0.1", "precision": "3", "customMarkingAlgorithm": "", "variableReplacements": [], "extendBaseMarkingAlgorithm": true, "correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "showCorrectAnswer": true, "type": "numberentry", "mustBeReducedPC": 0, "scripts": {}, "unitTests": [], "precisionPartialCredit": "0", "correctAnswerStyle": "plain", "precisionMessage": "You have not given your answer to the correct precision.", "marks": 1, "precisionType": "sigfig", "strictPrecision": true, "maxValue": "precround(normal_force,2)+0.1"}, {"allowFractions": false, "variableReplacementStrategy": "alwaysreplace", "showFeedbackIcon": true, "prompt": "

Using your calculated value for $R$, find the force needed to start moving the block, to 2 decimal places.

", "mustBeReduced": false, "showPrecisionHint": false, "minValue": "precround(static_force,2)-0.1", "precision": "3", "customMarkingAlgorithm": "", "variableReplacements": [{"must_go_first": true, "part": "p0", "variable": "normal_force"}], "extendBaseMarkingAlgorithm": true, "correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "showCorrectAnswer": true, "type": "numberentry", "mustBeReducedPC": 0, "scripts": {}, "unitTests": [], "precisionPartialCredit": 0, "correctAnswerStyle": "plain", "precisionMessage": "You have not given your answer to the correct precision.", "marks": 1, "precisionType": "dp", "strictPrecision": false, "maxValue": "precround(static_force,2)+0.1"}, {"allowFractions": false, "variableReplacementStrategy": "alwaysreplace", "showFeedbackIcon": true, "prompt": "

Using your calculated value for $R$, find the force needed to keep the block moving, once it is in motion, to 2 decimal places.

", "mustBeReduced": false, "showPrecisionHint": false, "minValue": "precround(kinetic_force,2)-0.1", "precision": "3", "customMarkingAlgorithm": "", "variableReplacements": [{"must_go_first": true, "part": "p0", "variable": "normal_force"}], "extendBaseMarkingAlgorithm": true, "correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "showCorrectAnswer": true, "type": "numberentry", "mustBeReducedPC": 0, "scripts": {}, "unitTests": [], "precisionPartialCredit": 0, "correctAnswerStyle": "plain", "precisionMessage": "You have not given your answer to the correct precision.", "marks": 1, "precisionType": "dp", "strictPrecision": false, "maxValue": "precround(kinetic_force,2)+0.1"}, {"allowFractions": false, "showCorrectAnswer": false, "type": "numberentry", "showFeedbackIcon": true, "prompt": "

Using the values of force calculated in part b and c, calculate the change in kinetic energy of the block after it has moved {distance}m, to 2 decimal places.

", "mustBeReduced": false, "maxValue": "precround(kinetic_energy,2)+0.1", "variableReplacementStrategy": "alwaysreplace", "extendBaseMarkingAlgorithm": true, "minValue": "precround(kinetic_energy,2)-0.1", "correctAnswerStyle": "plain", "correctAnswerFraction": false, "customMarkingAlgorithm": "", "scripts": {}, "variableReplacements": [{"must_go_first": true, "part": "p1", "variable": "static_force"}, {"must_go_first": true, "part": "p2", "variable": "kinetic_force"}], "marks": "2", "mustBeReducedPC": 0, "unitTests": [], "notationStyles": ["plain", "en", "si-en"]}, {"allowFractions": false, "showCorrectAnswer": true, "type": "numberentry", "showFeedbackIcon": true, "prompt": "

Using the change in kinetic energy calculated in part d, calculate the velocity of the block after it has moved {distance}m, to 2 decimal places.

", "mustBeReduced": false, "maxValue": "precround(velocity,2)+0.1", "variableReplacementStrategy": "alwaysreplace", "extendBaseMarkingAlgorithm": true, "minValue": "precround(velocity,2)-0.1", "correctAnswerStyle": "plain", "correctAnswerFraction": false, "customMarkingAlgorithm": "", "scripts": {}, "variableReplacements": [{"must_go_first": true, "part": "p3", "variable": "kinetic_energy"}], "marks": "2", "mustBeReducedPC": 0, "unitTests": [], "notationStyles": ["plain", "en", "si-en"]}], "advice": "

a)

To find the normal reaction force $F_{N}$, we resolve the forces perpendicular to the plane.


$F_{N} = mg$
$F_{N} = $ {mass}  kg * {gravity} ms$^{-2}$

\n

The normal reaction force $F_{N} $ is equal to {precround(normal_force,3)} N.

\n


b)

To find the force needed to start the block moving $F_{S}$, we must factor the normal reaction force, calculated in a) against the co-efficient of static friction $\\mu _{S}$:


$F_{S} = F_{N} * \\mu _{S}$
$F_{S} = $ {precround(normal_force,3)} N * {static_friction}

The force need to start moving the block is $\\var{precround(static_force,3)}$ N.

\n

c)

To find the force needed to keep the block moving, once it is in motion $F_{K}$, we must factor the normal reaction force, calculated in a) against the co-efficient of kinetic friction $\\mu _{K}$:


$F_{K} = F_{N} * \\mu _{K}$
$F_{S} = $ {precround(normal_force,3)} N * {kinetic_friction}

The forces need to start moving the block is $\\var{precround(kinetic_force,3)}$ N.

\n


d)

To calculate the kinetic energy of the block at a distance of {distance}m, we must first calculate the difference between the forces in parts b) and c):


$F = F_{S} - F_{K}$
$F = $ {precround(static_force,3)} N - {precround(kinetic_force,3)} N
$F = $ {precround(motion_force,3)} N

Using this force, we can then calculate the work done on the block:


$KE = Work = F * d$
$W = $ {precround(motion_force,3)} N * {distance} m

\n

The work done on the block, and thus the change in kinetic energy of the block is {precround(kinetic_energy,3)} Nm.

e)

To calculate the velocity of the block after {distance} m, we must re-arrange the equation for calculating kinetic energy:

$KE = 1/2 mv^{2}$
$v^{2} = 2 * KE$
$v = \\sqrt{2 * KE}$
$v = \\sqrt{2 * \\var{precround(kinetic_energy,3)}}$

The velocity of the block after {distance} m is {precround(velocity,3)} m/s.

", "variable_groups": [{"name": "Constants", "variables": ["gravity"]}, {"name": "Random Variables", "variables": ["mass", "static_friction", "distance", "kinetic_friction"]}], "metadata": {"licence": "Creative Commons Attribution 4.0 International", "description": "

A static block of given mass is sits on a flat plane with defined static and kinetic friction values. It is pushed with enough force to start it moving - calculate the speed of the block after a given distance.

"}, "ungrouped_variables": ["normal_force", "static_force", "kinetic_force", "motion_force", "kinetic_energy", "velocity"], "name": "Block sliding along a slope (static friction defines force)", "tags": [], "variablesTest": {"condition": "kinetic_friction>0.1", "maxRuns": 100}, "preamble": {"css": "", "js": ""}, "statement": "

{draw_block()}

\n

A block of mass $\\var{mass}\\mathrm{kg}$ slides over a rough horizontal plane. The mass begins at rest. The acceleration due to gravity is g=9.8 ms $^{-2}$. The co-efficient of static friction $\\mu _{S}$ is {static_friction}.

", "variables": {"kinetic_force": {"group": "Ungrouped variables", "description": "", "name": "kinetic_force", "templateType": "anything", "definition": "normal_force*kinetic_friction"}, "static_force": {"group": "Ungrouped variables", "description": "", "name": "static_force", "templateType": "anything", "definition": "normal_force*static_friction"}, "normal_force": {"group": "Ungrouped variables", "description": "", "name": "normal_force", "templateType": "anything", "definition": "mass*gravity"}, "static_friction": {"group": "Random Variables", "description": "", "name": "static_friction", "templateType": "anything", "definition": "random(30..90)*0.01"}, "kinetic_energy": {"group": "Ungrouped variables", "description": "", "name": "kinetic_energy", "templateType": "anything", "definition": "motion_force*distance"}, "distance": {"group": "Random Variables", "description": "", "name": "distance", "templateType": "anything", "definition": "random(5..20)"}, "kinetic_friction": {"group": "Random Variables", "description": "", "name": "kinetic_friction", "templateType": "anything", "definition": "static_friction-(random(1..50)*0.01)"}, "motion_force": {"group": "Ungrouped variables", "description": "", "name": "motion_force", "templateType": "anything", "definition": "static_force-kinetic_force"}, "velocity": {"group": "Ungrouped variables", "description": "", "name": "velocity", "templateType": "anything", "definition": "sqrt(kinetic_energy*2/mass)"}, "mass": {"group": "Random Variables", "description": "

The mass of the block.

", "name": "mass", "templateType": "anything", "definition": "random(11..150)*0.1"}, "gravity": {"group": "Constants", "description": "", "name": "gravity", "templateType": "anything", "definition": "9.8"}}, "type": "question", "contributors": [{"name": "Tom Stallard", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/841/"}]}]}], "contributors": [{"name": "Tom Stallard", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/841/"}]}