// Numbas version: exam_results_page_options {"name": "B: Solid phase change, radiation, entropy", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"extensions": ["jsxgraph"], "tags": [], "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["switcharoo", "answer", "question_string"], "rulesets": {}, "parts": [{"mustBeReducedPC": 0, "correctAnswerStyle": "plain", "type": "numberentry", "precisionMessage": "You have not given your answer to three significant figures.", "showPrecisionHint": false, "allowFractions": false, "unitTests": [], "correctAnswerFraction": false, "showCorrectAnswer": false, "showFeedbackIcon": true, "maxValue": "siground(fh_kj,3)+siground(abs(fh_kj/100),3)", "prompt": "

Calculate the total heat absorbed by the {Mat_string} as it melts in kJ, to three significant figures.

", "precision": "3", "notationStyles": ["plain", "en", "si-en"], "extendBaseMarkingAlgorithm": true, "customMarkingAlgorithm": "", "variableReplacements": [], "precisionPartialCredit": "50", "strictPrecision": true, "mustBeReduced": false, "precisionType": "sigfig", "variableReplacementStrategy": "originalfirst", "marks": "2", "scripts": {}, "minValue": "siground(fh_kj,3)-siground(abs(fh_kj/100),3)"}, {"mustBeReducedPC": 0, "correctAnswerStyle": "plain", "type": "numberentry", "precisionMessage": "You have not given your answer to three significant figures.", "showPrecisionHint": false, "allowFractions": false, "unitTests": [], "correctAnswerFraction": false, "showCorrectAnswer": false, "showFeedbackIcon": true, "maxValue": "siground(p_kw,3)+siground(abs(p_kw/100),3)", "prompt": "

Calculate the net power absorbed by the {mat_string} from radiation in kW, to three significant figures.

", "precision": "3", "notationStyles": ["plain", "en", "si-en"], "extendBaseMarkingAlgorithm": true, "customMarkingAlgorithm": "", "variableReplacements": [], "precisionPartialCredit": "50", "strictPrecision": true, "mustBeReduced": false, "precisionType": "sigfig", "variableReplacementStrategy": "originalfirst", "marks": "2", "scripts": {}, "minValue": "siground(p_kw,3)-siground(abs(p_kw/100),3)"}, {"mustBeReducedPC": 0, "correctAnswerStyle": "plain", "type": "numberentry", "precisionMessage": "You have not given your answer to three significant figures.", "showPrecisionHint": false, "allowFractions": false, "unitTests": [], "correctAnswerFraction": false, "showCorrectAnswer": false, "showFeedbackIcon": true, "maxValue": "siground(time,3)+siground(abs(time/100),3)", "prompt": "

Using the values from part a) and b), calculate how long the block took to melt in seconds, to three significant figures

", "precision": "3", "notationStyles": ["plain", "en", "si-en"], "extendBaseMarkingAlgorithm": true, "customMarkingAlgorithm": "", "variableReplacements": [{"must_go_first": true, "part": "p0", "variable": "fh_kj"}, {"must_go_first": true, "part": "p1", "variable": "p_kw"}], "precisionPartialCredit": "50", "strictPrecision": true, "mustBeReduced": false, "precisionType": "sigfig", "variableReplacementStrategy": "originalfirst", "marks": "2", "scripts": {}, "minValue": "siground(time,3)-siground(abs(time/100),3)"}, {"mustBeReducedPC": 0, "correctAnswerStyle": "plain", "type": "numberentry", "precisionMessage": "You have not given your answer to three significant figures.", "showPrecisionHint": false, "allowFractions": false, "unitTests": [], "correctAnswerFraction": false, "showCorrectAnswer": false, "showFeedbackIcon": true, "maxValue": "siground(wave,3)+siground(abs(wave/100),3)", "prompt": "

At what wavelength does the cube shine most brightly as it melts, in microns, to three significant figures?

", "precision": "3", "notationStyles": ["plain", "en", "si-en"], "extendBaseMarkingAlgorithm": true, "customMarkingAlgorithm": "", "variableReplacements": [], "precisionPartialCredit": "50", "strictPrecision": true, "mustBeReduced": false, "precisionType": "sigfig", "variableReplacementStrategy": "originalfirst", "marks": "2", "scripts": {}, "minValue": "siground(wave,3)-siground(abs(wave/100),3)"}], "name": "B: Solid phase change, radiation, entropy", "advice": "", "metadata": {"description": "

