// Numbas version: finer_feedback_settings {"name": "Dynamics Protection", "extensions": [], "custom_part_types": [], "resources": [["question-resources/Dynamics2line.png", "/srv/numbas/media/question-resources/Dynamics2line.png"]], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"name": "Dynamics Protection", "tags": [], "metadata": {"description": "", "licence": "None specified"}, "statement": "
In the system shown in Figure 1, a generator is connected to the infinite bus through two lines. The system information is shown in Table 1.
\n{image('resources/question-resources/Dynamics2line.png')}
\nFigure 1: A generator connected to the infinite bus
\n\n Generator reactance \n | \n$X_G$ | \n\n {XG} \n | \n\n p.u. \n | \n
\n Transformer reactance \n | \n$X_T$ | \n\n {XT} \n | \n\n p.u. \n | \n
\n Reactance of each line \n | \n$X_L$ | \n\n {XL} \n | \n\n p.u. \n | \n
\n Generated voltage \n | \n$E$ | \n\n {EG} \n | \n\n p.u. \n | \n
Table 1: System information
\nThe generator is protected with an overcurrent relay with an inverse-time relationship given by:
\n\\[ t = \\frac{K}{{\\left( \\frac{I} {I_P}\\right)}^p - 1} \\]
\nThe relay parameters are shown in Table 2.
\n$K$ | \n\n {K} \n | \n
$p$ | \n\n {p} \n | \n
$I_P$ | \n\n {IP} \n | \n
Table 2: Relay parameters
\n", "advice": "", "rulesets": {}, "extensions": [], "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"EG": {"name": "EG", "group": "Given", "definition": "random(1.01 .. 1.07#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "IP": {"name": "IP", "group": "Given", "definition": "precround(0.1*IL*random(8..15 except 10),2)", "description": "
From 50-150% of the max load current IL. If IP<IL, then trippy, else ok
", "templateType": "anything", "can_override": false}, "KCC": {"name": "KCC", "group": "Given", "definition": "abs(tCC*((ICC/IP)^p-1))", "description": "", "templateType": "anything", "can_override": false}, "p": {"name": "p", "group": "Given", "definition": "random(1 .. 2#1)", "description": "", "templateType": "randrange", "can_override": false}, "XG": {"name": "XG", "group": "Given", "definition": "random(0.1 .. 0.3#0.05)", "description": "", "templateType": "randrange", "can_override": false}, "XT": {"name": "XT", "group": "Given", "definition": "random(0.1 .. 0.3#0.05)", "description": "", "templateType": "randrange", "can_override": false}, "XL": {"name": "XL", "group": "Given", "definition": "random(0.1 .. 0.3#0.05)", "description": "", "templateType": "randrange", "can_override": false}, "X0": {"name": "X0", "group": "IL", "definition": "XG+XT+(XL/2)", "description": "", "templateType": "anything", "can_override": false}, "Evec0": {"name": "Evec0", "group": "IL", "definition": "EG*cos(delta0)+i*EG*sin(delta0)", "description": "", "templateType": "anything", "can_override": false}, "degrees0": {"name": "degrees0", "group": "Given", "definition": "random(10 .. 30#1)", "description": "", "templateType": "randrange", "can_override": false}, "degreesCC": {"name": "degreesCC", "group": "Given", "definition": "random(50 .. 110#1)", "description": "", "templateType": "randrange", "can_override": false}, "t": {"name": "t", "group": "Relay Suitability", "definition": "K/((ICC/IP)^p-1)", "description": "", "templateType": "anything", "can_override": false}, "delta0": {"name": "delta0", "group": "IL", "definition": "pi*degrees0/180", "description": "", "templateType": "anything", "can_override": false}, "ILvec": {"name": "ILvec", "group": "IL", "definition": "(Evec0-1)/(i*X0)", "description": "", "templateType": "anything", "can_override": false}, "IL": {"name": "IL", "group": "IL", "definition": "abs(ILvec)", "description": "", "templateType": "anything", "can_override": false}, "deltaCC": {"name": "deltaCC", "group": "ICC", "definition": "pi*degreesCC/180", "description": "", "templateType": "anything", "can_override": false}, "ICCvec": {"name": "ICCvec", "group": "ICC", "definition": "(EvecC-VTH)/(i*XTH)", "description": "", "templateType": "anything", "can_override": false}, "XTH": {"name": "XTH", "group": "ICC", "definition": "XG+XT+(XL/3)", "description": "", "templateType": "anything", "can_override": false}, "VTH": {"name": "VTH", "group": "ICC", "definition": "0.3333333333333333333333333333333333333333333333333", "description": "", "templateType": "anything", "can_override": false}, "ICC": {"name": "ICC", "group": "ICC", "definition": "abs(ICCvec)", "description": "", "templateType": "anything", "can_override": false}, "suitabilities": {"name": "suitabilities", "group": "Relay Suitability", "definition": "['Yes, this relay is suitable',\n 'No, the relay trips for normal current flow',\n 'No, the system goes unstable before the relay trips']\n", "description": "", "templateType": "anything", "can_override": false}, "Suitable": {"name": "Suitable", "group": "Relay Suitability", "definition": "award(8, (IP>IL AND tFrom 50-150% of the critical K. If K>KC, then t>tCC and unstable, else ok
", "templateType": "anything", "can_override": false}, "EvecC": {"name": "EvecC", "group": "ICC", "definition": "EG*cos(deltaCC)+i*EG*sin(deltaCC)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "Trippy = 8", "maxRuns": "1000"}, "ungrouped_variables": [], "variable_groups": [{"name": "Given", "variables": ["XG", "XT", "XL", "EG", "K", "p", "IP", "degrees0", "degreesCC", "tCC", "KCC"]}, {"name": "IL", "variables": ["delta0", "Evec0", "X0", "ILvec", "IL"]}, {"name": "ICC", "variables": ["deltaCC", "VTH", "XTH", "EvecC", "ICCvec", "ICC"]}, {"name": "Relay Suitability", "variables": ["t", "suitabilities", "Suitable", "Trippy", "Unstable", "suitability"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": true, "customName": "Maximum Load Current $I_L$", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "If the load angle at maximum load is $\\delta = \\var{degrees0} ^o $ calculate the maximum load current.
\n$ I_L $ = [[0]]$p.u.$
", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "IL", "marks": "5", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*IL", "maxValue": "1.01*IL", "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": "Critical Current $I_{CC}$", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "A fault occurs halfway along line L2, with a critical clearing angle of $\\delta_{CC} = \\var{degreesCC}^o$ . Calculate the current flow at this critical point.
\n$ I_{CC} $ = [[0]]$p.u.$
", "gaps": [{"type": "numberentry", "useCustomName": true, "customName": "ICC", "marks": "7", "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "0.99*ICC", "maxValue": "1.01*ICC", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}, {"type": "1_n_2", "useCustomName": true, "customName": "Relay Suitability", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "The critical clearing time for this fault is $t_{CC} = \\var{tcc} s$. Sketch the time-inverse curve and determine whether the relay’s protection settings are adequate.
", "minMarks": 0, "maxMarks": 0, "shuffleChoices": false, "displayType": "radiogroup", "displayColumns": "1", "showCellAnswerState": true, "choices": "suitabilities", "matrix": "suitability"}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always", "type": "question", "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}]}]}], "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}]}