{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-06T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":57497,"title":"Locate image wells","description":"A mathematical model of wells pumping groundwater near a boundary can be constructed using the method of images, which is also used in fluid mechanics, electrodynamics, and other fields. The method involves reflecting each well about the boundary as shown below: the image well lies on a line running through the real well and perpendicular to the boundary, and the distances between the wells and the boundary are equal. \r\nIf a well is pumping water near an impermeable soil unit, then the image well pumps in the same sense (i.e., either both extract water or both inject water): the components of the water velocity perpendicular to the boundary cancel each other and satisfy the condition of no flow across the boundary. If the well is pumping near a river, then the image well pumps in the opposite sense (i.e., one well extracts and the other injects). At the boundary, the water injected by one well replaces the water extracted by the other, and the head, which is related to the water level, is constant on the boundary.\r\nWrite a function that takes coordinates of the real wells and coordinates of two points on the boundary and returns the coordinates of the image wells. For this problem you do not have to indicate the sense of the pumping. \r\n","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 664.7px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 332.35px; transform-origin: 407px 332.35px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 369.933px 8px; transform-origin: 369.933px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA mathematical model of wells pumping groundwater near a boundary can be constructed using the method of images, which is also used in fluid mechanics, electrodynamics, and other fields. The method involves reflecting each well about the boundary as shown below: the image well lies on a line running through the real well and perpendicular to the boundary, and the distances between the wells and the boundary are equal. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 105px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 370.7px 8px; transform-origin: 370.7px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf a well is pumping water near an impermeable soil unit, then the image well pumps in the same sense (i.e., either both extract water or both inject water): the components of the water velocity perpendicular to the boundary cancel each other and satisfy the condition of no flow across the boundary. If the well is pumping near a river, then the image well pumps in the opposite sense (i.e., one well extracts and the other injects). At the boundary, the water injected by one well replaces the water extracted by the other, and the head, which is related to the water level, is constant on the boundary.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 365.892px 8px; transform-origin: 365.892px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that takes coordinates of the real wells and coordinates of two points on the boundary and returns the coordinates of the image wells. For this problem you do not have to indicate the sense of the pumping. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 406.7px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 203.35px; text-align: left; transform-origin: 384px 203.35px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline;width: 610px;height: 401px\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\" width=\"610\" height=\"401\"\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [xI,yI] = locateImages(x,y,xb,yb)\r\n%  x = x-coordinates of the real wells\r\n%  y = y-coordinates of the real wells\r\n%  xb = x-coordinates of two points on the boundary\r\n%  yb = y-coordinates of two points on the boundary\r\n%  xI = x-coordinates of the image wells\r\n%  yI = y-coordinates of the image wells\r\n\r\n   [xI,yI] = reflectAbout(x,y,xb,yb);\r\nend","test_suite":"%% Vertical boundary, one well\r\nx = 100; \r\ny = 0;\r\nxb = [0 0]; \r\nyb = [0 200];\r\nxI_correct = -100;\r\nyI_correct = 0;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Vertical boundary, multiple wells\r\nx = 100*rand(1,2); \r\ny = randi(100,1,2);\r\nxb = [0 0]; \r\nyb = [0 200];\r\nxI_correct = -x;\r\nyI_correct = y;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Horizontal boundary, one well\r\nx = 100; \r\ny = 50;\r\nxb = [0 200]; \r\nyb = [8 8];\r\nxI_correct = 100;\r\nyI_correct = -34;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Vertical boundary, multiple wells\r\nx = 100*rand(1,2); \r\ny = randi(100,1,2);\r\nxb = [-8*pi 8*pi]; \r\nyb = [0 0];\r\nxI_correct = x;\r\nyI_correct = -y;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% C E 473/573 problem\r\nx = 0; \r\ny = 0;\r\nxb = [-550 1050]; \r\nyb = [900 -50];\r\nxI_correct = 503.4657;\r\nyI_correct = 847.9422;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Slanted boundary #1\r\nx = [150 210 280]; \r\ny = [50 70 95];\r\nxb = [0 200]; \r\nyb = [0 300];\r\nxI_correct = [-11.5385 -16.1538 -20];\r\nyI_correct = [157.6923 220.7692 295];\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Slanted boundary #2\r\nx = -[50 65 83 104]; \r\ny = [20 35 49 65];\r\nxb = [-107 -69]; \r\nyb = [57 22];\r\nxI_correct = [-65.4477 -81.6280 -97.0577 -114.7269];\r\nyI_correct = [3.2282 16.9468 33.7374 53.3537];\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Slanted boundary #3\r\nr = 100*rand(1,2);\r\nx = -[50 65 83 104]+r(1); \r\ny = [20 35 49 65]+r(2);\r\nxb = [-107 -69]+r(1); \r\nyb = [57 22]+r(2);\r\nxI_correct = [-65.4477 -81.6280 -97.0577 -114.7269]+r(1);\r\nyI_correct = [3.2282 16.9468 33.7374 53.3537]+r(2);\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%%\r\nfiletext = fileread('locateImages.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'assert') || contains(filetext, 'regexp'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2023-01-03T15:19:27.000Z","deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-01-03T15:19:08.000Z","updated_at":"2026-02-12T14:18:55.000Z","published_at":"2023-01-03T15:19:28.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA mathematical model of wells pumping groundwater near a boundary can be constructed using the method of images, which is also used in fluid mechanics, electrodynamics, and other fields. The method involves reflecting each well about the boundary as shown below: the image well lies on a line running through the real well and perpendicular to the boundary, and the distances between the wells and the boundary are equal. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf a well is pumping water near an impermeable soil unit, then the image well pumps in the same sense (i.e., either both extract water or both inject water): the components of the water velocity perpendicular to the boundary cancel each other and satisfy the condition of no flow across the boundary. If the well is pumping near a river, then the image well pumps in the opposite sense (i.e., one well extracts and the other injects). At the boundary, the water injected by one well replaces the water extracted by the other, and the head, which is related to the water level, is constant on the boundary.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function that takes coordinates of the real wells and coordinates of two points on the boundary and returns the coordinates of the image wells. For this problem you do not have to indicate the sense of the pumping. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"401\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"610\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":57532,"title":"Compute steady drawdown in a confined aquifer","description":"A well extracting water from a confined aquifer will lower the piezometric head and create a cone of depression. In steady state, if the distance  to the point where the drawdown is wanted is smaller than the radius of influence , then the drawdown  of a well pumping at rate  in a confined aquifer of transmissivity  is \r\n\r\nIf the distance  is greater than the radius of influence, then the drawdown is zero. If multiple wells are pumping, the drawdown at the requested point is the sum of the drawdowns from the individual wells. \r\nBoundaries, such as no-flow and constant-head boundaries, can be modeled using the method of images, as described in Cody Problem 57497. Each real well will have a corresponding image, and the drawdown will be the sum of the drawdowns from all wells—real and image. Recall from the previous problem that for no-flow boundaries, the image wells pump in the same sense as the real wells, whereas for constant-head boundaries, the image wells pump in the opposite sense as the real wells. \r\nWrite a function to compute steady-state drawdown in a confined aquifer. Input to the function will be the - and -coordinates of the points where drawdown is requested, the - and -coordinates of the real wells, the pumping rates and radii of influence of the wells, and the transmissivity of the aquifer. If a boundary is present, it will be specified by two pairs of - and -coordinates as well as a character string (‘NF’ for no-flow, ‘CH’ for constant-head).  ","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 369.9px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 184.95px; transform-origin: 407px 184.95px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 64px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 32px; text-align: left; transform-origin: 384px 32px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 376.925px 8px; transform-origin: 376.925px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA well extracting water from a confined aquifer will lower the piezometric head and create a cone of depression. In steady state, if the distance \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003er\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 254.008px 8px; transform-origin: 254.008px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e to the point where the drawdown is wanted is smaller than the radius of influence \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eR\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.1083px 8px; transform-origin: 31.1083px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, then the drawdown \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003es\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 80.125px 8px; transform-origin: 80.125px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e of a well pumping at rate \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAoCAYAAACSN4jeAAAC/0lEQVRYR+1Xu2pVQRRNviCJsUyV2AiCQfKAYAotfAVsVUghCCZqZ6FGsfKFYqtJwDKifoCiWAjGFNEIiggBH5XYmegX6FqwN+wzd2bOPifXkOIMLObeO681az9m386OLdo6tyivjoZYVcs0im22Yr04cKc59E1VAqn5dUzZj81OAceAAeCFbD4i/WP0d4HvGyFZhRjVOQ9clgNPoCcJbRy/BpwB1oGjQG0FvcR245AHwBDwDRgFfiUU+SpKct6Busp5iJHUK6BHiNB8OTNNYXxO5t5Ef6WOScuI0TzLogD3D80XO3MvflyUgTJ1k5zLiD3HyoOyegX9sOP2lhinDwIfHesKU3LEjmPmIzPbe0BIbAJ7PGsnMXVi7ulVi3Otj/H7OFA5OlOKhWpNY/N5563vYx5Thrbt+JCK4Mo+xvzEBFpnc6s0nX+H80IuH1vDLE0PzOyHnJvzVSAZbbP4cNa5tpRYuHmVXHQBu982J6QChgHClvS9mI9tJKqsGZ/gYPqqbQyMW8AksAs4DZyMEWwnsTBgwhdCo9WmDyp8CdgHFHJdKir/mmt68lD4QoRRzPEvsuc2s7e6TYu6KWLvsJgPNpsnVdgUEXN4VTMWSBpoBYU9eSzmK9ZvrAlTUXgDC1guxQJJn72CZXJPkn0nU9nbRmHugde9csQKYzli9It7ABMtC78Z4LNI1Yf+OkD5qeg5IJfd20pMzcX0cVhMQYJvgd8Aa7SXgKeE/i/EqNxDgOVPWZFofe8IvqwKcQ2OnCkvYu4d3aCsHmM401SMUPZUieb8WaIUnZ1ltdZvmsNixDQDFPw4R4w3XgD0zbRq8DNLIW76Gvghg2Pomc1pcr6v6ncszz/ImrDY1JxZ4BIjpv+GWLow/P/IofvRazUbkrTfCyYxA+pn1h14+adAi5IpxXjDWDlM0vyHxHduD9AtB79HvwTw/0EqOukWVJkl1VVZR7JsLSV7mY/llKkzxovxz3KXLP4kRFv22mxi7ss0xNxSycRGsUaxqgpUnf8PbqOmKWAXBIwAAAAASUVORK5CYII=\" alt=\"Q0\" style=\"width: 19px; height: 20px;\" width=\"19\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 118.633px 8px; transform-origin: 118.633px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a confined aquifer of transmissivity \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eT\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 8.94167px 8px; transform-origin: 8.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 38.9px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 19.45px; text-align: left; transform-origin: 384px 19.45px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"s = (Q0/2piT) ln(R/r)\" style=\"width: 97px; height: 39px;\" width=\"97\" height=\"39\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 45.5px 8px; transform-origin: 45.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the distance \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003er\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 310.4px 8px; transform-origin: 310.4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is greater than the radius of influence, then the drawdown is zero. If multiple wells are pumping, the drawdown at the requested point is the sum of the drawdowns from the individual wells. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 105px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 378.892px 8px; transform-origin: 378.892px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBoundaries, such as no-flow and constant-head boundaries, can be modeled using the method of images, as described in \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/57497-locate-image-wells\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCody Problem 57497\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 317.433px 8px; transform-origin: 317.433px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Each real well will have a corresponding image, and the drawdown will be the sum of the drawdowns from all wells—real and image. Recall from the previous problem that for no-flow boundaries, the image wells pump in the same sense as the real wells, whereas for constant-head boundaries, the image wells pump in the opposite sense as the real wells. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 323.875px 8px; transform-origin: 323.875px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to compute steady-state drawdown in a confined aquifer. Input to the function will be the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.8917px 8px; transform-origin: 17.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e- and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ey\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 189.05px 8px; transform-origin: 189.05px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e-coordinates of the points where drawdown is requested, the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.8917px 8px; transform-origin: 17.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e- and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ey\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 150.925px 8px; transform-origin: 150.925px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e-coordinates of the real wells, the pumping rates and radii of influence of the wells, and the transmissivity of the aquifer. If a boundary is present, it will be specified by two pairs of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.8917px 8px; transform-origin: 17.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e- and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ey\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 257.883px 8px; transform-origin: 257.883px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e-coordinates as well as a character string (‘NF’ for no-flow, ‘CH’ for constant-head). \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function s = drawdown(x,y,xw,yw,Q0,R,T,varargin)\r\n%  s = drawdown\r\n%  (x,y) = points where drawdown is requested\r\n%  (xw,yw) = coordinates of real wells\r\n%  Q0 = pumping rates\r\n%  R = radii of influence\r\n%  T = transmissivity\r\n%  varargin:\r\n%     (xb,yb) = coordinates of two points on the boundary\r\n%     btype = type of boundary ('NF' = no-flow, 'CH' = constant-head)\r\ns = (Q0/(2*pi*T)*ln(R/hypot(x-xw,y-yw);\r\nend","test_suite":"%%  Single well in an infinite aquifer\r\nx  = 50;                        %  x-coordinate of drawdown point (m)\r\ny  = 100;                       %  y-coordinate of drawdown point (m)\r\nxw = 0;                         %  x-coordinates of wells (m) \r\nyw = 0;                         %  y-coordinates of wells (m)\r\nQ0 = 800;                       %  Pumping rates (m3/d)\r\nR  = 910;                       %  Radius of influence (m)\r\nT  = 150;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\ns_correct = 1.7797;             \r\nassert(all(abs(s-s_correct)\u003c1e-3))\r\n\r\n%%  Single well in an infinite aquifer, drawdown requested at multiple points\r\nx  = [50 400 93];               %  x-coordinate of drawdown point (m)\r\ny  = [100 818 45];              %  y-coordinate of drawdown point (m)\r\nxw = 0;                         %  x-coordinate of well (m) \r\nyw = 0;                         %  y-coordinate of well (m)\r\nQ0 = 800;                       %  Pumping rate (m3/d)\r\nR  = 910;                       %  Radius of influence (m)\r\nT  = 150;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\ns_correct = [1.7797 0 1.8468];             \r\nassert(all(abs(s-s_correct)\u003c1e-3))\r\n\r\n%%  Single well in an infinite aquifer, drawdown requested at random points\r\nx  = 200*rand(1,8);             %  x-coordinate of drawdown point (m)\r\ny  = zeros(1,8);                %  y-coordinate of drawdown point (m)\r\nxw = 0;                         %  x-coordinate of well (m) \r\nyw = 0;                         %  y-coordinate of well (m)\r\nQ0 = 1200;                      %  Pumping rate (m3/d)\r\nR  = 450;                       %  Radius of influence (m)\r\nT  = 175;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\nassert(all(abs(s(2:end)/s(1)-log(R./x(2:end))/log(R./x(1)))\u003c1e-3))\r\n\r\n%%  Three wells in an infinite aquifer\r\nx  = 0;                         %  x-coordinate of drawdown point (m)\r\ny  = 0;                         %  y-coordinate of drawdown point (m)\r\nxw = [150 200 -300];            %  x-coordinates of wells (m) \r\nyw = [200 -150 100];            %  y-coordinates of wells (m)\r\nQ0 = [1000 1500 2000];          %  Pumping rates (m3/d)\r\nR  = 450;                       %  Radius of influence (m)\r\nT  = 430;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\ns_correct = 0.8050;             \r\nassert(all(abs(s-s_correct)\u003c1e-3))\r\n\r\n%%  Two extraction wells and one injection well in an infinite aquifer\r\nx  = [0 50 270];                %  x-coordinate of drawdown point (m)\r\ny  = [0 100 -180];              %  y-coordinate of drawdown point (m)\r\nxw = [150 200 -300];            %  x-coordinates of wells (m) \r\nyw = [200 -150 100];            %  y-coordinates of wells (m)\r\nQ0 = [1200 -500 800];           %  Pumping rates (m3/d)\r\nR  = [450 280 620];             %  Radius of influence (m)\r\nT  = 340;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\ns_correct = [0.5558 0.8643 -0.2365];             \r\nassert(all(abs(s-s_correct)\u003c1e-3))\r\n\r\n%%  Well near a slanted boundary\r\nx  = 350;                       %  x-coordinate of drawdown point (m)\r\ny  = 100;                       %  y-coordinate of drawdown point (m)\r\nxw = 0;                         %  x-coordinate of well (m) \r\nyw = 0;                         %  y-coordinate of well (m)\r\nQ0 = 300;                       %  Pumping rate (m3/d)\r\nR  = 1000;                      %  Radius of influence (m)\r\nT  = 210;                       %  Transmissivity (m2/d)\r\nxb = [-550 1050];               %  x-coordinates of points on boundary (m)\r\nyb = [900 -50];                 %  y-coordinates of points on boundary (m)\r\nsNB  = drawdown(x,y,xw,yw,Q0,R,T);\r\nsNF  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'NF');\r\nsCH  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'CH');\r\nsNB_correct = 0.2298;\r\nsNF_correct = 0.2911;\r\nsCH_correct = 0.1684;             \r\nassert(all(abs(sNB-sNB_correct)\u003c1e-3))    \r\nassert(all(abs(sNF-sNF_correct)\u003c1e-3))    \r\nassert(all(abs(sCH-sCH_correct)\u003c1e-3))\r\n\r\n%%  Wells near a boundary parallel to the y-axis\r\nx  = [20 50 -320];               %  x-coordinate of drawdown point (m)\r\ny  = [30 46 -300];               %  y-coordinate of drawdown point (m)\r\nxw = [50 75 85 43];              %  x-coordinate of well (m) \r\nyw = [10 35 67 91];              %  y-coordinate of well (m)\r\nQ0 = [150 600 420 80];           %  Pumping rate (m3/d)\r\nR  = 670;                        %  Radius of influence (m)\r\nT  = 195;                        %  Transmissivity (m2/d)\r\nxb = [140 140];                  %  x-coordinates of points on boundary (m)\r\nyb = randi(1500,[1 2]);          %  y-coordinates of points on boundary (m)\r\nsNB  = drawdown(x,y,xw,yw,Q0,R,T);\r\nsNF  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'NF');\r\nsCH  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'CH');\r\nsNB_correct = [2.4837 3.0597 0.2509];\r\nsNF_correct = [3.7791 4.5365 0.3138];\r\nsCH_correct = [1.1884 1.5830 0.1880];             \r\nassert(all(abs(sNB-sNB_correct)\u003c1e-3))    \r\nassert(all(abs(sNF-sNF_correct)\u003c1e-3))    \r\nassert(all(abs(sCH-sCH_correct)\u003c1e-3))\r\n\r\n%%  Wells near a boundary parallel to the x-axis\r\nx  = [0 -20 -40 370];            %  x-coordinate of drawdown point (m)\r\ny  = [0 25 -40 90];              %  y-coordinate of drawdown point (m)\r\nxw = [-72 13 50 -20];            %  x-coordinate of well (m) \r\nyw = [14 28 0 -14];              %  y-coordinate of well (m)\r\nQ0 = [230 410 380 215];          %  Pumping rate (m3/d)\r\nR  = 450;                        %  Radius of influence (m)\r\nT  = 81;                         %  Transmissivity (m2/d)\r\nxb = randi(982,[1 2]);           %  x-coordinates of points on boundary (m)\r\nyb = [-43 -43];          %  y-coordinates of points on boundary (m)\r\nsNB  = drawdown(x,y,xw,yw,Q0,R,T);\r\nsNF  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'NF');\r\nsCH  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'CH');\r\nsNB_correct = [5.8499 5.4446 4.4620 0.4481];\r\nsNF_correct = [9.4217 8.4800 8.7657 0.7035];\r\nsCH_correct = [2.2783 2.4091 0.1584 0.1927];             \r\nassert(all(abs(sNB-sNB_correct)\u003c1e-3))    \r\nassert(all(abs(sNF-sNF_correct)\u003c1e-3))    \r\nassert(all(abs(sCH-sCH_correct)\u003c1e-3))\r\n\r\n%%\r\nfiletext = fileread('drawdown.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":1,"comments_count":4,"created_by":46909,"edited_by":46909,"edited_at":"2023-01-08T16:30:10.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2023-01-08T16:28:26.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2023-01-08T02:57:32.000Z","updated_at":"2026-02-12T14:29:49.000Z","published_at":"2023-01-08T02:58:04.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA well extracting water from a confined aquifer will lower the piezometric head and create a cone of depression. In steady state, if the distance \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"r\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003er\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e to the point where the drawdown is wanted is smaller than the radius of influence \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"R\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eR\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, then the drawdown \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"s\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003es\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e of a well pumping at rate \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"Q0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eQ_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e in a confined aquifer of transmissivity \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"T\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"s = (Q0/2piT) ln(R/r)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003es = \\\\frac{Q_0}{2\\\\pi T} \\\\ln\\\\left(\\\\frac{R}{r}\\\\right)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the distance \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"r\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003er\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is greater than the radius of influence, then the drawdown is zero. If multiple wells are pumping, the drawdown at the requested point is the sum of the drawdowns from the individual wells. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBoundaries, such as no-flow and constant-head boundaries, can be modeled using the method of images, as described in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/57497-locate-image-wells\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCody Problem 57497\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Each real well will have a corresponding image, and the drawdown will be the sum of the drawdowns from all wells—real and image. Recall from the previous problem that for no-flow boundaries, the image wells pump in the same sense as the real wells, whereas for constant-head boundaries, the image wells pump in the opposite sense as the real wells. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function to compute steady-state drawdown in a confined aquifer. Input to the function will be the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"x\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e- and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e-coordinates of the points where drawdown is requested, the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"x\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e- and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e-coordinates of the real wells, the pumping rates and radii of influence of the wells, and the transmissivity of the aquifer. If a boundary is present, it will be specified by two pairs of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"x\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e- and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e-coordinates as well as a character string (‘NF’ for no-flow, ‘CH’ for constant-head). \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":57497,"title":"Locate image wells","description":"A mathematical model of wells pumping groundwater near a boundary can be constructed using the method of images, which is also used in fluid mechanics, electrodynamics, and other fields. The method involves reflecting each well about the boundary as shown below: the image well lies on a line running through the real well and perpendicular to the boundary, and the distances between the wells and the boundary are equal. \r\nIf a well is pumping water near an impermeable soil unit, then the image well pumps in the same sense (i.e., either both extract water or both inject water): the components of the water velocity perpendicular to the boundary cancel each other and satisfy the condition of no flow across the boundary. If the well is pumping near a river, then the image well pumps in the opposite sense (i.e., one well extracts and the other injects). At the boundary, the water injected by one well replaces the water extracted by the other, and the head, which is related to the water level, is constant on the boundary.\r\nWrite a function that takes coordinates of the real wells and coordinates of two points on the boundary and returns the coordinates of the image wells. For this problem you do not have to indicate the sense of the pumping. \r\n","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 664.7px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 332.35px; transform-origin: 407px 332.35px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 369.933px 8px; transform-origin: 369.933px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA mathematical model of wells pumping groundwater near a boundary can be constructed using the method of images, which is also used in fluid mechanics, electrodynamics, and other fields. The method involves reflecting each well about the boundary as shown below: the image well lies on a line running through the real well and perpendicular to the boundary, and the distances between the wells and the boundary are equal. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 105px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 370.7px 8px; transform-origin: 370.7px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf a well is pumping water near an impermeable soil unit, then the image well pumps in the same sense (i.e., either both extract water or both inject water): the components of the water velocity perpendicular to the boundary cancel each other and satisfy the condition of no flow across the boundary. If the well is pumping near a river, then the image well pumps in the opposite sense (i.e., one well extracts and the other injects). At the boundary, the water injected by one well replaces the water extracted by the other, and the head, which is related to the water level, is constant on the boundary.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 365.892px 8px; transform-origin: 365.892px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that takes coordinates of the real wells and coordinates of two points on the boundary and returns the coordinates of the image wells. For this problem you do not have to indicate the sense of the pumping. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 406.7px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 203.35px; text-align: left; transform-origin: 384px 203.35px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline;width: 610px;height: 401px\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\" width=\"610\" height=\"401\"\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [xI,yI] = locateImages(x,y,xb,yb)\r\n%  x = x-coordinates of the real wells\r\n%  y = y-coordinates of the real wells\r\n%  xb = x-coordinates of two points on the boundary\r\n%  yb = y-coordinates of two points on the boundary\r\n%  xI = x-coordinates of the image wells\r\n%  yI = y-coordinates of the image wells\r\n\r\n   [xI,yI] = reflectAbout(x,y,xb,yb);\r\nend","test_suite":"%% Vertical boundary, one well\r\nx = 100; \r\ny = 0;\r\nxb = [0 0]; \r\nyb = [0 200];\r\nxI_correct = -100;\r\nyI_correct = 0;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Vertical boundary, multiple wells\r\nx = 100*rand(1,2); \r\ny = randi(100,1,2);\r\nxb = [0 0]; \r\nyb = [0 200];\r\nxI_correct = -x;\r\nyI_correct = y;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Horizontal boundary, one well\r\nx = 100; \r\ny = 50;\r\nxb = [0 200]; \r\nyb = [8 8];\r\nxI_correct = 100;\r\nyI_correct = -34;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Vertical boundary, multiple wells\r\nx = 100*rand(1,2); \r\ny = randi(100,1,2);\r\nxb = [-8*pi 8*pi]; \r\nyb = [0 0];\r\nxI_correct = x;\r\nyI_correct = -y;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% C E 473/573 problem\r\nx = 0; \r\ny = 0;\r\nxb = [-550 1050]; \r\nyb = [900 -50];\r\nxI_correct = 503.4657;\r\nyI_correct = 847.9422;\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Slanted boundary #1\r\nx = [150 210 280]; \r\ny = [50 70 95];\r\nxb = [0 200]; \r\nyb = [0 300];\r\nxI_correct = [-11.5385 -16.1538 -20];\r\nyI_correct = [157.6923 220.7692 295];\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Slanted boundary #2\r\nx = -[50 65 83 104]; \r\ny = [20 35 49 65];\r\nxb = [-107 -69]; \r\nyb = [57 22];\r\nxI_correct = [-65.4477 -81.6280 -97.0577 -114.7269];\r\nyI_correct = [3.2282 16.9468 33.7374 53.3537];\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%% Slanted boundary #3\r\nr = 100*rand(1,2);\r\nx = -[50 65 83 104]+r(1); \r\ny = [20 35 49 65]+r(2);\r\nxb = [-107 -69]+r(1); \r\nyb = [57 22]+r(2);\r\nxI_correct = [-65.4477 -81.6280 -97.0577 -114.7269]+r(1);\r\nyI_correct = [3.2282 16.9468 33.7374 53.3537]+r(2);\r\n[xI,yI] = locateImages(x,y,xb,yb);\r\nassert(all(abs(xI-xI_correct)\u003c1e-2) \u0026\u0026 all(abs(yI-yI_correct)\u003c1e-2))\r\n\r\n%%\r\nfiletext = fileread('locateImages.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'assert') || contains(filetext, 'regexp'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2023-01-03T15:19:27.000Z","deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-01-03T15:19:08.000Z","updated_at":"2026-02-12T14:18:55.000Z","published_at":"2023-01-03T15:19:28.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA mathematical model of wells pumping groundwater near a boundary can be constructed using the method of images, which is also used in fluid mechanics, electrodynamics, and other fields. The method involves reflecting each well about the boundary as shown below: the image well lies on a line running through the real well and perpendicular to the boundary, and the distances between the wells and the boundary are equal. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf a well is pumping water near an impermeable soil unit, then the image well pumps in the same sense (i.e., either both extract water or both inject water): the components of the water velocity perpendicular to the boundary cancel each other and satisfy the condition of no flow across the boundary. If the well is pumping near a river, then the image well pumps in the opposite sense (i.e., one well extracts and the other injects). At the boundary, the water injected by one well replaces the water extracted by the other, and the head, which is related to the water level, is constant on the boundary.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function that takes coordinates of the real wells and coordinates of two points on the boundary and returns the coordinates of the image wells. For this problem you do not have to indicate the sense of the pumping. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"401\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"610\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":57532,"title":"Compute steady drawdown in a confined aquifer","description":"A well extracting water from a confined aquifer will lower the piezometric head and create a cone of depression. In steady state, if the distance  to the point where the drawdown is wanted is smaller than the radius of influence , then the drawdown  of a well pumping at rate  in a confined aquifer of transmissivity  is \r\n\r\nIf the distance  is greater than the radius of influence, then the drawdown is zero. If multiple wells are pumping, the drawdown at the requested point is the sum of the drawdowns from the individual wells. \r\nBoundaries, such as no-flow and constant-head boundaries, can be modeled using the method of images, as described in Cody Problem 57497. Each real well will have a corresponding image, and the drawdown will be the sum of the drawdowns from all wells—real and image. Recall from the previous problem that for no-flow boundaries, the image wells pump in the same sense as the real wells, whereas for constant-head boundaries, the image wells pump in the opposite sense as the real wells. \r\nWrite a function to compute steady-state drawdown in a confined aquifer. Input to the function will be the - and -coordinates of the points where drawdown is requested, the - and -coordinates of the real wells, the pumping rates and radii of influence of the wells, and the transmissivity of the aquifer. If a boundary is present, it will be specified by two pairs of - and -coordinates as well as a character string (‘NF’ for no-flow, ‘CH’ for constant-head).  ","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 369.9px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 184.95px; transform-origin: 407px 184.95px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 64px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 32px; text-align: left; transform-origin: 384px 32px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 376.925px 8px; transform-origin: 376.925px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA well extracting water from a confined aquifer will lower the piezometric head and create a cone of depression. In steady state, if the distance \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003er\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 254.008px 8px; transform-origin: 254.008px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e to the point where the drawdown is wanted is smaller than the radius of influence \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eR\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.1083px 8px; transform-origin: 31.1083px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, then the drawdown \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003es\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 80.125px 8px; transform-origin: 80.125px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e of a well pumping at rate \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAoCAYAAACSN4jeAAAC/0lEQVRYR+1Xu2pVQRRNviCJsUyV2AiCQfKAYAotfAVsVUghCCZqZ6FGsfKFYqtJwDKifoCiWAjGFNEIiggBH5XYmegX6FqwN+wzd2bOPifXkOIMLObeO681az9m386OLdo6tyivjoZYVcs0im22Yr04cKc59E1VAqn5dUzZj81OAceAAeCFbD4i/WP0d4HvGyFZhRjVOQ9clgNPoCcJbRy/BpwB1oGjQG0FvcR245AHwBDwDRgFfiUU+SpKct6Busp5iJHUK6BHiNB8OTNNYXxO5t5Ef6WOScuI0TzLogD3D80XO3MvflyUgTJ1k5zLiD3HyoOyegX9sOP2lhinDwIfHesKU3LEjmPmIzPbe0BIbAJ7PGsnMXVi7ulVi3Otj/H7OFA5OlOKhWpNY/N5563vYx5Thrbt+JCK4Mo+xvzEBFpnc6s0nX+H80IuH1vDLE0PzOyHnJvzVSAZbbP4cNa5tpRYuHmVXHQBu982J6QChgHClvS9mI9tJKqsGZ/gYPqqbQyMW8AksAs4DZyMEWwnsTBgwhdCo9WmDyp8CdgHFHJdKir/mmt68lD4QoRRzPEvsuc2s7e6TYu6KWLvsJgPNpsnVdgUEXN4VTMWSBpoBYU9eSzmK9ZvrAlTUXgDC1guxQJJn72CZXJPkn0nU9nbRmHugde9csQKYzli9It7ABMtC78Z4LNI1Yf+OkD5qeg5IJfd20pMzcX0cVhMQYJvgd8Aa7SXgKeE/i/EqNxDgOVPWZFofe8IvqwKcQ2OnCkvYu4d3aCsHmM401SMUPZUieb8WaIUnZ1ltdZvmsNixDQDFPw4R4w3XgD0zbRq8DNLIW76Gvghg2Pomc1pcr6v6ncszz/ImrDY1JxZ4BIjpv+GWLow/P/IofvRazUbkrTfCyYxA+pn1h14+adAi5IpxXjDWDlM0vyHxHduD9AtB79HvwTw/0EqOukWVJkl1VVZR7JsLSV7mY/llKkzxovxz3KXLP4kRFv22mxi7ss0xNxSycRGsUaxqgpUnf8PbqOmKWAXBIwAAAAASUVORK5CYII=\" alt=\"Q0\" style=\"width: 19px; height: 20px;\" width=\"19\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 118.633px 8px; transform-origin: 118.633px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a confined aquifer of transmissivity \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eT\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 8.94167px 8px; transform-origin: 8.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 38.9px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 19.45px; text-align: left; transform-origin: 384px 19.45px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"s = (Q0/2piT) ln(R/r)\" style=\"width: 97px; height: 39px;\" width=\"97\" height=\"39\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 45.5px 8px; transform-origin: 45.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the distance \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003er\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 310.4px 8px; transform-origin: 310.4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is greater than the radius of influence, then the drawdown is zero. If multiple wells are pumping, the drawdown at the requested point is the sum of the drawdowns from the individual wells. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 105px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 378.892px 8px; transform-origin: 378.892px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBoundaries, such as no-flow and constant-head boundaries, can be modeled using the method of images, as described in \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/57497-locate-image-wells\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCody Problem 57497\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 317.433px 8px; transform-origin: 317.433px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Each real well will have a corresponding image, and the drawdown will be the sum of the drawdowns from all wells—real and image. Recall from the previous problem that for no-flow boundaries, the image wells pump in the same sense as the real wells, whereas for constant-head boundaries, the image wells pump in the opposite sense as the real wells. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 323.875px 8px; transform-origin: 323.875px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to compute steady-state drawdown in a confined aquifer. Input to the function will be the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.8917px 8px; transform-origin: 17.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e- and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ey\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 189.05px 8px; transform-origin: 189.05px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e-coordinates of the points where drawdown is requested, the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.8917px 8px; transform-origin: 17.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e- and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ey\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 150.925px 8px; transform-origin: 150.925px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e-coordinates of the real wells, the pumping rates and radii of influence of the wells, and the transmissivity of the aquifer. If a boundary is present, it will be specified by two pairs of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.8917px 8px; transform-origin: 17.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e- and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ey\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 257.883px 8px; transform-origin: 257.883px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e-coordinates as well as a character string (‘NF’ for no-flow, ‘CH’ for constant-head). \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function s = drawdown(x,y,xw,yw,Q0,R,T,varargin)\r\n%  s = drawdown\r\n%  (x,y) = points where drawdown is requested\r\n%  (xw,yw) = coordinates of real wells\r\n%  Q0 = pumping rates\r\n%  R = radii of influence\r\n%  T = transmissivity\r\n%  varargin:\r\n%     (xb,yb) = coordinates of two points on the boundary\r\n%     btype = type of boundary ('NF' = no-flow, 'CH' = constant-head)\r\ns = (Q0/(2*pi*T)*ln(R/hypot(x-xw,y-yw);\r\nend","test_suite":"%%  Single well in an infinite aquifer\r\nx  = 50;                        %  x-coordinate of drawdown point (m)\r\ny  = 100;                       %  y-coordinate of drawdown point (m)\r\nxw = 0;                         %  x-coordinates of wells (m) \r\nyw = 0;                         %  y-coordinates of wells (m)\r\nQ0 = 800;                       %  Pumping rates (m3/d)\r\nR  = 910;                       %  Radius of influence (m)\r\nT  = 150;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\ns_correct = 1.7797;             \r\nassert(all(abs(s-s_correct)\u003c1e-3))\r\n\r\n%%  Single well in an infinite aquifer, drawdown requested at multiple points\r\nx  = [50 400 93];               %  x-coordinate of drawdown point (m)\r\ny  = [100 818 45];              %  y-coordinate of drawdown point (m)\r\nxw = 0;                         %  x-coordinate of well (m) \r\nyw = 0;                         %  y-coordinate of well (m)\r\nQ0 = 800;                       %  Pumping rate (m3/d)\r\nR  = 910;                       %  Radius of influence (m)\r\nT  = 150;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\ns_correct = [1.7797 0 1.8468];             \r\nassert(all(abs(s-s_correct)\u003c1e-3))\r\n\r\n%%  Single well in an infinite aquifer, drawdown requested at random points\r\nx  = 200*rand(1,8);             %  x-coordinate of drawdown point (m)\r\ny  = zeros(1,8);                %  y-coordinate of drawdown point (m)\r\nxw = 0;                         %  x-coordinate of well (m) \r\nyw = 0;                         %  y-coordinate of well (m)\r\nQ0 = 1200;                      %  Pumping rate (m3/d)\r\nR  = 450;                       %  Radius of influence (m)\r\nT  = 175;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\nassert(all(abs(s(2:end)/s(1)-log(R./x(2:end))/log(R./x(1)))\u003c1e-3))\r\n\r\n%%  Three wells in an infinite aquifer\r\nx  = 0;                         %  x-coordinate of drawdown point (m)\r\ny  = 0;                         %  y-coordinate of drawdown point (m)\r\nxw = [150 200 -300];            %  x-coordinates of wells (m) \r\nyw = [200 -150 100];            %  y-coordinates of wells (m)\r\nQ0 = [1000 1500 2000];          %  Pumping rates (m3/d)\r\nR  = 450;                       %  Radius of influence (m)\r\nT  = 430;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\ns_correct = 0.8050;             \r\nassert(all(abs(s-s_correct)\u003c1e-3))\r\n\r\n%%  Two extraction wells and one injection well in an infinite aquifer\r\nx  = [0 50 270];                %  x-coordinate of drawdown point (m)\r\ny  = [0 100 -180];              %  y-coordinate of drawdown point (m)\r\nxw = [150 200 -300];            %  x-coordinates of wells (m) \r\nyw = [200 -150 100];            %  y-coordinates of wells (m)\r\nQ0 = [1200 -500 800];           %  Pumping rates (m3/d)\r\nR  = [450 280 620];             %  Radius of influence (m)\r\nT  = 340;                       %  Transmissivity (m2/d)\r\ns  = drawdown(x,y,xw,yw,Q0,R,T);\r\ns_correct = [0.5558 0.8643 -0.2365];             \r\nassert(all(abs(s-s_correct)\u003c1e-3))\r\n\r\n%%  Well near a slanted boundary\r\nx  = 350;                       %  x-coordinate of drawdown point (m)\r\ny  = 100;                       %  y-coordinate of drawdown point (m)\r\nxw = 0;                         %  x-coordinate of well (m) \r\nyw = 0;                         %  y-coordinate of well (m)\r\nQ0 = 300;                       %  Pumping rate (m3/d)\r\nR  = 1000;                      %  Radius of influence (m)\r\nT  = 210;                       %  Transmissivity (m2/d)\r\nxb = [-550 1050];               %  x-coordinates of points on boundary (m)\r\nyb = [900 -50];                 %  y-coordinates of points on boundary (m)\r\nsNB  = drawdown(x,y,xw,yw,Q0,R,T);\r\nsNF  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'NF');\r\nsCH  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'CH');\r\nsNB_correct = 0.2298;\r\nsNF_correct = 0.2911;\r\nsCH_correct = 0.1684;             \r\nassert(all(abs(sNB-sNB_correct)\u003c1e-3))    \r\nassert(all(abs(sNF-sNF_correct)\u003c1e-3))    \r\nassert(all(abs(sCH-sCH_correct)\u003c1e-3))\r\n\r\n%%  Wells near a boundary parallel to the y-axis\r\nx  = [20 50 -320];               %  x-coordinate of drawdown point (m)\r\ny  = [30 46 -300];               %  y-coordinate of drawdown point (m)\r\nxw = [50 75 85 43];              %  x-coordinate of well (m) \r\nyw = [10 35 67 91];              %  y-coordinate of well (m)\r\nQ0 = [150 600 420 80];           %  Pumping rate (m3/d)\r\nR  = 670;                        %  Radius of influence (m)\r\nT  = 195;                        %  Transmissivity (m2/d)\r\nxb = [140 140];                  %  x-coordinates of points on boundary (m)\r\nyb = randi(1500,[1 2]);          %  y-coordinates of points on boundary (m)\r\nsNB  = drawdown(x,y,xw,yw,Q0,R,T);\r\nsNF  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'NF');\r\nsCH  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'CH');\r\nsNB_correct = [2.4837 3.0597 0.2509];\r\nsNF_correct = [3.7791 4.5365 0.3138];\r\nsCH_correct = [1.1884 1.5830 0.1880];             \r\nassert(all(abs(sNB-sNB_correct)\u003c1e-3))    \r\nassert(all(abs(sNF-sNF_correct)\u003c1e-3))    \r\nassert(all(abs(sCH-sCH_correct)\u003c1e-3))\r\n\r\n%%  Wells near a boundary parallel to the x-axis\r\nx  = [0 -20 -40 370];            %  x-coordinate of drawdown point (m)\r\ny  = [0 25 -40 90];              %  y-coordinate of drawdown point (m)\r\nxw = [-72 13 50 -20];            %  x-coordinate of well (m) \r\nyw = [14 28 0 -14];              %  y-coordinate of well (m)\r\nQ0 = [230 410 380 215];          %  Pumping rate (m3/d)\r\nR  = 450;                        %  Radius of influence (m)\r\nT  = 81;                         %  Transmissivity (m2/d)\r\nxb = randi(982,[1 2]);           %  x-coordinates of points on boundary (m)\r\nyb = [-43 -43];          %  y-coordinates of points on boundary (m)\r\nsNB  = drawdown(x,y,xw,yw,Q0,R,T);\r\nsNF  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'NF');\r\nsCH  = drawdown(x,y,xw,yw,Q0,R,T,xb,yb,'CH');\r\nsNB_correct = [5.8499 5.4446 4.4620 0.4481];\r\nsNF_correct = [9.4217 8.4800 8.7657 0.7035];\r\nsCH_correct = [2.2783 2.4091 0.1584 0.1927];             \r\nassert(all(abs(sNB-sNB_correct)\u003c1e-3))    \r\nassert(all(abs(sNF-sNF_correct)\u003c1e-3))    \r\nassert(all(abs(sCH-sCH_correct)\u003c1e-3))\r\n\r\n%%\r\nfiletext = fileread('drawdown.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":1,"comments_count":4,"created_by":46909,"edited_by":46909,"edited_at":"2023-01-08T16:30:10.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2023-01-08T16:28:26.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2023-01-08T02:57:32.000Z","updated_at":"2026-02-12T14:29:49.000Z","published_at":"2023-01-08T02:58:04.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA well extracting water from a confined aquifer will lower the piezometric head and create a cone of depression. In steady state, if the distance \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"r\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003er\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e to the point where the drawdown is wanted is smaller than the radius of influence \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"R\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eR\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, then the drawdown \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"s\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003es\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e of a well pumping at rate \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"Q0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eQ_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e in a confined aquifer of transmissivity \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"T\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"s = (Q0/2piT) ln(R/r)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003es = \\\\frac{Q_0}{2\\\\pi T} \\\\ln\\\\left(\\\\frac{R}{r}\\\\right)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the distance \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"r\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003er\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is greater than the radius of influence, then the drawdown is zero. If multiple wells are pumping, the drawdown at the requested point is the sum of the drawdowns from the individual wells. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBoundaries, such as no-flow and constant-head boundaries, can be modeled using the method of images, as described in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/57497-locate-image-wells\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCody Problem 57497\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Each real well will have a corresponding image, and the drawdown will be the sum of the drawdowns from all wells—real and image. Recall from the previous problem that for no-flow boundaries, the image wells pump in the same sense as the real wells, whereas for constant-head boundaries, the image wells pump in the opposite sense as the real wells. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function to compute steady-state drawdown in a confined aquifer. Input to the function will be the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"x\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e- and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e-coordinates of the points where drawdown is requested, the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"x\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e- and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e-coordinates of the real wells, the pumping rates and radii of influence of the wells, and the transmissivity of the aquifer. If a boundary is present, it will be specified by two pairs of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"x\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e- and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e-coordinates as well as a character string (‘NF’ for no-flow, ‘CH’ for constant-head). \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"method of images\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"method of images\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"method of images\"","","\"","method of images","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fbf306c29f0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fbf306c2810\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fbf306c1eb0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fbf306c2c70\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fbf306c2bd0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fbf306c2b30\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fbf306c2a90\u003e":"tag:\"method of images\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fbf306c2a90\u003e":"tag:\"method of images\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"method of images\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"method of images\"","","\"","method of images","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fbf306c29f0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fbf306c2810\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fbf306c1eb0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fbf306c2c70\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fbf306c2bd0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fbf306c2b30\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fbf306c2a90\u003e":"tag:\"method of images\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fbf306c2a90\u003e":"tag:\"method of images\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":57497,"difficulty_rating":"easy-medium"},{"id":57532,"difficulty_rating":"easy-medium"}]}}