A random heating question, that randomly picks a material, and then heats it through either one or two phase changes, provides an example graph of the heating with scaled temperature ranges (though not with scaled latent and specific heats), and a table with the suitable constants.

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

\n

A {mass_string} cube of solid {Mat_string} measures {x} cm along each side. It has a temperature of {phase1_temp} K, the fusion temperature of {mat_string}.  The cube sits in an oven with a temperature of {oven_temp} K and is heated only by radiation (no conduction or convection) until it entirely melts.

\n

Assume Stefan's constant $\\sigma  = \\var{ksb2}\\times10^{-8}$  $W m^{-2}K^{-4}$ and Wien's displacement constant $k_W = \\var{kw}$ $\\mu mK$.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Latent Heat of fusionemissivity
{Mat_string}{phase1_latentheat} Jkg<sup>-1</sup>{emissivity}
", "variable_groups": [{"variables": [], "name": "switcharoo values"}, {"variables": ["mass_string"], "name": "kg or g"}, {"variables": ["mat_string", "container_string", "phase1_temp", "phase1_latentheat", "emissivity", "density"], "name": "Material values"}, {"variables": ["fusionheat", "fh_kj", "p_kw", "time", "power", "tt", "pp", "x", "xx", "xxx", "area", "ksb", "ksb2", "kw", "wave"], "name": "Energy"}, {"variables": ["material_list", "fusion_lh_list", "fusion_temp_list", "material_emissivity", "material_density"], "name": "Lists of values"}, {"variables": ["wat_mat", "start_temp", "oven_start_temp", "mass", "oven_temp"], "name": "Random variables"}], "variables": {"xx": {"description": "", "templateType": "anything", "group": "Energy", "definition": "x/100", "name": "xx"}, "x": {"description": "", "templateType": "anything", "group": "Energy", "definition": "random(3..9)", "name": "x"}, "phase1_temp": {"description": "", "templateType": "anything", "group": "Material values", "definition": "fusion_temp_list[wat_mat]", "name": "phase1_temp"}, "start_temp": {"description": "", "templateType": "anything", "group": "Random variables", "definition": "phase1_temp-273.15", "name": "start_temp"}, "kw": {"description": "", "templateType": "anything", "group": "Energy", "definition": "2898", "name": "kw"}, "time": {"description": "", "templateType": "anything", "group": "Energy", "definition": "fh_kj/p_kw", "name": "time"}, "answer": {"description": "", "templateType": "anything", "group": "Ungrouped variables", "definition": "if(switcharoo=0,pp,tt)", "name": "answer"}, "switcharoo": {"description": "", "templateType": "anything", "group": "Ungrouped variables", "definition": "random(0,1)", "name": "switcharoo"}, "wave": {"description": "

wave

