// Numbas version: finer_feedback_settings {"name": "Dynamics Protection", "extensions": [], "custom_part_types": [], "resources": [["question-resources/Dynamics2line.png", "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')}

\n

Figure 1: A generator connected to the infinite bus

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n

Generator reactance

\n
$X_G$\n

{XG}

\n
\n

p.u.

\n
\n

Transformer reactance

\n
$X_T$\n

{XT}

\n
\n

p.u.

\n
\n

Reactance of each line

\n
$X_L$\n

{XL}

\n
\n

p.u.

\n
\n

Generated voltage

\n
$E$\n

{EG}

\n
\n

p.u.

\n
\n

 Table 1: System information

\n

The generator is protected with an overcurrent relay with an inverse-time relationship given by:

\n

 \\[ t = \\frac{TMS\\times K}{{\\left( \\frac{I} {I_P}\\right)}^\\alpha - 1} \\]

\n

The relay parameters are shown in Table 2.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$TMS$\n

{TMS}

\n
$K$\n

{K}

\n
$\\alpha$\n

{alpha}

\n
$I_P$\n

{IP}

\n
\n

 Table 2: Relay parameters

\n

 

", "advice": "", "rulesets": {}, "extensions": [], "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true, "j": false}, "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(IL*random(80..200 except 100)/100,2)", "description": "

From 50-150% of the max load current IL. If IP<IL, then trippy, else ok

", "templateType": "anything", "can_override": false}, "numeratorCC": {"name": "numeratorCC", "group": "Given", "definition": "abs(tCC*((ICC/IP)^alpha-1))", "description": "", "templateType": "anything", "can_override": false}, "alpha": {"name": "alpha", "group": "Given", "definition": "alphas[curve]", "description": "", "templateType": "anything", "can_override": false}, "XG": {"name": "XG", "group": "Given", "definition": "0.01*random(1..15)", "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}, "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)", "description": "", "templateType": "anything", "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": "TMS*K/((ICC/IP)^alpha-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(1, (IP>IL AND tIP)", "description": "", "templateType": "anything", "can_override": false}, "Unstable": {"name": "Unstable", "group": "Relay Suitability", "definition": "award(1, t>tCC)", "description": "", "templateType": "anything", "can_override": false}, "suitability": {"name": "suitability", "group": "Relay Suitability", "definition": "[grade*Suitable,grade*Trippy,grade*Unstable]", "description": "", "templateType": "anything", "can_override": false}, "tCC": {"name": "tCC", "group": "Given", "definition": "random(0.5 .. 1.5#0.01)", "description": "", "templateType": "randrange", "can_override": false}, "numerator": {"name": "numerator", "group": "Given", "definition": "0.1*numeratorCC*random(7..12 except 10)", "description": "

From 70-120% of the critical numerator. 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}, "TMS": {"name": "TMS", "group": "Given", "definition": "precround(numerator/K,3)", "description": "", "templateType": "anything", "can_override": false}, "K": {"name": "K", "group": "Given", "definition": "Ks[curve]", "description": "", "templateType": "anything", "can_override": false}, "Ks": {"name": "Ks", "group": "Given", "definition": "[0.14,13.5,80]", "description": "", "templateType": "anything", "can_override": false}, "alphas": {"name": "alphas", "group": "Given", "definition": "[0.02,1,2]", "description": "", "templateType": "anything", "can_override": false}, "curve": {"name": "curve", "group": "Given", "definition": "random(0..2)", "description": "", "templateType": "anything", "can_override": false}, "grade": {"name": "grade", "group": "Relay Suitability", "definition": "16", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": "1000"}, "ungrouped_variables": [], "variable_groups": [{"name": "Given", "variables": ["XG", "XT", "XL", "EG", "numerator", "IP", "degrees0", "degreesCC", "tCC", "numeratorCC", "TMS", "K", "alpha", "Ks", "alphas", "curve"]}, {"name": "IL", "variables": ["delta0", "Evec0", "X0", "ILvec", "IL"]}, {"name": "ICC", "variables": ["deltaCC", "VTH", "XTH", "EvecC", "ICCvec", "ICC"]}, {"name": "Relay Suitability", "variables": ["t", "suitabilities", "grade", "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": "10", "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": "14", "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", "showBlankOption": true, "showCellAnswerState": true, "choices": "suitabilities", "matrix": "suitability"}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always", "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}], "resources": ["question-resources/Dynamics2line.png"]}]}], "contributors": [{"name": "Jane Courtney", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2154/"}]}