// Numbas version: finer_feedback_settings {"name": "Fault Analysis - Practice", "metadata": {"description": "", "licence": "None specified"}, "duration": 0, "percentPass": "40", "showQuestionGroupNames": false, "shuffleQuestionGroups": false, "showstudentname": false, "question_groups": [{"name": "Group", "pickingStrategy": "random-subset", "pickQuestions": 1, "questionNames": ["", "", "", "", ""], "variable_overrides": [[], [], [], [], []], "questions": [{"name": "Fault Analysis 3 Bus", "extensions": [], "custom_part_types": [], "resources": ["question-resources/FA3Bus.png"], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}], "tags": [], "metadata": {"description": "", "licence": "None specified"}, "statement": "
In the system shown in Figure 1, the transformer is connected star-star with both star points grounded and the generator is connected in star with its star point grounded. The per unit sequence reactances of each element on a {SBASE} MVA base are given in Table 1 and the voltage levels are given in Table 2.
\n{image('resources/question-resources/FA3Bus.png')}
\nFigure 1: A section of the distribution system
\n| \n \n | \n\n G1 \n | \n\n T1 \n | \n\n L \n | \n
| \n X1 \n | \n\n {G12} \n | \n\n {T120} \n | \n\n {L12} \n | \n
| \n X2 \n | \n\n {G12} \n | \n\n {T120} \n | \n\n {L12} \n | \n
| \n X0 \n | \n\n {G0} \n | \n\n {T120} \n | \n\n {L0} \n | \n
Table 1: Sequence reactances (p.u. on {SBASE} MVA base)
\n\n
| \n \n | \n\n G1 \n | \n\n T1 \n | \n\n L \n | \n
| \n V BASE \n | \n\n {VG} \n | \n\n {VG}/{VL} \n | \n\n {VL} \n | \n
Table 1: Voltage bases (kV)
\n", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"VL": {"name": "VL", "group": "Ungrouped variables", "definition": "random(20 .. 50#2)", "description": "", "templateType": "randrange", "can_override": false}, "G12": {"name": "G12", "group": "Ungrouped variables", "definition": "random(0.05 .. 0.15#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "G0": {"name": "G0", "group": "Ungrouped variables", "definition": "precround(ratio*G12,2)", "description": "", "templateType": "anything", "can_override": false}, "L0": {"name": "L0", "group": "Ungrouped variables", "definition": "random(0.05 .. 0.15#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "L12": {"name": "L12", "group": "Ungrouped variables", "definition": "precround(ratio*L0,2)", "description": "", "templateType": "anything", "can_override": false}, "T120": {"name": "T120", "group": "Ungrouped variables", "definition": "random(0.05 .. 0.15#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "VG": {"name": "VG", "group": "Ungrouped variables", "definition": "random(1 .. 10#1)", "description": "", "templateType": "randrange", "can_override": false}, "ratio": {"name": "ratio", "group": "Ungrouped variables", "definition": "random(0.5 .. 0.9#0.1)", "description": "", "templateType": "randrange", "can_override": false}, "SBASE": {"name": "SBASE", "group": "Ungrouped variables", "definition": "random(10 .. 100#10)", "description": "", "templateType": "randrange", "can_override": false}, "I1": {"name": "I1", "group": "Calculated", "definition": "-i/(2*X12)", "description": "", "templateType": "anything", "can_override": false}, "IFkA": {"name": "IFkA", "group": "Calculated", "definition": "IFpu*SBASE/(sqrt(3)*VL)", "description": "", "templateType": "anything", "can_override": false}, "IGkA": {"name": "IGkA", "group": "Calculated", "definition": "IFpu*SBASE/(sqrt(3)*VG)", "description": "", "templateType": "anything", "can_override": false}, "X0": {"name": "X0", "group": "Calculated", "definition": "G0+T120+L0", "description": "", "templateType": "anything", "can_override": false}, "X12": {"name": "X12", "group": "Calculated", "definition": "G12+T120+L12", "description": "", "templateType": "anything", "can_override": false}, "AMatrix": {"name": "AMatrix", "group": "Calculated", "definition": "matrix([1,1,1],[1,a^2,a],[1,a,a^2])", "description": "", "templateType": "anything", "can_override": false}, "a": {"name": "a", "group": "Calculated", "definition": "cos(pi*120/180)+i*sin(pi*120/180)", "description": "", "templateType": "anything", "can_override": false}, "IFpu": {"name": "IFpu", "group": "Calculated", "definition": "abs((a^2-a)*I1)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["VG", "VL", "G12", "G0", "T120", "L12", "L0", "ratio", "SBASE"], "variable_groups": [{"name": "Calculated", "variables": ["I1", "IFkA", "IGkA", "X0", "X12", "AMatrix", "a", "IFpu"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": true, "customName": "Fault Current (p.u.)", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "
If a line-line fault occurs at bus 3 with zero fault impedance, calculate the magnitude of the fault current flowing between phases at the fault point (in p.u.).
\n$ I $ = [[0]] p.u.
", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "IFpu", "marks": "20", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*IFpu", "maxValue": "1.01*IFpu", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}, {"type": "gapfill", "useCustomName": true, "customName": "Fault Current (kA)", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "What is the fault current at the fault point in kA?
\n$ I $ = [[0]] kA
", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "IFkA", "marks": "10", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*IFkA", "maxValue": "1.01*IFkA", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}, {"type": "gapfill", "useCustomName": true, "customName": "Generator Current (kA)", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "What is the fault current flowing from the generator in kA?
\n$ I $ = [[0]] kA
", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "IGkA", "marks": "10", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*IGkA", "maxValue": "1.01*IGkA", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Fault Analysis 4 Bus", "extensions": [], "custom_part_types": [], "resources": ["question-resources/FA4Bus.png"], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}], "tags": [], "metadata": {"description": "", "licence": "None specified"}, "statement": "In the system shown in Figure 1, the transformers are connected star-star with both star points grounded and the generators are connected in star with thier star points grounded. The per unit sequence reactances of each element on a {SBASE} MVA base are given in Table 1.
\n{image('resources/question-resources/FA4Bus.png')}
\nFigure 1: A section of the distribution system
\n| \n \n | \n\n G1 \n | \n\n T1 \n | \n\n L \n | \n\n T2 \n | \n\n G2 \n | \n
| \n X1 \n | \n\n {G112} \n | \n\n {T1} \n | \n\n {L12} \n | \n\n {T2} \n | \n\n {G212} \n | \n
| \n X2 \n | \n\n {G112} \n | \n\n {T1} \n | \n\n {L12} \n | \n\n {T2} \n | \n\n {G212} \n | \n
| \n X0 \n | \n\n {G10} \n | \n\n {T1} \n | \n\n {L0} \n | \n\n {T2} \n | \n\n {G20} \n | \n
Table 1: Sequence reactances (p.u. on {SBASE} MVA base)
", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"G112": {"name": "G112", "group": "Ungrouped variables", "definition": "random(0.05 .. 0.2#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "G10": {"name": "G10", "group": "Ungrouped variables", "definition": "precround(ratio*G112,2)", "description": "", "templateType": "anything", "can_override": false}, "L0": {"name": "L0", "group": "Ungrouped variables", "definition": "random(0.05 .. 0.2#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "L12": {"name": "L12", "group": "Ungrouped variables", "definition": "precround(ratio*L0,2)", "description": "", "templateType": "anything", "can_override": false}, "T1": {"name": "T1", "group": "Ungrouped variables", "definition": "random(0.05 .. 0.2#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "ratio": {"name": "ratio", "group": "Ungrouped variables", "definition": "random(0.1 .. 0.5#0.1)", "description": "", "templateType": "randrange", "can_override": false}, "SBASE": {"name": "SBASE", "group": "Ungrouped variables", "definition": "random(10 .. 100#10)", "description": "", "templateType": "randrange", "can_override": false}, "I120": {"name": "I120", "group": "Calculated", "definition": "-i/(2*X12 + X0 + 3*XF)", "description": "", "templateType": "anything", "can_override": false}, "X0": {"name": "X0", "group": "Calculated", "definition": "(G10+T1+L0)*(G20+T2)/(G10+T1+L0+G20+T2)", "description": "", "templateType": "anything", "can_override": false}, "X12": {"name": "X12", "group": "Calculated", "definition": "(G112+T1+L12)*(G212+T2)/(G112+T1+L12+G212+T2)", "description": "", "templateType": "anything", "can_override": false}, "XF": {"name": "XF", "group": "Ungrouped variables", "definition": "random(0.01 .. 0.05#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "AMatrix": {"name": "AMatrix", "group": "Calculated", "definition": "matrix([1,1,1],[1,a^2,a],[1,a,a^2])", "description": "", "templateType": "anything", "can_override": false}, "a": {"name": "a", "group": "Calculated", "definition": "cos(pi*120/180)+i*sin(pi*120/180)", "description": "", "templateType": "anything", "can_override": false}, "IFpu": {"name": "IFpu", "group": "Calculated", "definition": "abs((3*I120))", "description": "", "templateType": "anything", "can_override": false}, "T2": {"name": "T2", "group": "Ungrouped variables", "definition": "random(0.05 .. 0.2#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "G212": {"name": "G212", "group": "Ungrouped variables", "definition": "random(0.05 .. 0.2#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "G20": {"name": "G20", "group": "Ungrouped variables", "definition": "precround(ratio*G212,2)", "description": "", "templateType": "anything", "can_override": false}, "V0": {"name": "V0", "group": "Calculated", "definition": "-i*X0*I120", "description": "", "templateType": "anything", "can_override": false}, "V1": {"name": "V1", "group": "Calculated", "definition": "1-i*X12*I120", "description": "", "templateType": "anything", "can_override": false}, "V2": {"name": "V2", "group": "Calculated", "definition": "-i*X12*I120", "description": "", "templateType": "anything", "can_override": false}, "VA": {"name": "VA", "group": "Calculated", "definition": "abs(V0+V1+V2)", "description": "", "templateType": "anything", "can_override": false}, "VB": {"name": "VB", "group": "Calculated", "definition": "abs(1*V0+(a^2)*V1+a*V2)", "description": "", "templateType": "anything", "can_override": false}, "VC": {"name": "VC", "group": "Calculated", "definition": "abs(1*V0+a*V1+(a^2)*V2)", "description": "", "templateType": "anything", "can_override": false}, "deltaA": {"name": "deltaA", "group": "Calculated", "definition": "0", "description": "", "templateType": "anything", "can_override": false}, "deltaB": {"name": "deltaB", "group": "Calculated", "definition": "180*arg(1*V0+(a^2)*V1+a*V2)/pi", "description": "", "templateType": "anything", "can_override": false}, "deltaC": {"name": "deltaC", "group": "Calculated", "definition": "180*arg(1*V0+a*V1+(a^2)*V2)/pi", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["XF", "G112", "G10", "T1", "L12", "L0", "ratio", "SBASE", "T2", "G212", "G20"], "variable_groups": [{"name": "Calculated", "variables": ["I120", "X0", "X12", "AMatrix", "a", "IFpu", "V0", "V1", "V2", "VA", "VB", "VC", "deltaA", "deltaB", "deltaC"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": true, "customName": "Fault Current", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "If a single-phase fault occurs at bus 3 with a fault reactance of {XF} p.u. calculate the fault current flowing at the fault point (in p.u.).
\n$ I_F $ = -j [[0]] p.u.
", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "IFpu", "marks": "20", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.999*IFpu", "maxValue": "1.001*IFpu", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}, {"type": "gapfill", "useCustomName": true, "customName": "Voltage", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "What are the voltages on each phase at the fault point (in p.u.) after the fault occurs? (Assume the fault is on the A-phase)
\n$ V_A $ = [[0]] $\\angle \\ 0 \\ ^o $ p.u.
\n$ V_B $ = [[1]] $\\angle$ [[2]] p.u.
\n$ V_C $ = [[3]] $\\angle$ [[4]] p.u.
", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "VA", "marks": "4", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.999*VA", "maxValue": "1.001*VA", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "VB", "marks": "4", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.999*VB", "maxValue": "1.001*VB", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "deltaB", "marks": "4", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*deltaB", "maxValue": "1.01*deltaB", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "VC", "marks": "4", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.999*VC", "maxValue": "1.001*VC", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "deltaC", "marks": "4", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*deltaC", "maxValue": "1.01*deltaC", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Fault Analysis 5 Bus", "extensions": [], "custom_part_types": [], "resources": ["question-resources/FA5Bus.png"], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}], "tags": [], "metadata": {"description": "", "licence": "None specified"}, "statement": "In the system shown in Figure 1, the transformers are connected star-star with both star points grounded and the generators are connected in star with their star points grounded. The system base is {SBASE} MVA. The transformers all have reactances of {Tpu} p.u. on this {SBASE} MVA base. The reactances of all other elements are given in Table 1 (in $\\Omega$) and the voltage levels are given in Table 2.
\n{image('resources/question-resources/FA5Bus.png')}
\nFigure 1: A section of the distribution system
\n\n
| \n \n | \n\n G1 \n | \n\n L \n | \n\n G2 \n | \n
| \n X \n | \n\n {G1} \n | \n\n {L} \n | \n\n {G2} \n | \n
Table 1: Sequence reactances ($\\Omega$)
\n\n
| \n \n | \n\n G1 \n | \n\n T1 \n | \n\n L \n | \n\n T2 \n | \n\n G2 \n | \n\n T3 \n | \n
| \n V BASE \n | \n\n {VG1} \n | \n\n {VG1}/{VL} \n | \n\n {VL} \n | \n\n {VL}/{VG2} \n | \n\n {VG2} \n | \n\n {VL}/{V3} \n | \n
Table 2: Voltage bases (kV)
", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"G1": {"name": "G1", "group": "Ungrouped variables", "definition": "precround(0.1*random(1..9)*Xpu*(VG1^2/SBASE),2)", "description": "", "templateType": "anything", "can_override": false}, "L": {"name": "L", "group": "Ungrouped variables", "definition": "precround(0.1*random(1..9)*Xpu*(VL^2/SBASE),2)", "description": "", "templateType": "anything", "can_override": false}, "Xpu": {"name": "Xpu", "group": "Ungrouped variables", "definition": "random(0.1 .. 0.25#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "SBASE": {"name": "SBASE", "group": "Ungrouped variables", "definition": "random(5 .. 20#5)", "description": "", "templateType": "randrange", "can_override": false}, "AMatrix": {"name": "AMatrix", "group": "Calculated", "definition": "matrix([1,1,1],[1,a^2,a],[1,a,a^2])", "description": "", "templateType": "anything", "can_override": false}, "a": {"name": "a", "group": "Calculated", "definition": "cos(pi*120/180)+i*sin(pi*120/180)", "description": "", "templateType": "anything", "can_override": false}, "IFpu": {"name": "IFpu", "group": "Calculated", "definition": "1/XTH", "description": "", "templateType": "anything", "can_override": false}, "G2": {"name": "G2", "group": "Ungrouped variables", "definition": "precround(0.1*random(1..9)*Xpu*(VG2^2/SBASE),2)", "description": "", "templateType": "anything", "can_override": false}, "Tpu": {"name": "Tpu", "group": "Ungrouped variables", "definition": "precround(0.1*random(1..9)*Xpu,2)", "description": "", "templateType": "anything", "can_override": false}, "VG1": {"name": "VG1", "group": "Ungrouped variables", "definition": "random(1 .. 9#1)", "description": "", "templateType": "randrange", "can_override": false}, "VG2": {"name": "VG2", "group": "Ungrouped variables", "definition": "random(1 .. 9#1)", "description": "", "templateType": "randrange", "can_override": false}, "VL": {"name": "VL", "group": "Ungrouped variables", "definition": "random(10 .. 50#5)", "description": "", "templateType": "randrange", "can_override": false}, "V3": {"name": "V3", "group": "Ungrouped variables", "definition": "random(1 .. 9#1)", "description": "", "templateType": "randrange", "can_override": false}, "G1pu": {"name": "G1pu", "group": "Calculated", "definition": "G1/(VG1^2/SBASE)", "description": "", "templateType": "anything", "can_override": false}, "G2pu": {"name": "G2pu", "group": "Calculated", "definition": "G2/(VG2^2/SBASE)", "description": "", "templateType": "anything", "can_override": false}, "Lpu": {"name": "Lpu", "group": "Calculated", "definition": "L/(VL^2/SBASE)", "description": "", "templateType": "anything", "can_override": false}, "IFkA": {"name": "IFkA", "group": "Calculated", "definition": "IFpu*IFBASE", "description": "", "templateType": "anything", "can_override": false}, "IFBASE": {"name": "IFBASE", "group": "Calculated", "definition": "SBASE/(V3*sqrt(3))", "description": "", "templateType": "anything", "can_override": false}, "XFpu": {"name": "XFpu", "group": "Ungrouped variables", "definition": "random(0.01 .. 0.05#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "XTH": {"name": "XTH", "group": "Calculated", "definition": "XFpu+Tpu+((G1pu+Tpu)*(G2pu+Tpu+Lpu)/(G1pu+Tpu+Lpu+G2pu+Tpu))", "description": "", "templateType": "anything", "can_override": false}, "VFpu": {"name": "VFpu", "group": "Calculated", "definition": "XFpu*IFpu", "description": "", "templateType": "anything", "can_override": false}, "VF": {"name": "VF", "group": "Calculated", "definition": "1000*VFpu*V3", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["XFpu", "G1", "L", "Xpu", "SBASE", "G2", "Tpu", "VG1", "VG2", "VL", "V3"], "variable_groups": [{"name": "Calculated", "variables": ["a", "AMatrix", "G1pu", "G2pu", "IFBASE", "IFkA", "IFpu", "Lpu", "VF", "VFpu", "XTH"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": true, "customName": "Per-Unit", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "Convert all values to p.u. on a {SBASE} MVA base.
\n$ X_{G1} $ = [[0]] p.u.
\n$ X_{G2} $ = [[1]] p.u.
\n$X_L $ = [[2]] p.u.
", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "G1pu", "marks": "4", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*G1pu", "maxValue": "1.01*G1pu", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "G2pu", "marks": "4", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*G2pu", "maxValue": "1.01*G2pu", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": true, "customName": "Lpu", "marks": "4", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*Lpu", "maxValue": "1.01*Lpu", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}, {"type": "gapfill", "useCustomName": true, "customName": "Fault Current", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "A three-phase fault with a fault reactance of {XFpu} p.u. occurs at bus 3. Calculate the fault current flowing at the fault point in kA.
\n$ I_F $ = -j [[0]] kA
", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "IFkA", "marks": "20", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*IFkA", "maxValue": "1.01*IFkA", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}, {"type": "gapfill", "useCustomName": true, "customName": "Fault Voltage", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "What is the voltage at bus 3 (in Volts) after the fault has occurred?
\n$V_F$ = [[0]] V
\n", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "VF", "marks": "8", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*VF", "maxValue": "1.01*VF", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Protection 4-bus", "extensions": [], "custom_part_types": [], "resources": ["question-resources/Protection4Bus_AF81T62.png", "question-resources/Protection4Bus_OqI6k2p.png"], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}], "tags": [], "metadata": {"description": "", "licence": "None specified"}, "statement": "The system shown in Figure 1, is a subsection of a {Vbase} kV, {Sbase} MVA system with an embedded generator ready to be deployed on bus 3. The generator at bus 1 represents the bulk supply point (BSP) at rated voltage. The per unit sequence impedances of each element on a {Sbase} MVA base are given in Table 1.
\n
Figure 1: A section of the distribution system
\n| \n Section \n | \n\n R \n | \n\n X \n | \n
| \n 1-2 \n | \n\n {R12} \n | \n\n {X12} \n | \n
| \n 2-3 \n | \n\n {R23} \n | \n\n {X23} \n | \n
| \n 2-4 \n | \n\n {R24} \n | \n\n {X24} \n | \n
Table 1: Intrinsic impedances (p.u. on {SBASE} MVA base)
\n\n
The system is protected with overcurrent relays at buses 1 and 2, looking downstream, with inverse-time relationships given by:
\n\\[ t = \\frac{TMS \\times K}{{\\left( \\frac{I_F} {I_P}\\right)}^\\alpha - 1} \\]
\nThe relay settings are shown in Table 2.
\n| relay | \n\n 1-2 \n | \n\n 2-3 \n | \n\n 2-4 \n | \n
| Curve Type | \n\n {curves[C[0]]} \n | \n\n {curves[C[1]]} \n | \n\n {curves[C[2]]} \n | \n
| TMS | \n\n {TMS[0]} \n | \n\n {TMS[1]} \n | \n\n {TMS[2]} \n | \n
| $I_P$ [kA] | \n\n {IP[0]} \n | \n\n {IP[1]} \n | \n\n {IP[2]} \n | \n
Table 2: Relay parameters
\nUnder normal conditions, the maximum load current to bus 3 is {1000*ILmax[1]} A, to bus 4 is {1000*ILmax[2]} A and from bus 1 is {1000*ILmax[0]} A.
\n", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": true}, "constants": [], "variables": {"r12": {"name": "r12", "group": "Given", "definition": "0.1*random(1..2)*x12", "description": "", "templateType": "anything", "can_override": false}, "r23": {"name": "r23", "group": "Given", "definition": "0.1*random(1..2)*x23", "description": "", "templateType": "anything", "can_override": false}, "x12": {"name": "x12", "group": "Given", "definition": "0.01*random(1..15)", "description": "", "templateType": "anything", "can_override": false}, "x23": {"name": "x23", "group": "Given", "definition": "0.01*random(1..15)", "description": "", "templateType": "anything", "can_override": false}, "IBASE": {"name": "IBASE", "group": "Given", "definition": "Sbase/(sqrt(3)*Vbase)", "description": "kA
", "templateType": "anything", "can_override": false}, "ILmax": {"name": "ILmax", "group": "Given", "definition": "[ILmaxBSP,precround(0.01*random(51..60)*ILmaxBSP,2),precround(0.01*random(51..60)*ILmaxBSP,2),precround(0.01*random(80..120 except 100)*IBASE,2)]", "description": "Mac Load Current: [1-2,2-3,2-4,EG]
", "templateType": "anything", "can_override": false}, "if2ka": {"name": "if2ka", "group": "Ungrouped variables", "definition": "IBASE*abs(IF2)", "description": "", "templateType": "anything", "can_override": false}, "fl2": {"name": "fl2", "group": "Ungrouped variables", "definition": "Sbase*abs(IF2)", "description": "", "templateType": "anything", "can_override": false}, "if3ka": {"name": "if3ka", "group": "Ungrouped variables", "definition": "IBASE*abs(IF3)", "description": "", "templateType": "anything", "can_override": false}, "fl3": {"name": "fl3", "group": "Ungrouped variables", "definition": "Sbase*abs(IF3)", "description": "", "templateType": "anything", "can_override": false}, "suitabilities": {"name": "suitabilities", "group": "Ungrouped variables", "definition": "[ 'No, a relay trips for normal current flow',\n 'No, the protection coordination is bad',\n 'Yes, these relays and their settings are suitable']", "description": "", "templateType": "anything", "can_override": false}, "t12f2": {"name": "t12f2", "group": "Ungrouped variables", "definition": "TMS[0]*K[0]/((IF2kA/IP[0])^alpha[0]-1)", "description": "", "templateType": "anything", "can_override": false}, "t12f3": {"name": "t12f3", "group": "Ungrouped variables", "definition": "TMS[0]*K[0]/((IF3kA/IP[0])^alpha[0]-1)", "description": "", "templateType": "anything", "can_override": false}, "t23f3": {"name": "t23f3", "group": "Ungrouped variables", "definition": "TMS[1]*K[1]/((IF3kA/IP[1])^alpha[1]-1)", "description": "", "templateType": "anything", "can_override": false}, "TMS": {"name": "TMS", "group": "Ungrouped variables", "definition": "[0.1*random(1..10),0.1*random(1..10),0.1*random(1..10),0.1*random(1..10)]", "description": "", "templateType": "anything", "can_override": false}, "IP": {"name": "IP", "group": "Ungrouped variables", "definition": "[precround(0.01*random(90..120)*ILmax[0],2),precround(0.01*random(90..120 except 100)*ILmax[1],2),precround(0.01*random(90..120 except 100)*ILmax[2],2),precround(0.01*random(90..120 except 100)*ILmax[3],2)]", "description": "", "templateType": "anything", "can_override": false}, "curves": {"name": "curves", "group": "Ungrouped variables", "definition": "['standard inverse','very inverse','extremely inverse']", "description": "", "templateType": "anything", "can_override": false}, "C": {"name": "C", "group": "Ungrouped variables", "definition": "[random(0..2),random(0..2),random(0..2),random(0..2)]", "description": "Curve Type: 0 = standard, 1 = very, 2 = extremely
\norder: 1-2,2-3,2-4,EG
", "templateType": "anything", "can_override": false}, "Ks": {"name": "Ks", "group": "Ungrouped variables", "definition": "[0.14,13.5,80]", "description": "", "templateType": "anything", "can_override": false}, "alphas": {"name": "alphas", "group": "Ungrouped variables", "definition": "[0.02,1,2]", "description": "", "templateType": "anything", "can_override": false}, "K": {"name": "K", "group": "Ungrouped variables", "definition": "[Ks[C[0]],Ks[C[1]],Ks[C[2]],Ks[C[3]]]", "description": "", "templateType": "anything", "can_override": false}, "alpha": {"name": "alpha", "group": "Ungrouped variables", "definition": "[alphas[C[0]],alphas[C[1]],alphas[C[2]],alphas[C[3]]]", "description": "", "templateType": "anything", "can_override": false}, "suitability_grade": {"name": "suitability_grade", "group": "Ungrouped variables", "definition": "[6*if(trippy>0,1,-1)/SUITABILITY_TOTAL_GRADE,6*if(Uncoordinated>0,1,-1)/SUITABILITY_TOTAL_GRADE,6*if(Suitable>0,1,-1)/SUITABILITY_TOTAL_GRADE]", "description": "", "templateType": "anything", "can_override": false}, "suitability_gradeG": {"name": "suitability_gradeG", "group": "Ungrouped variables", "definition": "[8*if(TrippyG>0,1,-1)/SUITABILITY_TOTAL_GRADE_G,8*if(Uncoordinated>0,1,-1)/SUITABILITY_TOTAL_GRADE_G,8*if(UnstableG>0,1,-1)/SUITABILITY_TOTAL_GRADE_G,8*if(SuitableG>0,1,-1)/SUITABILITY_TOTAL_GRADE_G]", "description": "", "templateType": "anything", "can_override": false}, "Trippy": {"name": "Trippy", "group": "Ungrouped variables", "definition": "award(1, ILmax[0]>IP[0] || ILmax[1]>IP[1] || ILmax[2]>IP[2])", "description": "", "templateType": "anything", "can_override": false}, "Uncoordinated": {"name": "Uncoordinated", "group": "Ungrouped variables", "definition": "award(1, t23f3>t12f3 || t24f4>t12f4)", "description": "", "templateType": "anything", "can_override": false}, "Suitable": {"name": "Suitable", "group": "Ungrouped variables", "definition": "award(1, (Trippy+Uncoordinated) = 0)", "description": "", "templateType": "anything", "can_override": false}, "TrippyG": {"name": "TrippyG", "group": "Ungrouped variables", "definition": "award(1, ILmax[0]>IP[0] || ILmax[3]>IP[3] || ILmax[2]>IP[2])", "description": "", "templateType": "anything", "can_override": false}, "UnstableG": {"name": "UnstableG", "group": "Ungrouped variables", "definition": "award(1, tripEGCC > tCCG)", "description": "", "templateType": "anything", "can_override": false}, "I12GkA": {"name": "I12GkA", "group": "Ungrouped variables", "definition": "IBASE*abs(I12G)", "description": "", "templateType": "anything", "can_override": false}, "IEGkA": {"name": "IEGkA", "group": "Ungrouped variables", "definition": "IBASE*abs(IEG)", "description": "", "templateType": "anything", "can_override": false}, "I12G": {"name": "I12G", "group": "Ungrouped variables", "definition": "(1-V2)/Z12", "description": "", "templateType": "anything", "can_override": false}, "IEG": {"name": "IEG", "group": "Ungrouped variables", "definition": "(1-V2)/Z23", "description": "", "templateType": "anything", "can_override": false}, "ICCg": {"name": "ICCg", "group": "Given", "definition": "precround(random(10..50)*IBASE,2)", "description": "", "templateType": "anything", "can_override": false}, "tccg": {"name": "tccg", "group": "Given", "definition": "precround(0.01*random(90..120 except 100)*tripEGCC,3)", "description": "", "templateType": "anything", "can_override": false}, "ILmaxBSP": {"name": "ILmaxBSP", "group": "Given", "definition": "precround(0.01*random(80..120 except 100)*IBASE,2)", "description": "", "templateType": "anything", "can_override": false}, "IF2": {"name": "IF2", "group": "Ungrouped variables", "definition": "1/Z12", "description": "", "templateType": "anything", "can_override": false}, "IF3": {"name": "IF3", "group": "Ungrouped variables", "definition": "1/(Z12+Z23)", "description": "", "templateType": "anything", "can_override": false}, "SuitableG": {"name": "SuitableG", "group": "Ungrouped variables", "definition": "award(1, (TrippyG+UncoordinatedG+UnstableG) = 0)", "description": "", "templateType": "anything", "can_override": false}, "SUITABILITY_TOTAL_GRADE": {"name": "SUITABILITY_TOTAL_GRADE", "group": "Ungrouped variables", "definition": "if((Trippy+Uncoordinated+Suitable)>0,Trippy+Uncoordinated+Suitable,1)", "description": "", "templateType": "anything", "can_override": false}, "SUITABILITY_TOTAL_GRADE_G": {"name": "SUITABILITY_TOTAL_GRADE_G", "group": "Ungrouped variables", "definition": "if((TrippyG+UnstableG+UncoordinatedG+SuitableG)>0,TrippyG+UncoordinatedG+UnstableG+SuitableG,1)", "description": "", "templateType": "anything", "can_override": false}, "SuitabilitiesG": {"name": "SuitabilitiesG", "group": "Ungrouped variables", "definition": "[ 'No, a relay trips for normal current flow',\n 'No, the protection coordination is bad',\n 'No, the generator goes unstable before the relay trips',\n 'Yes, this relay is suitable']", "description": "", "templateType": "anything", "can_override": false}, "tripEGcc": {"name": "tripEGcc", "group": "Given", "definition": "TMS[3]*K[3]/((ICCG/IP[3])^alpha[3]-1)", "description": "", "templateType": "anything", "can_override": false}, "if4ka": {"name": "if4ka", "group": "Ungrouped variables", "definition": "IBASE*abs(IF4)", "description": "", "templateType": "anything", "can_override": false}, "FL4": {"name": "FL4", "group": "Ungrouped variables", "definition": "Sbase*abs(IF4)", "description": "", "templateType": "anything", "can_override": false}, "t12f4": {"name": "t12f4", "group": "Ungrouped variables", "definition": "TMS[0]*K[0]/((IF4kA/IP[0])^alpha[0]-1)", "description": "", "templateType": "anything", "can_override": false}, "t24f4": {"name": "t24f4", "group": "Ungrouped variables", "definition": "TMS[2]*K[2]/((IF4kA/IP[2])^alpha[2]-1)", "description": "", "templateType": "anything", "can_override": false}, "FL4G": {"name": "FL4G", "group": "Ungrouped variables", "definition": "Sbase*abs(IF4G)", "description": "", "templateType": "anything", "can_override": false}, "t12f4g": {"name": "t12f4g", "group": "Ungrouped variables", "definition": "TMS[0]*K[0]/((I12GkA/IP[0])^alpha[0]-1)", "description": "", "templateType": "anything", "can_override": false}, "tegf4": {"name": "tegf4", "group": "Ungrouped variables", "definition": "TMS[3]*K[3]/((IEGkA/IP[3])^alpha[3]-1)", "description": "", "templateType": "anything", "can_override": false}, "t24f4g": {"name": "t24f4g", "group": "Ungrouped variables", "definition": "TMS[2]*K[2]/((IF4GkA/IP[2])^alpha[2]-1)", "description": "", "templateType": "anything", "can_override": false}, "X24": {"name": "X24", "group": "Given", "definition": "0.01*random(1..15)", "description": "", "templateType": "anything", "can_override": false}, "IF4": {"name": "IF4", "group": "Ungrouped variables", "definition": "1/(Z12+Z24)", "description": "", "templateType": "anything", "can_override": false}, "Sbase": {"name": "Sbase", "group": "Given", "definition": "10", "description": "", "templateType": "anything", "can_override": false}, "Vbase": {"name": "Vbase", "group": "Given", "definition": "10", "description": "", "templateType": "anything", "can_override": false}, "Z12": {"name": "Z12", "group": "Given", "definition": "R12+i*X12", "description": "", "templateType": "anything", "can_override": false}, "Z23": {"name": "Z23", "group": "Given", "definition": "R23+i*X23", "description": "", "templateType": "anything", "can_override": false}, "Z24": {"name": "Z24", "group": "Given", "definition": "R24+i*X24", "description": "", "templateType": "anything", "can_override": false}, "r24": {"name": "r24", "group": "Given", "definition": "0.1*random(1..2)*x24", "description": "", "templateType": "anything", "can_override": false}, "ZTH": {"name": "ZTH", "group": "Ungrouped variables", "definition": "Z24+(Z12*Z23)/(Z12+Z23)", "description": "", "templateType": "anything", "can_override": false}, "V2": {"name": "V2", "group": "Ungrouped variables", "definition": "Z24*IF4G", "description": "", "templateType": "anything", "can_override": false}, "IF4G": {"name": "IF4G", "group": "Ungrouped variables", "definition": "1/ZTH", "description": "", "templateType": "anything", "can_override": false}, "IF4GkA": {"name": "IF4GkA", "group": "Ungrouped variables", "definition": "IBASE*abs(IF4G)", "description": "", "templateType": "anything", "can_override": false}, "UncoordinatedG": {"name": "UncoordinatedG", "group": "Ungrouped variables", "definition": "award(1, t24f4G>t12f4G || t24f4G>tEGf4)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["curves", "Ks", "alphas", "C", "K", "alpha", "TMS", "IP", "IF2", "IF3", "IF4", "if2ka", "if3ka", "if4ka", "fl2", "fl3", "FL4", "t12f2", "t12f3", "t12f4", "t23f3", "t24f4", "ZTH", "IF4G", "V2", "I12G", "IEG", "FL4G", "IF4GkA", "I12GkA", "IEGkA", "t12f4g", "t24f4g", "tegf4", "suitabilities", "Trippy", "Uncoordinated", "Suitable", "SUITABILITY_TOTAL_GRADE", "suitability_grade", "SuitabilitiesG", "TrippyG", "UncoordinatedG", "UnstableG", "SuitableG", "SUITABILITY_TOTAL_GRADE_G", "suitability_gradeG"], "variable_groups": [{"name": "Given", "variables": ["Sbase", "Vbase", "IBASE", "x12", "r12", "x23", "r23", "X24", "r24", "ILmaxBSP", "ILmax", "ICCg", "tripEGcc", "tccg", "Z12", "Z23", "Z24"]}, {"name": "Pre-Installation", "variables": []}, {"name": "Generator Installed", "variables": []}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": true, "customName": "Pre-Installation", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "With the generator at bus 3 disconnected, and assuming zero fault impedance, what are the symmetrical Fault Levels (in MVA) and Fault Currents (in kA) at buses 2, 3 and 4? Calculate the tripping times for these faults at each relay:
\n| Fault Bus | \nIF [kA] | \nFL [MVA] | \nrelay 1-2 [s] | \nrelay 2-3 [s] | \nrelay 2-4 [s] | \n
| 2 | \n[[0]] | \n[[1]] | \n[[4]] | \nX | \nX | \n
| 3 | \n[[2]] | \n[[3]] | \n[[5]] | \n[[6]] | \nX | \n
| 4 | \n[[7]] | \n[[8]] | \n[[9]] | \nX | \n[[10]] | \n
Plot the inverse time curves for each relay. Are these relays and their settings suitable? (tick as many as apply)
", "minMarks": 0, "maxMarks": "6", "shuffleChoices": false, "displayType": "checkbox", "displayColumns": 0, "minAnswers": 0, "maxAnswers": 0, "warningType": "none", "showCellAnswerState": false, "markingMethod": "sum ticked cells", "choices": "suitabilities", "matrix": "suitability_grade"}, {"type": "gapfill", "useCustomName": true, "customName": "Generator Installed", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "The generator at bus 3 is then deployed, running at full voltage. The generator is protected with an overcurrent relay with the following settings:
\n| Curve Type | \n\n {curves[C[3]]} \n | \n
| TMS | \n\n {TMS[3]} \n | \n
| $I_P [kA]$ | \n\n {IP[3]} \n | \n
Table 3: Relay parameters
\n\nThe generator has a critical point before instability at a current of {ICCG} kA. It can maintain this current for {tccG} seconds before going unstable. The maximum load current from the generator is {1000*ILmax[3]} A.
\nAgain, assuming zero fault impedance, calculate the symmetrical Fault Level (in MVA) and Fault Current (in kA) at bus 4 with the generator installed. Calculate the tripping times for this fault at each relay in this case:
\n| bus | \nIF [kA] | \nFL [MVA] | \nrelay 1-2 [s] | \nrelay 2-4 [s] | \nrelay EG [s] | \n
| 4 | \n[[0]] | \n[[1]] | \n[[2]] | \n[[3]] | \n[[4]] | \n
Add the inverse time curves for bus 3 generator's protection relay to the previous plot. Are these relays and their settings suitable for the scenario with this generator deployed? (tick as many as apply)
", "minMarks": 0, "maxMarks": "8", "shuffleChoices": false, "displayType": "checkbox", "displayColumns": 0, "minAnswers": 0, "maxAnswers": 0, "warningType": "none", "showCellAnswerState": false, "markingMethod": "sum ticked cells", "choices": "suitabilitiesG", "matrix": "suitability_gradeG"}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Protection 3-bus", "extensions": [], "custom_part_types": [], "resources": ["question-resources/EG3Bus.png"], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}], "tags": [], "metadata": {"description": "", "licence": "None specified"}, "statement": "In the system shown in Figure 1, the transformer is connected star-star with both star points grounded and the generator is connected in star with its star point grounded. The generator is operating at full voltage. The per unit sequence impedances of each element on a {SBASE} MVA base are given in Table 1 and the voltage levels are given in Table 2.
\n{image('resources/question-resources/EG3Bus.png')}
\nFigure 1: A section of the distribution system
\n| \n \n | \n\n Transformer \n | \n\n Line \n | \n
| \n R \n | \n\n {RT} \n | \n\n {RL} \n | \n
| \n X \n | \n\n {XT} \n | \n\n {XL} \n | \n
Table 1: Intrinsic impedances (p.u. on {SBASE} MVA base)
\n| \n \n | \n\n Generator \n | \n\n Transformer \n | \n\n Line \n | \n
| \n V BASE \n | \n\n {VG} \n | \n\n {VG}/{VL} \n | \n\n {VL} \n | \n
Table 2: Voltage bases (kV)
\n\n
The system is protected with overcurrent relays at buses 1 and 2, looking downstream, with inverse-time relationships given by:
\n\\[ t = \\frac{TMS \\times K}{{\\left( \\frac{I_F} {I_P}\\right)}^\\alpha - 1} \\]
\nThe relay settings are shown in Table 3.
\n| relay bus | \n\n 1 \n | \n\n 2 \n | \n
| Curve Type | \n\n {curves[C[0]]} \n | \n\n {curves[C[1]]} \n | \n
| TMS | \n\n {TMS[0]} \n | \n\n {TMS[1]} \n | \n
| $I_P [kA]$ | \n\n {IP[0]} \n | \n\n {IP[1]} \n | \n
Table 3: Relay parameters
\nThe generator has a critical point before instability at a current of {ICC[0]} kA. It can maintain this current for {tcc} s before going unstable. The maximum load current from this generator is {1000*ILmax[0]} A.
\n", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "constants": [], "variables": {"VL": {"name": "VL", "group": "Given", "definition": "random([10,11,20])", "description": "", "templateType": "anything", "can_override": false}, "VG": {"name": "VG", "group": "Given", "definition": "random(1..8)", "description": "", "templateType": "anything", "can_override": false}, "SBASE": {"name": "SBASE", "group": "Given", "definition": "random(3 .. 10#1)", "description": "", "templateType": "randrange", "can_override": false}, "rt": {"name": "rt", "group": "Given", "definition": "0.1*random(1..2)*xt", "description": "", "templateType": "anything", "can_override": false}, "rl": {"name": "rl", "group": "Given", "definition": "0.1*random(1..2)*xl", "description": "", "templateType": "anything", "can_override": false}, "xt": {"name": "xt", "group": "Given", "definition": "0.01*random(1..15)", "description": "", "templateType": "anything", "can_override": false}, "xl": {"name": "xl", "group": "Given", "definition": "0.01*random(1..15)", "description": "", "templateType": "anything", "can_override": false}, "IBASE": {"name": "IBASE", "group": "Given", "definition": "[SBASE/(sqrt(3)*VG),SBASE/(sqrt(3)*VL)]", "description": "", "templateType": "anything", "can_override": false}, "icc": {"name": "icc", "group": "Given", "definition": "[precround(random(10..50)*IBASE[0],2),precround(random(10..50)*IBASE[1],2)]", "description": "", "templateType": "anything", "can_override": false}, "tcc": {"name": "tcc", "group": "Given", "definition": "precround(0.01*random(90..120 except 100)*trip12CC,3)", "description": "", "templateType": "anything", "can_override": false}, "ILmax": {"name": "ILmax", "group": "Given", "definition": "[precround(0.01*random(80..120 except 100)*IBASE[0],2),precround(0.01*random(80..120 except 100)*IBASE[1],2)]", "description": "", "templateType": "anything", "can_override": false}, "if2ka": {"name": "if2ka", "group": "Ungrouped variables", "definition": "[IBASE[0]*abs(IF2),IBASE[1]*abs(IF2)]", "description": "", "templateType": "anything", "can_override": false}, "fl2": {"name": "fl2", "group": "Ungrouped variables", "definition": "SBASE*abs(IF2)", "description": "", "templateType": "anything", "can_override": false}, "if3ka": {"name": "if3ka", "group": "Ungrouped variables", "definition": "[IBASE[0]*abs(IF3),IBASE[1]*abs(IF3)]", "description": "", "templateType": "anything", "can_override": false}, "fl3": {"name": "fl3", "group": "Ungrouped variables", "definition": "SBASE*abs(IF3)", "description": "", "templateType": "anything", "can_override": false}, "suitabilities": {"name": "suitabilities", "group": "Ungrouped variables", "definition": "[ 'No, a relay trips for normal current flow',\n 'No, the generator goes unstable before the relay trips',\n 'No, the protection coordination is bad',\n 'Yes, this relay is suitable']", "description": "", "templateType": "anything", "can_override": false}, "t12f2": {"name": "t12f2", "group": "Ungrouped variables", "definition": "TMS[0]*K[0]/((IF2kA[0]/IP[0])^alpha[0]-1)", "description": "", "templateType": "anything", "can_override": false}, "t12f3": {"name": "t12f3", "group": "Ungrouped variables", "definition": "TMS[0]*K[0]/((IF3kA[0]/IP[0])^alpha[0]-1)", "description": "", "templateType": "anything", "can_override": false}, "t23f3": {"name": "t23f3", "group": "Ungrouped variables", "definition": "TMS[1]*K[1]/((IF3kA[1]/IP[1])^alpha[1]-1)", "description": "", "templateType": "anything", "can_override": false}, "TMS": {"name": "TMS", "group": "Ungrouped variables", "definition": "[0.1*random(1..10),0.1*random(1..10),0.1*random(1..10)]", "description": "", "templateType": "anything", "can_override": false}, "IP": {"name": "IP", "group": "Ungrouped variables", "definition": "[precround(0.01*random(90..120 except 100)*ILmax[0],2),precround(0.01*random(80..120 except 100)*ILmax[1],2),precround(0.01*random(80..120 except 100)*ILmaxG,2)]", "description": "", "templateType": "anything", "can_override": false}, "if2kag": {"name": "if2kag", "group": "Ungrouped variables", "definition": "[IBASE[0]*abs(I12G+IEG),IBASE[1]*abs(I12G+IEG)]", "description": "", "templateType": "anything", "can_override": false}, "fl2g": {"name": "fl2g", "group": "Ungrouped variables", "definition": "SBASE*abs(I12G+IEG)", "description": "", "templateType": "anything", "can_override": false}, "t12f2g": {"name": "t12f2g", "group": "Ungrouped variables", "definition": "TMS[0]*K[0]/((I12GkA/IP[0])^alpha[0]-1)", "description": "", "templateType": "anything", "can_override": false}, "tEGf2": {"name": "tEGf2", "group": "Ungrouped variables", "definition": "TMS[2]*K[2]/((IEGkA/IP[2])^alpha[2]-1)", "description": "", "templateType": "anything", "can_override": false}, "curves": {"name": "curves", "group": "Ungrouped variables", "definition": "['standard inverse','very inverse','extremely inverse']", "description": "", "templateType": "anything", "can_override": false}, "C": {"name": "C", "group": "Ungrouped variables", "definition": "[random(0..2),random(0..2),random(0..2)]", "description": "Curve Type: 0 = standard, 1 = very, 2 = extremely
", "templateType": "anything", "can_override": false}, "Ks": {"name": "Ks", "group": "Ungrouped variables", "definition": "[0.14,13.5,80]", "description": "", "templateType": "anything", "can_override": false}, "alphas": {"name": "alphas", "group": "Ungrouped variables", "definition": "[0.02,1,2]", "description": "", "templateType": "anything", "can_override": false}, "K": {"name": "K", "group": "Ungrouped variables", "definition": "[Ks[C[0]],Ks[C[1]],Ks[C[2]]]", "description": "", "templateType": "anything", "can_override": false}, "alpha": {"name": "alpha", "group": "Ungrouped variables", "definition": "[alphas[C[0]],alphas[C[1]],alphas[C[2]]]", "description": "", "templateType": "anything", "can_override": false}, "suitability_grade": {"name": "suitability_grade", "group": "Ungrouped variables", "definition": "[10*if(trippy>0,1,-1)/SUITABILITY_TOTAL_GRADE,10*if(Unstable>0,1,-1)/SUITABILITY_TOTAL_GRADE,10*if(Uncoordinated>0,1,-1)/SUITABILITY_TOTAL_GRADE,10*if(Suitable>0,1,-1)/SUITABILITY_TOTAL_GRADE]", "description": "", "templateType": "anything", "can_override": false}, "suitability_gradeG": {"name": "suitability_gradeG", "group": "Ungrouped variables", "definition": "[8*if(TrippyG>0,1,-1)/SUITABILITY_TOTAL_GRADE_G,8*if(UnstableG>0,1,-1)/SUITABILITY_TOTAL_GRADE_G,8*if(SuitableG>0,1,-1)/SUITABILITY_TOTAL_GRADE_G]", "description": "", "templateType": "anything", "can_override": false}, "Trippy": {"name": "Trippy", "group": "Ungrouped variables", "definition": "award(1, ILmax[0]>IP[0] || ILmax[1]>IP[1])", "description": "", "templateType": "anything", "can_override": false}, "Unstable": {"name": "Unstable", "group": "Ungrouped variables", "definition": "award(1, (TMS[0]*K[0]/((ICC[0]/IP[0])^alpha[0]-1) > tCC) || (TMS[1]*K[1]/((ICC[1]/IP[1])^alpha[1]-1) > tCC))", "description": "", "templateType": "anything", "can_override": false}, "Uncoordinated": {"name": "Uncoordinated", "group": "Ungrouped variables", "definition": "award(1, t23f3>t12f3)", "description": "", "templateType": "anything", "can_override": false}, "Suitable": {"name": "Suitable", "group": "Ungrouped variables", "definition": "award(1, (Trippy+Unstable+Uncoordinated) = 0)", "description": "", "templateType": "anything", "can_override": false}, "TrippyG": {"name": "TrippyG", "group": "Ungrouped variables", "definition": "award(1, ILmaxG>IP[0] || ILmaxG>IP[2])", "description": "", "templateType": "anything", "can_override": false}, "UnstableG": {"name": "UnstableG", "group": "Ungrouped variables", "definition": "award(1, (trip12CC>tCC) || (tripEGCC > tCCG))", "description": "", "templateType": "anything", "can_override": false}, "I12GkA": {"name": "I12GkA", "group": "Ungrouped variables", "definition": "IBASE[0]*abs(I12G)", "description": "", "templateType": "anything", "can_override": false}, "IEGkA": {"name": "IEGkA", "group": "Ungrouped variables", "definition": "IBASE[1]*abs(IEG)", "description": "", "templateType": "anything", "can_override": false}, "i12g": {"name": "i12g", "group": "Ungrouped variables", "definition": "1/(RT+i*XT)", "description": "", "templateType": "anything", "can_override": false}, "ieg": {"name": "ieg", "group": "Ungrouped variables", "definition": "1/(RL+i*XL)", "description": "", "templateType": "anything", "can_override": false}, "iccg": {"name": "iccg", "group": "Given", "definition": "precround(random(10..50)*IBASE[1],2)", "description": "", "templateType": "anything", "can_override": false}, "tccg": {"name": "tccg", "group": "Given", "definition": "precround(0.01*random(90..120 except 100)*tripEGCC,3)", "description": "", "templateType": "anything", "can_override": false}, "ILmaxg": {"name": "ILmaxg", "group": "Given", "definition": "precround(0.01*random(80..120 except 100)*IBASE[1],2)", "description": "", "templateType": "anything", "can_override": false}, "IF2": {"name": "IF2", "group": "Ungrouped variables", "definition": "1/(RT+i*XT)", "description": "", "templateType": "anything", "can_override": false}, "IF3": {"name": "IF3", "group": "Ungrouped variables", "definition": "1/(RT+RL+i*(XT+XL))", "description": "", "templateType": "anything", "can_override": false}, "SuitableG": {"name": "SuitableG", "group": "Ungrouped variables", "definition": "award(1, (TrippyG+UnstableG) = 0)", "description": "", "templateType": "anything", "can_override": false}, "SUITABILITY_TOTAL_GRADE": {"name": "SUITABILITY_TOTAL_GRADE", "group": "Ungrouped variables", "definition": "if((Trippy+Unstable+Uncoordinated+Suitable)>0,Trippy+Unstable+Uncoordinated+Suitable,1)", "description": "", "templateType": "anything", "can_override": false}, "SUITABILITY_TOTAL_GRADE_G": {"name": "SUITABILITY_TOTAL_GRADE_G", "group": "Ungrouped variables", "definition": "if((TrippyG+UnstableG+SuitableG)>0,TrippyG+UnstableG+SuitableG,1)", "description": "", "templateType": "anything", "can_override": false}, "SuitabilitiesG": {"name": "SuitabilitiesG", "group": "Ungrouped variables", "definition": "[ 'No, the relay trips for normal current flow',\n 'No, the system goes unstable before the relay trips',\n 'Yes, this relay is suitable']", "description": "", "templateType": "anything", "can_override": false}, "trip12CC": {"name": "trip12CC", "group": "Ungrouped variables", "definition": "TMS[0]*K[0]/((ICC[0]/IP[0])^alpha[0]-1)", "description": "", "templateType": "anything", "can_override": false}, "tripEGCC": {"name": "tripEGCC", "group": "Ungrouped variables", "definition": "TMS[2]*K[2]/((ICCG/IP[2])^alpha[2]-1)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["curves", "Ks", "alphas", "C", "K", "alpha", "TMS", "IP", "IF2", "IF3", "if2ka", "fl2", "if3ka", "fl3", "t12f2", "t12f3", "t23f3", "i12g", "ieg", "I12GkA", "IEGkA", "if2kag", "fl2g", "t12f2g", "tEGf2", "suitabilities", "Trippy", "Unstable", "Uncoordinated", "Suitable", "SUITABILITY_TOTAL_GRADE", "suitability_grade", "SuitabilitiesG", "TrippyG", "UnstableG", "SuitableG", "SUITABILITY_TOTAL_GRADE_G", "suitability_gradeG", "trip12CC", "tripEGCC"], "variable_groups": [{"name": "Given", "variables": ["SBASE", "VG", "VL", "IBASE", "xt", "rt", "xl", "rl", "ILmax", "icc", "tcc", "iccg", "tccg", "ILmaxg"]}, {"name": "Pre-Installation", "variables": []}, {"name": "Generator Installed", "variables": []}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": true, "customName": "Pre-Installation", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "Assuming zero fault impedance, what are the symmetrical Fault Levels (in MVA) and Fault Currents (in kA) at buses 2 and 3? Calculate the tripping times for these faults at each relay:
\n| Fault Bus | \nIF [kA] | \nFL [MVA] | \nrelay 1-2 [s] | \nrelay 2-3 [s] | \n
| 2 | \n[[0]] | \n[[1]] | \n[[4]] | \nX | \n
| 3 | \n[[2]] | \n[[3]] | \n[[5]] | \n[[6]] | \n
Plot the inverse time curves for each relay. Are these relays and their settings suitable? (tick as many as apply)
", "minMarks": 0, "maxMarks": "10", "shuffleChoices": false, "displayType": "checkbox", "displayColumns": 0, "minAnswers": 0, "maxAnswers": 0, "warningType": "none", "showCellAnswerState": false, "markingMethod": "sum ticked cells", "choices": "suitabilities", "matrix": "suitability_grade"}, {"type": "gapfill", "useCustomName": true, "customName": "Generator Installed", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "A generator is installed at bus 3, running at full voltage. The generator is protected with an overcurrent relay with the following settings:
\n| Curve Type | \n\n {curves[C[2]]} \n | \n
| TMS | \n\n {TMS[2]} \n | \n
| $I_P [kA]$ | \n\n {IP[2]} \n | \n
Table 3: Relay parameters
\n\nThe generator has a critical point before instability at a current of {ICCG} kA. It can maintain this current for {tccG} seconds before going unstable. The maximum load current from the new generator is {1000*ILmaxG} A.
\nAgain, assuming zero fault impedance, calculate the symmetrical Fault Level (in MVA) and Fault Current (in kA) at bus 2 with the generator installed. Calculate the tripping times for this fault at each relay in this case:
\n| bus | \nIF [kA] | \nFL [MVA] | \nrelay 1-2 [s] | \nrelay EG [s] | \n
| 2 | \n[[0]] | \n[[1]] | \n[[2]] | \n[[3]] | \n
Add the inverse time curves for bus 3 generator's protection relay to the previous plot. Are these relays and their settings suitable for the scenario with the new generator installed? (tick as many as apply)
", "minMarks": 0, "maxMarks": "8", "shuffleChoices": false, "displayType": "checkbox", "displayColumns": 0, "minAnswers": 0, "maxAnswers": 0, "warningType": "none", "showCellAnswerState": false, "markingMethod": "sum ticked cells", "choices": "suitabilitiesG", "matrix": "suitability_gradeG"}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}]}], "allowPrinting": true, "navigation": {"allowregen": false, "reverse": false, "browse": false, "allowsteps": false, "showfrontpage": false, "navigatemode": "sequence", "onleave": {"action": "none", "message": ""}, "preventleave": false, "typeendtoleave": false, "startpassword": "", "autoSubmit": true, "allowAttemptDownload": false, "downloadEncryptionKey": "", "showresultspage": "oncompletion"}, "timing": {"allowPause": false, "timeout": {"action": "none", "message": ""}, "timedwarning": {"action": "none", "message": ""}}, "feedback": {"enterreviewmodeimmediately": true, "showactualmarkwhen": "never", "showtotalmarkwhen": "always", "showanswerstatewhen": "always", "showpartfeedbackmessageswhen": "always", "showexpectedanswerswhen": "inreview", "showadvicewhen": "never", "allowrevealanswer": false, "intro": "", "end_message": "", "results_options": {"printquestions": true, "printadvice": true}, "feedbackmessages": [], "reviewshowexpectedanswer": true, "showanswerstate": true, "reviewshowfeedback": false, "showactualmark": false, "showtotalmark": true, "reviewshowscore": false, "reviewshowadvice": false}, "diagnostic": {"knowledge_graph": {"topics": [], "learning_objectives": []}, "script": "diagnosys", "customScript": ""}, "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}], "extensions": [], "custom_part_types": [], "resources": [["question-resources/FA3Bus.png", "/srv/numbas/media/question-resources/FA3Bus.png"], ["question-resources/FA4Bus.png", "/srv/numbas/media/question-resources/FA4Bus.png"], ["question-resources/FA5Bus.png", "/srv/numbas/media/question-resources/FA5Bus.png"], ["question-resources/EG3Bus.png", "/srv/numbas/media/question-resources/EG3Bus.png"], ["question-resources/Protection4Bus_AF81T62.png", "/srv/numbas/media/question-resources/Protection4Bus_AF81T62.png"], ["question-resources/Protection4Bus_OqI6k2p.png", "/srv/numbas/media/question-resources/Protection4Bus_OqI6k2p.png"]]}