", "templateType": "anything", "group": "Energy", "definition": "kw/phase1_temp", "name": "wave"}, "phase1_latentheat": {"description": "", "templateType": "anything", "group": "Material values", "definition": "fusion_lh_list[wat_mat]", "name": "phase1_latentheat"}, "material_emissivity": {"description": "", "templateType": "anything", "group": "Lists of values", "definition": "[0.31,\n 0.05,\n 0.22,\n 0.14,\n 0.74,\n 0.06,\n 0.19]", "name": "material_emissivity"}, "p_kw": {"description": "", "templateType": "anything", "group": "Energy", "definition": "power/1000", "name": "p_kw"}, "container_string": {"description": "", "templateType": "anything", "group": "Material values", "definition": "if (wat_mat < 1.5,'flask','crucible')", "name": "container_string"}, "ksb2": {"description": "", "templateType": "anything", "group": "Energy", "definition": "ksb*10^8", "name": "ksb2"}, "mass_string": {"description": "", "templateType": "anything", "group": "kg or g", "definition": "if(mass<1,dpformat(mass*1000,0)+' g',dpformat(mass,2)+' kg')", "name": "mass_string"}, "ksb": {"description": "", "templateType": "anything", "group": "Energy", "definition": "5.67 * 10^-8", "name": "ksb"}, "oven_start_temp": {"description": "", "templateType": "anything", "group": "Random variables", "definition": "oven_temp-273.15", "name": "oven_start_temp"}, "area": {"description": "", "templateType": "anything", "group": "Energy", "definition": "6*(xx^2)", "name": "area"}, "pp": {"description": "", "templateType": "anything", "group": "Energy", "definition": "fusionheat/(time*60*60)", "name": "pp"}, "emissivity": {"description": "", "templateType": "anything", "group": "Material values", "definition": "material_emissivity[wat_mat]", "name": "emissivity"}, "oven_temp": {"description": "", "templateType": "anything", "group": "Random variables", "definition": "siground(phase1_temp*random(1.1..1.6#0.01),4)", "name": "oven_temp"}, "tt": {"description": "", "templateType": "anything", "group": "Energy", "definition": "fh_kj*1000/(power*60*60)", "name": "tt"}, "fh_kj": {"description": "", "templateType": "anything", "group": "Energy", "definition": "fusionheat/1000", "name": "fh_kj"}, "density": {"description": "", "templateType": "anything", "group": "Material values", "definition": "material_density[wat_mat]", "name": "density"}, "material_list": {"description": "", "templateType": "anything", "group": "Lists of values", "definition": "['Nickel','Platinum','Copper','Gold','Iron','Silver','Aluminium']", "name": "material_list"}, "question_string": {"description": "", "templateType": "anything", "group": "Ungrouped variables", "definition": "if(switcharoo=0,' for {time} hours, calculate the power of the heater in W, to three significant figures',' with a power of {power} W, calculate how long the {mat_string} took to melt in hours, to three significant figures')", "name": "question_string"}, "power": {"description": "", "templateType": "anything", "group": "Energy", "definition": "(emissivity*ksb*area*oven_temp^4)-(emissivity*ksb*area*phase1_temp^4)", "name": "power"}, "mat_string": {"description": "", "templateType": "anything", "group": "Material values", "definition": "material_list[wat_mat]", "name": "mat_string"}, "wat_mat": {"description": "", "templateType": "anything", "group": "Random variables", "definition": "random(0..3)", "name": "wat_mat"}, "mass": {"description": "", "templateType": "anything", "group": "Random variables", "definition": "siground(xxx*density/1000,3)", "name": "mass"}, "fusionheat": {"description": "", "templateType": "anything", "group": "Energy", "definition": "mass*phase1_latentheat", "name": "fusionheat"}, "material_density": {"description": "

g/cm3

", "templateType": "anything", "group": "Lists of values", "definition": "[8.91,21.1,8.97,19.32,7.87,10.49,2.70]", "name": "material_density"}, "fusion_lh_list": {"description": "", "templateType": "anything", "group": "Lists of values", "definition": "[17500,19300,207000,63000,272000,111000,398000]", "name": "fusion_lh_list"}, "xxx": {"description": "", "templateType": "anything", "group": "Energy", "definition": "x^3", "name": "xxx"}, "fusion_temp_list": {"description": "", "templateType": "anything", "group": "Lists of values", "definition": "[1728,2045,1357,1337,1811,1235,933]", "name": "fusion_temp_list"}}, "functions": {"twostep": {"language": "javascript", "definition": "// Takes variables\n\n// showing K or C?\nk_c = Numbas.jme.unwrapValue(scope.variables.k_c_switch);\n\nif (k_c = 0) {\n var k_c_corr =0;\n var k_c_str=\"K\";\n} else {\n var k_c_corr =-273;\n var k_c_str=\"\u00b0C\";\n}\n\n//Set values\nst = Numbas.jme.unwrapValue(scope.variables.start_temp)+k_c_corr;\net = Numbas.jme.unwrapValue(scope.variables.end_temp)+k_c_corr;\npt1 = Numbas.jme.unwrapValue(scope.variables.phase1_temp)+k_c_corr;\npt2 = Numbas.jme.unwrapValue(scope.variables.phase2_temp)+k_c_corr;\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('500px','300px',\n {boundingBox: [-5,et+(et-st)/10.,28,st-(et-st)/10.],\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// create the x-axis.\n//var xaxis = board.create('line',[[0,0],[1,0]], {strokeColor: 'black', fixed: true});\n//var xticks = board.create('ticks',[xaxis,20],{\n// drawLabels: true,\n// minorTicks: 0\n//});\n\n// create the y-axis\n\nvar yaxis = board.create('line',[[0,0],[0,1]], { strokeColor: 'black', fixed: true });\nvar yticks = board.create('ticks',[yaxis,parseInt((et-st)/50.)*10],{\ndrawZero:true,\ndrawLabels: true,\nlabel: {offset: [20, 0]},\nminorTicks: 0\n});\n\n\n// full size of the five slopes\nvar allslope=(et-st);\nvar s1sz=(8*(pt1-st)/allslope);\nvar s3sz=(8*(pt2-pt1)/allslope);\nvar s5sz=(8*(et-pt2)/allslope);\n\n\n//\n//slope 1\nvar slope1 = board.create('line',[[4,st],[s1sz+4,pt1]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar slope2 = board.create('line',[[s1sz+4,pt1],[s1sz+8,pt1]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar slope3 = board.create('line',[[s1sz+8,pt1],[s1sz+s3sz+8,pt2]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar slope4 = board.create('line',[[s1sz+s3sz+8,pt2],[s1sz+s3sz+12,pt2]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar slope5 = board.create('line',[[s1sz+s3sz+12,pt2],[s1sz+s3sz+s5sz+12,et]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n\n//var slope6 = board.create('line',[[4,pt1],[20,pt2]], {dash:2,straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n\nvar dash1 = board.create('line',[[s1sz+4,st-10],[s1sz+4,et+10]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar dash2 = board.create('line',[[s1sz+8,st-10],[s1sz+8,et+10]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar dash3 = board.create('line',[[s1sz+s3sz+8,st-10],[s1sz+s3sz+8,et+10]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar dash4 = board.create('line',[[s1sz+s3sz+12,st-10],[s1sz+s3sz+12,et+10]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n\n\n//label the y-axis\n var label = board.create('text',[-2,(et+st)/2,k_c_str]);\n\n\n// and return the container div\nreturn div;", "type": "html", "parameters": []}, "onestep": {"language": "javascript", "definition": "// Takes variables\n\n// showing K or C?\nk_c = Numbas.jme.unwrapValue(scope.variables.k_c_switch);\n\nif (k_c = 0) {\n var k_c_corr =0;\n var k_c_str=\"K\";\n} else {\n var k_c_corr =-273;\n var k_c_str=\"\u00b0C\";\n}\n\n//Set values\nst = Numbas.jme.unwrapValue(scope.variables.start_temp)+k_c_corr;\net = Numbas.jme.unwrapValue(scope.variables.end_temp)+k_c_corr;\npt = Numbas.jme.unwrapValue(scope.variables.phase_temp)+k_c_corr;\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('500px','300px',\n {boundingBox: [-4,et+10,20,st-10],\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// create the x-axis.\n//var xaxis = board.create('line',[[0,0],[1,0]], {strokeColor: 'black', fixed: true});\n//var xticks = board.create('ticks',[xaxis,20],{\n// drawLabels: true,\n// minorTicks: 0\n//});\n\n// create the y-axis\nvar yaxis = board.create('line',[[0,0],[0,1]], { strokeColor: 'black', fixed: true });\nvar yticks = board.create('ticks',[yaxis,parseInt((et-st)/50.)*10],{\ndrawZero:true,\ndrawLabels: true,\nlabel: {offset: [20, 0]},\nminorTicks: 0\n});\n\n//\n//slope 1\nvar slope1 = board.create('line',[[4,st],[((pt-st)/((pt-st)+(et-pt))*8)+4,pt]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar slope2 = board.create('line',[[((pt-st)/((pt-st)+(et-pt))*8)+4,pt],[16-((et-pt)/((pt-st)+(et-pt))*8),pt]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar slope3 = board.create('line',[[16-((et-pt)/((pt-st)+(et-pt))*8),pt],[16,et]], {straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n\nvar dash1 = board.create('line',[[((pt-st)/((pt-st)+(et-pt))*8)+4,st-5],[((pt-st)/((pt-st)+(et-pt))*8)+4,et+5]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\nvar dash2 = board.create('line',[[16-((et-pt)/((pt-st)+(et-pt))*8),st-5],[16-((et-pt)/((pt-st)+(et-pt))*8),et+5]], {dash:2, strokewidth:1, straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true });\n\n\n//label the y-axis\n var label = board.create('text',[-2,(et+st)/2,k_c_str]);\n\n\n// and return the container div\nreturn div;", "type": "html", "parameters": []}}, "preamble": {"js": "", "css": ""}, "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/"}]}