{"id": "example_transonic", "title": "Example: transonic aerofoil with shock capturing", "description": "NACA 0012 at Mach 0.8 and 1.25 degrees (64 x 16 curved elements, p = 2). A modal smoothness sensor switches on a Laplacian artificial viscosity in the few elements that contain the shocks; the term is part of the differentiated residual, so Newton convergence and adjoint derivatives remain exact. Grid-converged Euler values in the literature are about cl = 0.356 and cd = 0.0226 (Vassberg & Jameson 2010).", "passed": true, "checks": [{"name": "converged ten orders (final / reference residual)", "value": 3.910560793798521e-12, "expected": "<= 1e-10", "passed": true}, {"name": "lift coefficient", "value": 0.3505046992527479, "expected": "0.33 \u2026 0.37", "passed": true}, {"name": "drag coefficient (wave drag)", "value": 0.022656429227907, "expected": "0.020 \u2026 0.026", "passed": true}, {"name": "upper-surface shock position x/c", "value": 0.6351436961208696, "expected": "0.55 \u2026 0.70", "passed": true}, {"name": "fraction of elements with artificial viscosity", "value": 0.013671875, "expected": "< 0.05", "passed": true}, {"name": "dcl/dalpha: adjoint vs finite difference (rel.)", "value": 1.4558096697643205e-06, "expected": "< 1e-4", "passed": true}, {"name": "dcd/dalpha: adjoint vs finite difference (rel.)", "value": 9.915982683339025e-07, "expected": "< 1e-4", "passed": true}, {"name": "dcl/dmach: adjoint vs finite difference (rel.)", "value": 9.93652413746335e-06, "expected": "< 1e-4", "passed": true}, {"name": "dcd/dmach: adjoint vs finite difference (rel.)", "value": 3.7500883500402012e-06, "expected": "< 1e-4", "passed": true}], "charts": [{"id": "cp", "type": "line", "title": "Surface pressure coefficient", "xlabel": "x / c", "ylabel": "\u2212cp", "xscale": "linear", "yscale": "linear", "series": [{"name": "upper surface", "x": [0.0, 0.0, 0.00046024769189649626, 0.0018401896315608508, 0.0018401896315608508, 0.0041374238054253205, 0.007347951503475161, 0.007347951503475161, 0.011466184279654294, 0.016484953679465335, 0.016484953679465335, 0.022395523717831527, 0.029187606085500726, 0.029187606085500726, 0.0368493780575224, 0.04536750307262482, 0.04536750307262482, 0.05472715394767085, 0.0649120386867837, 0.0649120386867837, 0.07590442884021781, 0.08768519036361112, 0.08768519036361112, 0.10023381692390416, 0.11352846559395052, 0.11352846559395052, 0.12754599487368706, 0.1422620049716818, 0.1422620049716818, 0.15765088027694232, 0.17368583394705664, 0.17368583394705664, 0.19033895453505248, 0.20758125457381416, 0.20758125457381416, 0.22538272103348742, 0.24371236756404344, 0.24371236756404344, 0.262538288432065, 0.2818277140578686, 0.2818277140578686, 0.3015470680562926, 0.32166202568186025, 0.32166202568186025, 0.34213757357658725, 0.3629380707164301, 0.3629380707164301, 0.3840273104502903, 0.405368583523584, 0.405368583523584, 0.4269247419766748, 0.448658263806945, 0.448658263806945, 0.4705313182819479, 0.49250583178995627, 0.49250583178995627, 0.5145435541132807, 0.5366061250090004, 0.5366061250090004, 0.5586551409812084, 0.5806522221285496, 0.5806522221285496, 0.6025590789506847, 0.6243375789973995, 0.6243375789973995, 0.6459498132443398, 0.6673581620798409, 0.6673581620798409, 0.6885253607879843, 0.7094145644139012, 0.7094145644139012, 0.7299894118984149, 0.750214089370382, 0.750214089370382, 0.7700533924865663, 0.7894727877105266, 0.7894727877105266, 0.8084384724238594, 0.826917433765158, 0.826917433765158, 0.8448775060942729, 0.8622874269818421, 0.8622874269818421, 0.8791168916266388, 0.8953366056060118, 0.8953366056060118, 0.9109183358675965, 0.9258349598735371, 0.9258349598735371, 0.9400605128116789, 0.9535702327915516, 0.9535702327915516, 0.9663406039464685, 0.9783493973667218, 0.9783493973667218, 0.9895757097926171, 1.0, 1.0], "y": [-1.1424203498899304, -1.1392747209649534, -1.002182614589977, -0.7436833652210995, -0.7474402472965647, -0.47250425127174234, -0.21198901597097297, -0.213273530554976, -0.015469241430954739, 0.14259639555753578, 0.14253635837011025, 0.2623531825253389, 0.3603337733862535, 0.3625245390170382, 0.444785767601787, 0.5097343274611594, 0.5146568154957554, 0.5750175463804847, 0.619940244359303, 0.6202875668265109, 0.6715474301974118, 0.7077483027322926, 0.7104421683493038, 0.7491550633945978, 0.7828484625170418, 0.781682145110383, 0.8129117061326485, 0.8422233060217519, 0.8431280293082246, 0.8687081044201934, 0.8928548555573816, 0.8928356918545655, 0.9164595342649808, 0.9377468213932982, 0.9376824189992823, 0.9570939549962882, 0.9757684069517958, 0.9759842571746851, 0.9926782598623574, 1.008560296150085, 1.0085186606983227, 1.0227483045118446, 1.0367114674872207, 1.036623223280225, 1.0485492453817582, 1.0601711381384256, 1.060182235150526, 1.0699911480476825, 1.0797762541990714, 1.0798024262509343, 1.0876836608696365, 1.0956472793965875, 1.0956374320401459, 1.101886567549788, 1.1083568174244314, 1.1083444625018224, 1.1132531495065716, 1.1164339400094154, 1.118446456710012, 1.1235794113869648, 1.1214356624776043, 1.089596586504616, 1.1378194060396902, 0.9641884000315251, 1.0043667803968814, 0.3481973048256479, 0.03740789529520683, 0.022591260182922124, -0.0016197543378626555, 0.0024881450473750455, 0.014520222020140583, -0.0043898615620898696, -0.010910386001637296, -0.011363275336001344, -0.019899277951103134, -0.029894451548996948, -0.030138365500594233, -0.04196446101006446, -0.05529886582765098, -0.05506376226969101, -0.07011135396846191, -0.08610753688532169, -0.0863481868056204, -0.1041183927077034, -0.12321887079962668, -0.12348878935060403, -0.14466390865663925, -0.16777268036898718, -0.16815036361112945, -0.19413074281812692, -0.2228163419067659, -0.22402212182531622, -0.26058058495145175, -0.2822373217015155, -0.3041108037330895, -0.3949805504276611, -0.38205679007265037, -0.3699547522586646]}, {"name": "lower surface", "x": [0.00046024769189649626, 0.0018401896315608508, 0.0018401896315608508, 0.0041374238054253205, 0.007347951503475161, 0.007347951503475161, 0.011466184279654294, 0.016484953679465335, 0.016484953679465335, 0.022395523717831527, 0.029187606085500726, 0.029187606085500726, 0.0368493780575224, 0.04536750307262482, 0.04536750307262482, 0.05472715394767085, 0.0649120386867837, 0.0649120386867837, 0.07590442884021781, 0.08768519036361112, 0.08768519036361112, 0.10023381692390416, 0.11352846559395052, 0.11352846559395052, 0.12754599487368706, 0.1422620049716818, 0.1422620049716818, 0.15765088027694232, 0.17368583394705664, 0.17368583394705664, 0.19033895453505248, 0.20758125457381416, 0.20758125457381416, 0.22538272103348742, 0.24371236756404344, 0.24371236756404344, 0.262538288432065, 0.2818277140578686, 0.2818277140578686, 0.3015470680562926, 0.32166202568186025, 0.32166202568186025, 0.34213757357658725, 0.3629380707164301, 0.3629380707164301, 0.3840273104502903, 0.405368583523584, 0.405368583523584, 0.4269247419766748, 0.448658263806945, 0.448658263806945, 0.4705313182819479, 0.49250583178995627, 0.49250583178995627, 0.5145435541132807, 0.5366061250090004, 0.5366061250090004, 0.5586551409812084, 0.5806522221285496, 0.5806522221285496, 0.6025590789506847, 0.6243375789973995, 0.6243375789973995, 0.6459498132443398, 0.6673581620798409, 0.6673581620798409, 0.6885253607879843, 0.7094145644139012, 0.7094145644139012, 0.7299894118984149, 0.750214089370382, 0.750214089370382, 0.7700533924865663, 0.7894727877105266, 0.7894727877105266, 0.8084384724238594, 0.826917433765158, 0.826917433765158, 0.8448775060942729, 0.8622874269818421, 0.8622874269818421, 0.8791168916266388, 0.8953366056060118, 0.8953366056060118, 0.9109183358675965, 0.9258349598735371, 0.9258349598735371, 0.9400605128116789, 0.9535702327915516, 0.9535702327915516, 0.9663406039464685, 0.9783493973667218, 0.9783493973667218, 0.9895757097926171], "y": [-1.144222510377098, -1.0302143140811117, -1.028707012273427, -0.8530821897533674, -0.6481583112657376, -0.6436262191184019, -0.46457488588632057, -0.3081435540857296, -0.3081008865399415, -0.1817116987582459, -0.075734624238609, -0.07491432404204268, 0.016335731389570007, 0.09427456579019244, 0.09230740269017135, 0.16293536202327674, 0.2204378650315828, 0.22268218010424468, 0.2761596383387672, 0.32146460950706035, 0.323789615893153, 0.36674394286862255, 0.4032963718139555, 0.40553202972444957, 0.44082307656690944, 0.47213803916806096, 0.47031415382172237, 0.501958765975963, 0.5251857938171678, 0.5253219895705112, 0.5508652275332002, 0.5706572127910943, 0.5697450640227031, 0.5888655991583831, 0.6035221071843211, 0.6021441442719038, 0.6147214556388114, 0.6237463156581549, 0.6229698761044549, 0.6234163519503704, 0.6207735566259653, 0.7104907428686793, 0.48302830973577926, 0.27501066783070227, 0.39755732751669415, 0.4128336901936278, 0.3772240620536862, 0.3872805805339947, 0.36883449327846907, 0.3448141505212028, 0.3450625452140772, 0.3227782865586435, 0.3015124891387073, 0.30038431375754193, 0.27868323439912945, 0.2582651478810192, 0.2572679999404539, 0.23650264753396022, 0.21605944828593682, 0.2168621783602167, 0.19616144921978984, 0.17721384944046203, 0.17656464912547154, 0.15736692261665697, 0.13892967151443214, 0.13840210419476895, 0.11967058748426185, 0.10149951424068293, 0.10106575601934997, 0.08251240036857377, 0.06394751503721041, 0.06431300751095437, 0.045234100692816526, 0.02665851867790847, 0.02633866576276045, 0.007068654707701683, -0.012303003895755449, -0.01259599591636995, -0.03290587317913207, -0.0536137900642677, -0.0538947397233569, -0.07588546510306182, -0.09900398976950742, -0.09870651801455299, -0.12362110560150708, -0.1498862912806187, -0.15030532801003238, -0.179302151569519, -0.21221608064588615, -0.21109983440796043, -0.2519205666387565, -0.299553319971809, -0.2788483763208638, -0.3940236420588863]}], "note": "The steepest pressure rise on the upper surface, taken as the shock position, is at x/c = 0.635; artificial viscosity is active in 14 of 1024 elements."}, {"id": "history", "type": "history", "title": "Residual history", "xlabel": "nonlinear iteration", "ylabel": "|Rw|", "xscale": "linear", "yscale": "log", "series": [{"name": "Newton\u2013Krylov with shock capturing", "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241], "y": [0.1105872542353633, 0.089023709337881, 0.08137214338648537, 0.09259095627233822, 0.10547828707498924, 0.08035317379509087, 0.07823255536384276, 0.06899017986391234, 0.049066099076837594, 0.04541774834127749, 0.04082798289304789, 0.04015987026136791, 0.03285378553249687, 0.02769237414189072, 0.023283836129023284, 0.01886511540517525, 0.014821097538382687, 0.013698726857226003, 0.013405156665984061, 0.012987362209729512, 0.012565548491910515, 0.012384175620252253, 0.012275948949899924, 0.012275948949899924, 0.015402405826518348, 0.013927622925561075, 0.015289338570890126, 0.013626156884167144, 0.012654902788294934, 0.011702852912422049, 0.010953415545322073, 0.012091279063340489, 0.012188866754757104, 0.012641855537099468, 0.012541625011693508, 0.012469457244712379, 0.012625566010773826, 0.013514367149722335, 0.013355011403402048, 0.012498140200974561, 0.012194634717668868, 0.011087776323958281, 0.01047394518697671, 0.01038402726811847, 0.009201108401772242, 0.009201108401772242, 0.008832539824201764, 0.009200634084638955, 0.00863557284372081, 0.00870548645508526, 0.008668480595030443, 0.010818983294569817, 0.010663030903151516, 0.011745735393582079, 0.010457497790736979, 0.010443792838402206, 0.01027182492241815, 0.00850319206040337, 0.007841165213526128, 0.007927599275161502, 0.007586469309901563, 0.007100622287954366, 0.006834127473215748, 0.007039583267844719, 0.006494154732822104, 0.0064452033860716304, 0.006282503224159393, 0.005876525810185728, 0.005806373684310469, 0.005617877163979906, 0.005613832433376009, 0.005367493491580488, 0.005371576204551078, 0.005532774048770215, 0.005850358428042242, 0.005629116553245379, 0.005563871904135682, 0.004780940322011275, 0.004594350308975157, 0.004367037120545754, 0.004091135550185113, 0.004186727922572501, 0.004445693370741696, 0.004212660414863887, 0.003988701951682015, 0.004095911301183657, 0.003601401400480795, 0.003554652987118542, 0.003554652987118542, 0.0035682144012068664, 0.0035682144012068664, 0.003303600448483452, 0.0031953993056667044, 0.0031650169468930792, 0.00310558245383787, 0.003078051551272144, 0.003143471438477998, 0.0028476079382934705, 0.002614402673829441, 0.0025667282321950955, 0.0033504908655195595, 0.0026268803144329886, 0.002611892991549528, 0.002888630243070459, 0.002050572807054147, 0.0018601065086535978, 0.0017336951550433058, 0.0016877588885187917, 0.0015583692929291234, 0.0015412659030477937, 0.00144353988014193, 0.001341744503360204, 0.0013207359713425235, 0.001302442587484988, 0.0011827825940718, 0.001023488886165923, 0.0010549246686972274, 0.0010549246686972274, 0.0006297347606829256, 0.0006193801156832976, 0.0006203368364082623, 0.0006399234966997904, 0.0006317890596811135, 0.0007295132514587113, 0.0007538155096735146, 0.0007135332539488022, 0.0007275159944984435, 0.0008266763359922924, 0.0007261906570084584, 0.0007102576022156036, 0.0007225851793707214, 0.0006409725432759593, 0.0007538664104460736, 0.0006936421819437811, 0.0006886500915042174, 0.0007415201009126343, 0.0007415201009126343, 0.000538231117119523, 0.0005300073532296756, 0.0007352475023640533, 0.0004806132474493777, 0.00038771840588652676, 0.00036271499061399414, 0.0003508159949796642, 0.00042198511870705335, 0.00042198511870705335, 0.0004750227079544585, 0.0006643177034922071, 0.0007754398402597328, 0.0007643894034582487, 0.0008067591336157718, 0.0008067591336157718, 0.0006430087658252928, 0.0006523758022381638, 0.0006838321456266804, 0.0007597006688233627, 0.0008567338240099002, 0.0009113168833402563, 0.0008914363280518735, 0.0009196855079885892, 0.0010047830538828211, 0.0010932710728163652, 0.0009674451617555207, 0.0007841385826486708, 0.0008227234135298591, 0.0008510478850357234, 0.0008535229696408726, 0.0008570444643473137, 0.0008603489124012365, 0.0008617367729485059, 0.00086018730439999, 0.0008995805101168544, 0.0009178570889348824, 0.0009262258790291665, 0.0009329931896715796, 0.0009414792611339197, 0.000951956618316647, 0.0009640709710343782, 0.00097865027638846, 0.0009990551150290982, 0.0010295580753332874, 0.0010148932963008686, 0.0010020417494965672, 0.0009906951651807647, 0.0009803952777813914, 0.0009706096215528034, 0.000960810214838733, 0.0009505463655312767, 0.0009394978686804921, 0.0009737866746418695, 0.000989071524044399, 0.0009865466609874965, 0.0009696123590346292, 0.000944044184663433, 0.0009615538881365015, 0.0009880142867658389, 0.0009355117330173342, 0.0009013898719223598, 0.0008921987438652153, 0.0008401209132506409, 0.0008637092691989449, 0.0008265723713052725, 0.0007947197082647266, 0.0007673574233330578, 0.0007436567756349253, 0.0007228078474051979, 0.0007040514773499985, 0.0006867007986986043, 0.0006701560994592368, 0.0006539150615138238, 0.0006375781166839167, 0.0006208488855207544, 0.0006035312606349986, 0.0005855228467670377, 0.0005668039735017027, 0.0005474246526328037, 0.0005708048694536903, 0.0005675074631067349, 0.0005450489463981114, 0.0005107072714579802, 0.00047027586669770853, 0.0004881364597379416, 0.0004260024506928766, 0.0003508431019051299, 0.00028529526468370933, 0.0003077535863403398, 0.00024931960880642993, 0.00020302588729012144, 0.00016615078822490546, 0.0001525630914832696, 0.0001346975156281207, 0.00010958910964550182, 0.00010032726969505667, 8.565173025152677e-05, 6.199777989810539e-05, 3.488606365755872e-05, 1.5391340129730315e-05, 3.512348161806237e-06, 2.2342599769996018e-07, 3.5144541752374998e-09, 4.050893538071883e-11, 4.324581807066411e-13]}]}], "tables": [{"id": "outputs", "title": "Outputs", "columns": ["cl", "cd", "cm", "shock x/c (upper)", "elements with viscosity", "elements", "Newton steps", "field"], "rows": [[0.3505046992527479, 0.022656429227907, -0.039171287574144426, 0.6351436961208696, 14, 1024, 241, "example_transonic/field.json"]]}, {"id": "gradients", "title": "Adjoint derivatives through the shock", "columns": ["derivative", "adjoint", "finite difference", "relative difference"], "rows": [["dcl/dalpha", 17.62194244061849, 17.621916786461632, 1.4558096697643205e-06], ["dcd/dalpha", 1.314586372035494, 1.3145850684952165, 9.915982683339025e-07], ["dcl/dmach", 4.469921514189166, 4.469877099147479, 9.93652413746335e-06], ["dcd/dmach", 0.6887272078512364, 0.6887246250730436, 3.7500883500402012e-06]]}], "provenance": {"version": "0.4.0", "commit": "39979fcf902ad6116eb550b881b4278d4599c8e2", "dirty": false, "describe": "39979fcf90", "device": {"platform": "gpu", "device": "cuda:0", "device_kind": "NVIDIA GeForce RTX 3060 Ti", "jax": "0.11.2", "x64": true}, "timestamp": "2026-11-12T11:37:50-0500"}, "wall_time": 151.78, "level": "quick"}