main.tex 74 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843
  1. % vim: set foldmethod=marker foldmarker=<<<,>>>:
  2. \input{ccmbeamer}
  3. %<<< title, author, institute
  4. \title
  5. [Convergent Slender Body Quadrature]
  6. {Convergent Slender Body Quadrature}
  7. %\author[Dhairya Malhotra]{ \underline{Dhairya~Malhotra}, ~{Alex Barnett}}
  8. \author[Dhairya Malhotra]{Code: {\color{blue} \url{https://github.com/dmalhotra/CSBQ}} \\
  9. \phantom{.}\\
  10. \underline{Dhairya~Malhotra}, ~{Alex Barnett}}
  11. %\institute{Flatiron Institute\\ \mbox{} \\ \pgfuseimage{FIbig} }
  12. %\institute{\pgfuseimage{FIbig} }
  13. %\date[]{Code: {\color{blue} \url{https://github.com/dmalhotra/CSBQ}} \\ June 13, 2024}
  14. \date[]{June 13, 2024}
  15. %>>>
  16. %<<< packages
  17. \usepackage{tikz}
  18. \usetikzlibrary{fit,shapes.geometric,arrows,calc,shapes,decorations.pathreplacing,patterns}
  19. \usepackage{pgfplots,pgfplotstable}
  20. \pgfplotsset{compat=1.17}
  21. \usepackage{mathtools}
  22. \usepackage{multirow}
  23. \usepackage{multimedia}
  24. \usepackage{media9}
  25. %\usepackage{movie15} %(obsolete)
  26. \usepackage{animate}
  27. \usepackage{fp}
  28. %\usepackage{enumitem}
  29. \usepackage{bm}
  30. \beamertemplateballitem % Numbered bullets
  31. \usepackage{xstring}
  32. \usepackage{mathtools}% Loads amsmath
  33. \usepackage{stmaryrd}
  34. \usepackage{amsfonts} %% <- also included by amssymb
  35. \DeclareMathSymbol{\shortminus}{\mathbin}{AMSa}{"39}
  36. \newcommand{\vcenteredinclude}[1]{\begingroup\setbox0=\hbox{{#1}}\parbox{\wd0}{\box0}\endgroup}
  37. %%------------------------------------------------------------------------------
  38. %%- Latin-abbreviations
  39. %%------------------------------------------------------------------------------
  40. \usepackage{expl3}
  41. \ExplSyntaxOn
  42. \newcommand\latinabbrev[1]{
  43. \peek_meaning:NTF . {% Same as \@ifnextchar
  44. #1\@}%
  45. { \peek_catcode:NTF a {% Check whether next char has same catcode as \'a, i.e., is a letter
  46. #1.\@ }%
  47. {#1.\@}}}
  48. \ExplSyntaxOff
  49. %Omit final dot from each def.
  50. \def\eg{\latinabbrev{e.g}}
  51. \def\etal{\latinabbrev{et al}}
  52. \def\etc{\latinabbrev{etc}}
  53. \def\ie{\latinabbrev{i.e}}
  54. \definecolor{DarkGreen}{RGB}{0,130,0}
  55. \usepackage{minted}
  56. \usemintedstyle{vs}
  57. %\usemintedstyle{borland}
  58. %\usemintedstyle{emacs}
  59. %\usemintedstyle{perldoc}
  60. %\usemintedstyle{friendly}
  61. %%\usemintedstyle{pastie}
  62. %%\usemintedstyle{vim}
  63. %>>>
  64. \newcommand\vct[1]{{\ensuremath{\bm{#1}}}}
  65. \newcommand\convop[1]{{\ensuremath{\mathcal{#1}}}}
  66. \newcommand\Real{{\ensuremath{\mathbb{R}}}}
  67. \newcommand\StokesSL{{\ensuremath{\convop{S}}}}
  68. \newcommand\StokesDL{{\ensuremath{\convop{D}}}}
  69. \newcommand\StokesCF{{\ensuremath{\convop{K}}}}
  70. \begin{document}
  71. \setbeamercovered{transparent}% Dim out "inactive" elements
  72. \begin{frame}%<<< Title
  73. \vspace{4em}
  74. \titlepage
  75. \vspace{0.5em}
  76. \begin{columns}
  77. \column{0.8\textwidth}
  78. \column{0.2\textwidth}
  79. \pgfuseimage{FIbig}
  80. \end{columns}
  81. \end{frame}%>>>
  82. \section{Introduction} %<<<
  83. \begin{FIframe}{Motivations}{} %<<<
  84. \vspace{-1.5em}
  85. \begin{columns}[t]
  86. \column{0.5\textwidth}
  87. \vspace{1em}
  88. Stokes simulations with fibers are key to modeling complex fluids
  89. (suspensions, rheology, industrial, biomedical, cellular biophysics).
  90. \only<2->{
  91. \vspace{2em}
  92. {\bf Slender Body Theory (SBT):}
  93. \begin{itemize}
  94. \item Asymptotic expansion in radius ($\varepsilon$) \\
  95. as $\varepsilon \to\ 0$ (Keller-Rubinow '76).
  96. \vspace{1em}
  97. \item Doublet correction to make velocity theta-independent (Johnson '80).
  98. \end{itemize}
  99. %\vspace{1em}
  100. %The force rep w/ plain Stokeslets doesn't make velocity theta-independent on the surface, so the doublet is added to do that better.
  101. %With doublet correction , error $\sim r^2. \log(r)$.
  102. }
  103. %\only<3->{
  104. %\vspace{1em}
  105. %SBT has only very recently been placed on rigorous footing.
  106. %(Koens-Lauga '18, Mori-Ohm-Spirn '19). %(error $\sim r \log^k(r)$)
  107. %}
  108. \column{0.5\textwidth}
  109. \begin{columns}
  110. \column{0.5\textwidth}
  111. \only<1>{\embedvideo{\includegraphics[width=0.99\textwidth]{videos/starfish}}{videos/starfish.mov}}%
  112. %\starttext
  113. % \setupinteraction[state=start]
  114. % \enabletrackers[graphics.locating]
  115. % \externalfigure[sample.mov][width=10cm, height=10cm]
  116. %\stoptext
  117. \only<2->{\includegraphics[width=0.99\textwidth]{videos/starfish1}}\\
  118. Starfish larvae \\
  119. (Gilpin et al. 2016)
  120. \column{0.5\textwidth}
  121. \vspace{1em}
  122. \includegraphics[width=0.99\textwidth]{figs/oocyte} \\
  123. Drosophila oocyte (Stein et al. 2021)
  124. \end{columns}
  125. \centering
  126. \includegraphics[width=0.6\textwidth]{figs/mitosis} \\
  127. Mitotic spindle (Nazockdast et al. 2015)
  128. \end{columns}
  129. \end{FIframe} %>>>
  130. \begin{FIframe}{Slender Body Theory}{} %<<<
  131. {\bf Error estimates:} Rigorous analysis difficult (few very recent studies)
  132. \begin{itemize}
  133. \item classical asymptotics claims: $\varepsilon^2 \log(\varepsilon)$
  134. \item rigorous analysis: $\varepsilon \log^{3/2}(\varepsilon)$ \qquad (Mori-Ohm-Spirn '19)
  135. \item numerical tests: $\varepsilon^{1.7}$ \qquad (Mitchell et al. '21 -- verify close-touching breakdown)\\
  136. \quad close-to-touching with gap of 10$\varepsilon$,~~ only 2.5-digits in the infty-norm.\\
  137. \quad $\varepsilon$=1e-2 ~~only 1-2 digits achievable by SBT.\\
  138. \end{itemize}
  139. \only<1>{
  140. \centering
  141. \includegraphics[width=0.26\textwidth]{figs/cilia.jpg}
  142. \vspace{-2ex}
  143. {\tiny Source: http://remf.dartmouth.edu/imagesindex.html}
  144. }
  145. \only<2>{
  146. \vspace{1em}
  147. \begin{columns}
  148. \column{0.5\textwidth}
  149. \begin{tabular}{| r r r|}
  150. \hline
  151. $\varepsilon$ & $\vct{u}_{exact}$ & Rel-Error \\
  152. \hline
  153. 1e-1 & 6.1492138359856e-2 & 0.5e-2 \\
  154. 1e-2 & 9.0984522324584e-2 & 0.1e-3 \\
  155. 1e-3 & 1.2015655889904e-1 & 0.2e-5 \\
  156. 1e-4 & 1.4931932907587e-1 & 0.2e-7 \\
  157. 1e-5 & 1.7848191313097e-1 & 0.3e-9 \\
  158. \hline
  159. \end{tabular}
  160. %\begin{tabular}{r r r r | c r r r r} // these are for elipse
  161. % \hline
  162. % $\varepsilon$ & $\bm u_0$ & Error \\
  163. % \hline
  164. % $0.1$ & $0.0518$ & $0.7e-2$ \\
  165. % $0.01$ & $0.0736$ & $0.2e-3$ \\
  166. % $0.001$ & $0.0950$ & $0.3e-5$ \\
  167. % $0.0001$ & $0.1163$ & $0.4e-7$ \\
  168. % %$0.00001$ & $0.1377$ & $0.6e-9$ \\
  169. % \hline
  170. %\end{tabular}
  171. % ellipse (semiaxes 2,0.5) radius eps=0.1...
  172. % N=480: L=8.578421775156826 drag force
  173. % F. = 19.17234313264176
  174. % Fexact = 19.31188135187
  175. %
  176. % ellipse (semiaxes 2,0.5) radius eps=0.01...
  177. % N=480: L=8.578421775156826 drag force
  178. % F = 13.58844162453679
  179. % Fexact = 13.59082284902
  180. %
  181. % ellipse (semiaxes 2,0.5) radius eps=0.001...
  182. % N=480: L=8.578421775156826 drag force
  183. % F = 10.52899298797188
  184. % Fexact = 10.52902479066
  185. %
  186. % ellipse (semiaxes 2,0.5) radius eps=0.0001...
  187. % N=480: L=8.578421775156826 drag force
  188. % F. = 8.594914613917958
  189. % Fexact = 8.594914990618
  190. %
  191. % ellipse (semiaxes 2,0.5) radius eps=1e-05...
  192. % N=480: L=8.578421775156826 drag force
  193. % F = 7.261368067858561
  194. % Fexact = 7.2613680720
  195. \column{0.5\textwidth}
  196. \includegraphics[width=0.95\textwidth]{figs/ring-sed}
  197. \end{columns}
  198. }
  199. %\only<3>{
  200. % \center
  201. % \vspace{-0.8em}
  202. % \includegraphics[width=0.78\textwidth]{figs/sbt-close-breakdown}
  203. %}
  204. \only<3>{
  205. \vspace{1em}
  206. {\bf Limitations of SBT:}
  207. \begin{itemize}
  208. \item no convergence analysis for fibers of given nonzero radius. %, you do not know errors in simulation .
  209. \item uncontrolled errors when fibers close $O(\varepsilon)$. %, SBT assumptions break down.
  210. \end{itemize}
  211. Efficient convergent BIE method needed, allowing adaptivity for close interactions.
  212. }
  213. \end{FIframe} %>>>
  214. \begin{FIframe}{Goals}{} %<<<
  215. Solve the slender body BVP
  216. \begin{itemize}
  217. \item in a convergent way.
  218. \item adaptively when fibers become close.
  219. \item efficiently with effort independent of radius.
  220. \end{itemize}
  221. Validate current SBT simulations.
  222. %\vspace{0.5em}
  223. %Most existing qudaratures cannot resolve high aspect ratio geometries.
  224. \vspace{4.5em}
  225. Focus on rigid fibers in this talk ~~--~~ flexible fibers for future.
  226. \vspace{1em}
  227. {\em Related work:} ~~ Mitchell et al, '21 (mixed-BVP corresponding to flexible fiber loop)
  228. %Only loops for now, to avoids complications with endpoint singularities.
  229. %\textcolor{blue}{\bf Quadratures for slender bodies}
  230. %\begin{itemize}
  231. % \item compute interactions of filaments (eg. microtubules) in viscous fluids without asymptotic approximations.
  232. % \item fully resolved boundary-integral formulation; have to deal with highly anisotropic elements.
  233. %\end{itemize}
  234. \end{FIframe} %>>>
  235. %\begin{FIframe}{Motivation}{} %<<<
  236. % \begin{itemize}
  237. % \item aspect ratios of $10^4$ or greater
  238. % \item existing quadrature schemes are not efficient in this regime
  239. % \end{itemize}
  240. %\end{FIframe} %>>>
  241. %\begin{FIframe}{Outline}{} %<<<
  242. %{\large
  243. % \begin{itemize}
  244. % \item Slender Body Quadrature
  245. % \vspace{1em}
  246. % \item Stokes Mobility Problem
  247. % \end{itemize}
  248. %}
  249. %\end{FIframe} %>>>
  250. %>>>
  251. \section{Algorithms} %<<<
  252. \begin{FIframe}{Discretization}{} %<<<
  253. \vspace{-2.0em}
  254. \begin{columns}[t]
  255. \column{0.52\textwidth}
  256. {\bf Geometry description:}
  257. \begin{itemize}
  258. \item parameterization $s$ along fiber length
  259. \item coordinates $x_c(s)$ of centerline curve
  260. \item circular cross-section with radius $\varepsilon(s)$ %at each point along the centerline
  261. \item orientation vector $e_{1}(s)$
  262. \end{itemize}
  263. \vspace{1em}
  264. \only<2>{
  265. {\bf Discretization:}
  266. \begin{itemize}
  267. \item piecewise Chebyshev (order $q$) discretization in $s$ for $x_c(s)$, $\varepsilon(s)$, $e_{1}(s)$ %(either given or selected arbitrarily)
  268. \item Collocation nodes: tensor product of Chebyshev and Fourier discretization in angle with order $N_{\theta}$.
  269. \end{itemize}
  270. }
  271. \column{0.6\textwidth}
  272. \centering
  273. \only<1>{\includegraphics[width=0.99\textwidth]{figs/slender-body4}}
  274. \only<2>{
  275. \begin{tikzpicture}
  276. \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[height=0.99\textheight]{figs/slenderbody-discretization.png}};
  277. \node at (1.2, 6.3) {\Large $N_{\theta}$};
  278. \node (a) at (.7, 6) {};
  279. \node (b) at (-.0, 6) {};
  280. \node at (-1.0, 5.5) {\Large $q$};
  281. \node (d) at (.6, 8.8) {};
  282. \node (c) at (.1, 2.3) {};
  283. \draw[ultra thick, ->] (a) to [out=60,in=120, looseness=2] (b);
  284. \draw[ultra thick, ->] (c) to [out=110,in=230, looseness=1] (d);
  285. \end{tikzpicture}
  286. }
  287. \end{columns}
  288. \end{FIframe} %>>>
  289. \begin{FIframe}{Boundary Quadratures}{} %<<<
  290. \vspace{-0.7em}
  291. $\displaystyle u(x) ~= \int_{\Gamma} \mathcal{K}(x-y)~\sigma(y)~da(y) ~= \sum_{k=1}^{N_{panel}} \int_{\gamma_k} \mathcal{K}(x-y)~\sigma(y)~da(y)$
  292. $\displaystyle \phantom{u(x)} ~= \underbrace{\sum_{x \notin \mathcal{N}(\gamma_k)} \int_{\gamma_k} \mathcal{K}(x-y)~\sigma(y)~da(y)}_{\text{far-field}}~
  293. + \underbrace{\sum_{x \in \mathcal{N}(\gamma_k)} \int_{\gamma_k} \mathcal{K}(x-y)~\sigma(y)~da(y)}_{\text{near interactions}}$
  294. \only<2>{ %<<<
  295. \vspace{2.5em}
  296. {\bf Far field approximation:} %for $x \notin \mathcal{N}(\gamma_k)$
  297. %\vspace{0.5em}
  298. %$\displaystyle \qquad \int_{\gamma_k} \mathcal{K}(x-y)~\sigma(y)~da(y) ~\approx~
  299. % \sum_{i,j} \frac{2 \pi w_i}{N_{\theta}} \mathcal{K}(x-y(s_i,\theta_j))~\sigma(s_i,\theta_j)~J(s_i,\theta_j) $
  300. \vspace{-0.5em}
  301. \begin{columns}
  302. \column{0.5\textwidth}
  303. \begin{itemize}
  304. \item Gauss-Legendre quadrature in $s$.
  305. \item periodic trapezoidal rule in $\theta$.
  306. \item determine $\mathcal{N}(\gamma_k)$ using standard \\
  307. error estimates.
  308. \end{itemize}
  309. \column{0.6\textwidth}
  310. \resizebox{.99\textwidth}{!}{\begin{tikzpicture}
  311. \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=10cm]{figs/bernstein1.png}};
  312. \node at (4.7, 3.1) {$\mathcal{N}(\gamma_i)$};
  313. \node at (6.0, 2.45) {\textcolor{red}{$\gamma_i$}};
  314. \draw [fill=orange, fill opacity=0.35] (2.20,1.70) circle (0.7cm);
  315. \draw [fill=orange, fill opacity=0.35] (2.73,1.97) circle (0.8cm);
  316. \draw [fill=orange, fill opacity=0.35] (3.45,2.17) circle (1.0cm);
  317. \end{tikzpicture}}%
  318. \end{columns}
  319. } %>>>
  320. %\only<3>{ %<<<
  321. % % Ellipse:
  322. % %> theta=0:0.01:2*pi;
  323. % %> x=10*sin(theta);
  324. % %> y=4*cos(theta);
  325. % %> y1=y+((x).^2)*0.03;
  326. % %> hold off; imshow(I); hold on; plot(x*25+554,-y1*20+380, '.k')
  327. % \centering
  328. % \vspace{1em}
  329. % \begin{tikzpicture}
  330. % \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=0.7\textwidth]{figs/bernstein1.png}};
  331. % \node at (4.7, 3.1) {$\mathcal{N}(\gamma_i)$};
  332. % \node at (6.0, 2.45) {\textcolor{red}{$\gamma_i$}};
  333. % \draw [fill=orange, fill opacity=0.35] (2.20,1.70) circle (0.7cm);
  334. % \draw [fill=orange, fill opacity=0.35] (2.73,1.97) circle (0.8cm);
  335. % \draw [fill=orange, fill opacity=0.35] (3.45,2.17) circle (1.0cm);
  336. % \end{tikzpicture}~~%
  337. % \begin{tikzpicture}
  338. % \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=0.31\textwidth, height=0.31\textwidth]{figs/morton.png}};
  339. % \draw [fill=cyan, fill opacity=0.25] (1.655,3.80) +(-14.5pt,-14.5pt) rectangle +(14.5pt,14.5pt) ;
  340. % \draw [fill=cyan, fill opacity=0.25] (1.655,2.73) +(-14.5pt,-14.5pt) rectangle +(14.5pt,14.5pt) ;
  341. % \draw [fill=cyan, fill opacity=0.25] (1.655,1.65) +(-14.5pt,-14.5pt) rectangle +(14.5pt,14.5pt) ;
  342. % \draw [fill=cyan, fill opacity=0.25] (2.730,3.80) +(-14.5pt,-14.5pt) rectangle +(14.5pt,14.5pt) ;
  343. % \draw [fill=cyan, fill opacity=0.25] (2.730,2.73) +(-14.5pt,-14.5pt) rectangle +(14.5pt,14.5pt) ;
  344. % \draw [fill=cyan, fill opacity=0.25] (2.730,1.65) +(-14.5pt,-14.5pt) rectangle +(14.5pt,14.5pt) ;
  345. % \draw [fill=cyan, fill opacity=0.25] (3.805,3.80) +(-14.5pt,-14.5pt) rectangle +(14.5pt,14.5pt) ;
  346. % \draw [fill=cyan, fill opacity=0.25] (3.805,2.73) +(-14.5pt,-14.5pt) rectangle +(14.5pt,14.5pt) ;
  347. % \draw [fill=cyan, fill opacity=0.25] (3.805,1.65) +(-14.5pt,-14.5pt) rectangle +(14.5pt,14.5pt) ;
  348. % \draw [fill=red, fill opacity=0.99] (2.5,2.5) circle (0.09cm);
  349. % \draw [fill=orange, fill opacity=0.5] (2.5,2.5) circle (1.1cm);
  350. % \end{tikzpicture}
  351. %} %>>>
  352. % singular, near and far field evaluation
  353. % finding near-neighbors, Morton ordering, Bernstein ellipse
  354. \end{FIframe} %>>>
  355. \begin{FIframe}{Boundary Quadratures}{} %<<<
  356. \vspace{-1em}
  357. {\bf Near interactions:} for $x \in \mathcal{N}(\gamma_k)$
  358. \vspace{0.3em}
  359. $\displaystyle \int_{\gamma_k} \mathcal{K}(x-y)~\sigma(y)~da(y) ~=~ \int_{s} \int_{\theta} \mathcal{K}(x-y(s,\theta))~\sigma(s,\theta)~J(s,\theta)~d\theta~ds$
  360. \vspace{1.5em}
  361. \begin{columns}
  362. \column{0.5\textwidth}
  363. {\bf Inner integral in $\theta$:}
  364. \begin{itemize}
  365. \item potential from a ring source \\
  366. nearly singular as $x \longrightarrow \gamma_k$.
  367. \end{itemize}
  368. \column{0.47\textwidth}
  369. \resizebox{.99\textwidth}{!}{\begin{tikzpicture} %<<<
  370. \path [draw=none,fill=white!0,even odd rule] (4,0) circle (1.5) (4,0) circle (0.75);
  371. \draw[color=red, ultra thick] (0,0) ellipse (4cm and 1cm);
  372. \draw[color=blue, ultra thick] (4.7,-0.8) circle (1pt);
  373. \node at (5, -0.8) {\color{blue} \Large $x$};
  374. %\node at (5, -0.8) {\color{blue} \Large $x_i$};
  375. \node at (-4.6, 0) {\color{red} \Large $y(\theta)$};
  376. \node at (0, -0.5) {\Large $\theta$};
  377. \node (c) at (-1, -0.75) {};
  378. \node (d) at ( 1, -0.75) {};
  379. \draw[ultra thick, ->] (c) to [out=-5,in=185, looseness=1] (d);
  380. \end{tikzpicture}} %>>>
  381. \end{columns}
  382. \vspace{2em}
  383. {\bf Outer integral in $s$:}
  384. %\begin{itemize}
  385. % \item singular if $x \in \gamma_k$ with logarithmic singularity at $s = s_0$.
  386. % \item $1/|s-s_0|^{\alpha}$ decay as $|s-s_0| \longrightarrow \infty$
  387. %\end{itemize}
  388. \vspace{0.7em}
  389. \begin{tikzpicture}%<<<
  390. \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=0.99\textwidth]{figs/s-quad/surf.png}};
  391. \draw[color=red, ultra thick] (2.7,0.9) circle (1pt);
  392. \node at (2.5, 0.5) {\color{red} \Large $x$};
  393. \draw[ultra thick, ->] (4.3,0.45) to (3.1,0.5);
  394. \node [rotate=-6] at (5.55, 0.25) {log singularity};
  395. \draw[ultra thick, ->] (10.5,-0.25) to (12.1,-0.2);
  396. \node [rotate=-4.5] at (9.5, -0.17) {$|s-s_0|^{-\alpha}$};
  397. \end{tikzpicture}%>>>
  398. \end{FIframe} %>>>
  399. \begin{FIframe}{Fast Modal Green's Function Evaluation}{} %<<<
  400. \vspace{-1em}
  401. \begin{columns}
  402. \column{0.7\textwidth}
  403. \begin{center} %<<<
  404. \resizebox{.99\textwidth}{!}{\begin{tikzpicture}
  405. \path [draw=none,fill=white!0,even odd rule] (4,0) circle (1.5) (4,0) circle (0.75);
  406. \only<2->{\path [draw=none,fill=blue!30,even odd rule] (4,0) circle (1.5) (4,0) circle (0.75);}
  407. \only<3->{\path [draw=none,fill=brown!80,even odd rule] (4,0) circle (0.75) (4,0) circle (0.375);}
  408. \only<3->{\path [draw=none,fill=green!80,even odd rule] (4,0) circle (0.375) (4,0) circle (0.1875);}
  409. \draw[color=red, ultra thick] (0,0) ellipse (4cm and 1cm);
  410. \only<2->{
  411. \draw[fill=black, thick] (-4,0) circle (1pt);
  412. \draw[fill=black, thick] ( 4,0) circle (1pt);
  413. \draw[fill=black, thick] (0,-1) circle (1pt);
  414. \draw[fill=black, thick] (0, 1) circle (1pt);
  415. \draw[fill=black, thick] (-2.828,-0.7071) circle (1pt);
  416. \draw[fill=black, thick] (-2.828, 0.7071) circle (1pt);
  417. \draw[fill=black, thick] ( 2.571,-0.7660) circle (1pt);
  418. \draw[fill=black, thick] ( 2.571, 0.7660) circle (1pt);
  419. \draw[fill=black, thick] (3.464,-.5) circle (1pt);
  420. \draw[fill=black, thick] (3.464, .5) circle (1pt);
  421. \draw[fill=black, thick] (3.759,-.3420) circle (1pt);
  422. \draw[fill=black, thick] (3.759, .3420) circle (1pt);
  423. \draw[fill=black, thick] (3.939,-.1736) circle (1pt);
  424. \draw[fill=black, thick] (3.939, .1736) circle (1pt);
  425. \draw[fill=black, thick] (3.985,-.0872) circle (1pt);
  426. \draw[fill=black, thick] (3.985, .0872) circle (1pt);
  427. }
  428. \only<2->{\draw[fill=blue!30,draw=none] (180:0.75)+(4,0) arc (180:0:0.75) -- (0:1.5)+(4,0) arc (0:180:1.5) -- cycle;}
  429. \only<3->{\draw[fill=brown!80,draw=none] (180:0.375)+(4,0) arc (180:0:0.375) -- (0:0.75)+(4,0) arc (0:180:0.75) -- cycle;}
  430. \only<3->{\draw[fill=green!80,draw=none] (180:0.1875)+(4,0) arc (180:0:0.1875) -- (0:0.375)+(4,0) arc (0:180:0.375) -- cycle;}
  431. \draw[color=blue, ultra thick] (4.7,-0.8) circle (1pt);
  432. \node at (5, -0.8) {\color{blue} \Large $x$};
  433. %\node at (5, -0.8) {\color{blue} \Large $x_i$};
  434. \node at (-4.6, 0) {\color{red} \Large $y(\theta)$};
  435. \node at (0, -0.5) {\Large $\theta$};
  436. \node (c) at (-1, -0.75) {};
  437. \node (d) at ( 1, -0.75) {};
  438. \draw[ultra thick, ->] (c) to [out=-5,in=185, looseness=1] (d);
  439. \end{tikzpicture}}
  440. \end{center} %>>>
  441. \column{0.3\textwidth}
  442. $\displaystyle \int_{\theta} \mathcal{K}(x-y(\theta))~\sigma(\theta)~d\theta$
  443. \end{columns}
  444. %\vspace{-1em}
  445. %\begin{center} %<<<
  446. %\begin{tikzpicture}
  447. % \draw[color=red, ultra thick] (0,0) ellipse (4cm and 1cm);
  448. % \draw[color=blue, ultra thick] (4.7,-0.8) circle (1pt);
  449. % \node at (5, -0.8) {\color{blue} \Large $x$};
  450. % \node at (-4.6, 0) {\color{red} \Large $y(\theta)$};
  451. % \node at (0, -0.5) {\Large $\theta$};
  452. % \node (c) at (-1, -0.75) {};
  453. % \node (d) at ( 1, -0.75) {};
  454. % \draw[ultra thick, ->] (c) to [out=-5,in=185, looseness=1] (d);
  455. %\end{tikzpicture}
  456. %\end{center} %>>>
  457. %$\qquad \displaystyle \int_{\theta} \mathcal{K}(x-y(\theta))~\sigma(\theta)~d\theta ~=~ \sum_n \mathcal{K}_n(x) \widehat{\sigma_n}$
  458. %where, $y(\theta)$ is a circular source loop, and $\mathcal{K}_n(x) = \int_{\theta} e^{-in\theta} \mathcal{K}(x-y(\theta))~d\theta$ are the modal Green's functions.
  459. \vspace{0.5em}
  460. \begin{itemize}
  461. \item Analytic representation in special functions - Young, Hao, Martinsson JCP-2012
  462. \begin{itemize}
  463. \item modal Green's functions -- method of choice for axisymmetric problems.
  464. \end{itemize}
  465. \only<2->{
  466. \vspace{1em}
  467. \item Build special quadrature rules!
  468. \begin{itemize}
  469. \item \eg~ generalized Gaussian quadratures: ~~Bremer, Gimbutas and Rokhlin - SISC 2010.
  470. \only<3->{
  471. \vspace{0.75em}
  472. \item Different rule for each nested annular region (up to $10^{-6}$ from source). %(and different accuracy tolerance $\epsilon$).
  473. \vspace{0.5em}
  474. \!\!\!\!\!$\sim 48$ quadrature nodes for $n_0 = 8$ ~and~ 10-digits accuracy. \\
  475. \!\!\!\!\!$\sim 26M$ modal Green's function evaluations/sec/core (Skylake 2.4GHz)
  476. }
  477. \end{itemize}
  478. }
  479. \end{itemize}
  480. \end{FIframe} %>>>
  481. %\begin{FIframe}{Fast Modal Green's Function Evaluation}{} %<<<
  482. % \vspace{-1.5em}
  483. % \begin{center} %<<<
  484. % \begin{tikzpicture}
  485. % \path [draw=none,fill=blue!30,even odd rule] (4,0) circle (1.5) (4,0) circle (0.75);
  486. % \only<2->{\path [draw=none,fill=brown!80,even odd rule] (4,0) circle (0.75) (4,0) circle (0.375);}
  487. % \only<2->{\path [draw=none,fill=green!80,even odd rule] (4,0) circle (0.375) (4,0) circle (0.1875);}
  488. % \draw[color=red, ultra thick] (0,0) ellipse (4cm and 1cm);
  489. % \draw[fill=blue!30,draw=none] (180:0.75)+(4,0) arc (180:0:0.75) -- (0:1.5)+(4,0) arc (0:180:1.5) -- cycle;
  490. % \only<2->{\draw[fill=brown!80,draw=none] (180:0.375)+(4,0) arc (180:0:0.375) -- (0:0.75)+(4,0) arc (0:180:0.75) -- cycle;}
  491. % \only<2->{\draw[fill=green!80,draw=none] (180:0.1875)+(4,0) arc (180:0:0.1875) -- (0:0.375)+(4,0) arc (0:180:0.375) -- cycle;}
  492. % \draw[color=blue, ultra thick] (4.7,-0.8) circle (1pt);
  493. % \node at (5, -0.8) {\color{blue} \Large $x$};
  494. % \node at (-4.6, 0) {\color{red} \Large $y(\theta)$};
  495. % \node at (0, -0.5) {\Large $\theta$};
  496. % \node (c) at (-1, -0.75) {};
  497. % \node (d) at ( 1, -0.75) {};
  498. % \draw[ultra thick, ->] (c) to [out=-5,in=185, looseness=1] (d);
  499. % \end{tikzpicture}
  500. % \end{center} %>>>
  501. % \vspace{-1em}
  502. % \begin{itemize}
  503. % \item Build special quadrature rule ${\color{red}(w_i, \theta_i)}$ such that,
  504. % \qquad\qquad $\displaystyle \int_{\theta} e^{-in\theta} \mathcal{K}(x-y(\theta))~d\theta ~\approx~ \sum_i {\color{red} w_i} e^{-in\theta_i} \mathcal{K}(x-y({\color{red}\theta_i}))$
  505. % for all Fourier modes ($n \leq n_0$) and all targets $x$ in the annulus.
  506. % \vspace{1em}
  507. % \only<2->{
  508. % \item Different rule for each nested annular region (up to $10^{-6}$ from source). %(and different accuracy tolerance $\epsilon$).
  509. % \vspace{1em}
  510. % \!\!\!\!\!$\sim 48$ quadrature nodes for $n_0 = 8$ ~and~ 10-digits accuracy. \\
  511. % \!\!\!\!\!$\sim 26M$ modal Green's function evaluations/sec/core (Skylake 2.4GHz)
  512. % }
  513. % \end{itemize}
  514. %\end{FIframe} %>>>
  515. %\begin{FIframe}{Generalized Chebyshev Quadratures}{} %<<<
  516. % \vspace{-2em}
  517. % \begin{columns}
  518. % \column{0.5\textwidth}
  519. % \begin{itemize}
  520. % \item Generate several integrands:
  521. % \end{itemize}
  522. % $\qquad\qquad f_i(\theta) = e^{-i n_{i} \theta} \mathcal{K}(x_i - y(\theta))$
  523. % \column{0.5\textwidth}
  524. % \begin{center} %<<<
  525. % \resizebox{.99\textwidth}{!}{\begin{tikzpicture}
  526. % \path [draw=none,fill=blue!30,even odd rule] (4,0) circle (1.5) (4,0) circle (0.75);
  527. % \draw[color=red, ultra thick] (0,0) ellipse (4cm and 1cm);
  528. % \draw[fill=blue!30,draw=none] (180:0.75)+(4,0) arc (180:0:0.75) -- (0:1.5)+(4,0) arc (0:180:1.5) -- cycle;
  529. % \draw[color=blue, ultra thick] (4.7,-0.8) circle (1pt);
  530. % \node at (5, -0.8) {\color{blue} \Large $x_i$};
  531. % \node at (-4.6, 0) {\color{red} \Large $y(\theta)$};
  532. % \node at (0, -0.5) {\Large $\theta$};
  533. % \node (c) at (-1, -0.75) {};
  534. % \node (d) at ( 1, -0.75) {};
  535. % \draw[ultra thick, ->] (c) to [out=-5,in=185, looseness=1] (d);
  536. % \end{tikzpicture}}
  537. % \end{center} %>>>
  538. % \end{columns}
  539. % \only<2->{
  540. % \vspace{0.25em}
  541. % \begin{itemize}
  542. % \item Build an adaptive quadrature rule $(\theta_j, w_j)$ to integrate products $f_i f_k$.
  543. % \vspace{0.75em}
  544. % \only<3->{\item Set matrix $\displaystyle A_{ij} = f_{i}(\theta_j) \sqrt{w_j}$ ~~ and compute its truncated SVD: ~~$A = U \Sigma V^{*}$.}
  545. % \vspace{0.75em}
  546. % \only<4->{\item Compute a column pivoted QR decomposition of $V^{*}$.}
  547. % \vspace{0.75em}
  548. % \only<5->{\item Select nodes corresponding to pivot columns $\{\theta_{j_1}, \cdots, \theta_{j_k}\}$ and \\
  549. % solve least squares problem for the quadrature weights.}
  550. % \end{itemize}
  551. % }
  552. % \vspace{1em}
  553. % \only<6>{
  554. % $\approx 48$ quadrature nodes for $n_0 = 8$ ~and~ 10-digits accuracy. \\
  555. % $\approx 13M$ (complex) modal Green's function evaluations/sec/core (Skylake 2.4GHz)
  556. % }
  557. % % Chebyshev quadrature algorithm
  558. % % modal green's function evaluation rate
  559. %\end{FIframe} %>>>
  560. \begin{FIframe}{Quadratures for Outer Integral}{} %<<<
  561. {\bf Near Interactions:} $x$ is off-surface or adjacent panel
  562. \begin{itemize}
  563. \item panel (Gauss-Lengendre) quadrature with dyadic refienement.
  564. \end{itemize}
  565. \begin{tikzpicture}%<<<
  566. \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=0.99\textwidth]{figs/s-quad/surf.png}};
  567. \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=0.99\textwidth]{figs/s-quad/adap-quad.png}};
  568. \draw[color=red, ultra thick] (2.7,0.5) circle (1pt);
  569. \node at (2.7, 0.25) {\color{red} \Large $x$};
  570. \draw[ultra thick, ->] (7.1,0.1) to (5.5,0.3);
  571. \node [rotate=-4.5] at (9.5, -0.17) {dyadic ref. GL panel quad};
  572. \end{tikzpicture}%>>>
  573. \only<2->{
  574. \vspace{1em}
  575. {\bf Singular Interactions:} $x$ is on-surface
  576. \only<2>{\begin{tikzpicture}%<<<
  577. \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=0.99\textwidth]{figs/s-quad/adap-quad.png}};
  578. \draw[color=red, ultra thick] (2.7,0.9) circle (1pt);
  579. \node at (2.5, 0.5) {\color{red} \Large $x$};
  580. \draw[ultra thick, ->] (3.2,-0.0) to (2.8,0.65);
  581. \node [rotate=0] at (3.5, -0.25) {special quadrature};
  582. \node [rotate=0] at (3.5, -0.70) {for $p(s) \log(s) + q(s)$};
  583. \draw[ultra thick, ->] (7.1,0.1) to (5.5,0.3);
  584. \node [rotate=-4.5] at (9.5, -0.17) {dyadic ref. GL panel quad};
  585. \end{tikzpicture}}%>>>
  586. \only<3->{%<<<
  587. \begin{tikzpicture}%<<<
  588. \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=0.99\textwidth]{figs/s-quad/special-quad.png}};
  589. \draw[color=red, ultra thick] (2.49,0.89) circle (1pt);
  590. \node at (2.4, 0.45) {\color{red} \Large $x$};
  591. \end{tikzpicture}%>>>
  592. {\em Instead build special quadrature rules!}
  593. \begin{itemize}
  594. \item replace composite panel quadratures with a single quadrature.
  595. %\item integrand doesn't have closed form expression, but we can still generate quadrature rules!
  596. \item Separate rules for different aspect ratios ($1$ -- $10^4$ in powers of 2)
  597. \end{itemize}
  598. }%>>>
  599. }
  600. % speedup over adaptive quadrature
  601. \end{FIframe} %>>>
  602. %\begin{FIframe}{Overall Algorithm}{} %<<<
  603. % %TODO: Summary
  604. % \vspace{1em}
  605. % {\bf Discretization:} piecewise polynomial $\times$ Fourier.
  606. % \vspace{1em}
  607. % {\bf Far-field interactions:} standard quadratures (GL $\times$ PTR) + FMM
  608. % \vspace{1em}
  609. % {\bf Near interactions:}
  610. % \begin{itemize}
  611. % \item special quadratures for modal Green's function and singular integral in $s$.
  612. % \item dyadic refined Gauss-Legendre quadrature in $s$ for non-singular case.
  613. % \item build local correction matrix instead of computing on-the-fly.
  614. % \end{itemize}
  615. %\end{FIframe} %>>>
  616. %\begin{frame} %<<<
  617. % \centering
  618. % \huge Numerical Results
  619. %\end{frame} %>>>
  620. %\begin{FIframe}{Numerical Results - comparison with BIEST}{} %<<<
  621. % \begin{columns}
  622. % \column{0.5\textwidth}
  623. % {\bf Green's identity (Laplace):}
  624. % $\Delta u = 0$, ~~ then for ~~ $x \in \Gamma$,
  625. % \vspace{-1em}
  626. % \[ u(x) = \frac{u(x)}{2} + \StokesSL[\partial_{n} u](x) - \StokesDL[u](x) \]
  627. % \column{0.5\textwidth}
  628. % \begin{tikzpicture}
  629. % \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=0.99\textwidth]{figs/biest-conv}}; % R0 = 2, r = 0.5
  630. % \draw [red, ultra thick, ->|](1.15,3.35) -- (1.30,2.99);
  631. % \node at (1.65, 2.50) {\color{red} $0.5$};
  632. % \draw [red, ultra thick, ->|](2.13,1.65) -- (1.98,2.01);
  633. % \draw [red, ultra thick, ->](3.5,1.9) -- (6.1,1.9);
  634. % \node at (4.25, 2.12) {\color{red} $1.0$};
  635. % \end{tikzpicture}
  636. % \end{columns}
  637. % \only<1>{
  638. % \vspace{1em}
  639. % {\bf Boundary Integral Equation Solver for Taylor States (BIEST)\footnotemark}
  640. % \begin{itemize}
  641. % \item quadrature for general toroidal surfaces with uniform grid.
  642. % \item partition-of-unity to separate singular part of boundary integral.
  643. % \item polar coordinate transform for singular integral.
  644. % \end{itemize}
  645. % }
  646. % \only<2>{
  647. % \centering
  648. % \vspace{1em}
  649. % \begin{tabular}{r r r r | c r r r r}
  650. % \hline
  651. % \multicolumn{4}{c|}{Slender-body Quadrature} & \multicolumn{5}{c}{BIEST\footnotemark} \\
  652. % $N$ & $\left\|e\right\|_{\infty}$ & $T_{setup}$ & $T_{eval}$ & $~$ & $N$ & $\left\|e\right\|_{\infty}$ & $T_{setup}$ & $T_{eval}$ \\
  653. % \hline
  654. % 320 & 1.5e-04 & 0.032 & 0.0004 & $~$ & 507 & 2.0e-03 & 0.1319 & 0.0017 \\
  655. % 720 & 3.5e-06 & 0.094 & 0.0013 & $~$ & 1323 & 4.0e-06 & 1.4884 & 0.0042 \\
  656. % 1280 & 5.4e-09 & 0.228 & 0.0033 & $~$ & 2523 & 4.3e-09 & 6.6825 & 0.0313 \\
  657. % 2000 & 2.5e-10 & 0.501 & 0.0079 & $~$ & 4107 & 3.5e-10 & 15.4711 & 0.0862 \\
  658. % \hline
  659. % \end{tabular}
  660. % }
  661. % \footnotetext[1]{JCP 2019 - Malhotra, Cerfon, Imbert-Gérard, O'Neil ({\href{https://github.com/dmalhotra/BIEST}{\textcolor{blue}{https://github.com/dmalhotra/BIEST}}})}
  662. % % Slenderbody - Green's identity test
  663. % % N Setup Eval Error Nelem FourierOrder
  664. % % 80 3.8000e-03 2.0000e-04 1.55153e-01 2 4
  665. % % 80 5.8000e-03 2.0000e-04 5.71073e-03 2 4
  666. % % 320 2.4900e-02 4.0000e-04 6.80325e-03 4 8
  667. % % 320 3.1500e-02 4.0000e-04 1.57426e-04 4 8
  668. % % 720 8.0700e-02 1.3000e-03 2.77260e-05 6 12
  669. % % 720 9.3700e-02 1.3000e-03 3.52629e-06 6 12
  670. % % 720 1.1270e-01 1.3000e-03 3.25405e-07 6 12
  671. % % 1280 2.2890e-01 3.3000e-03 5.48754e-09 8 16
  672. % % 2000 4.3300e-01 7.8000e-03 3.79014e-10 10 20
  673. % % 2000 5.0100e-01 7.9000e-03 2.57239e-10 10 20
  674. % % 2880 8.5870e-01 1.6100e-02 2.73956e-10 12 24
  675. % % 3920 1.3213e+00 2.9200e-02 3.88062e-10 14 28
  676. % % 5120 2.0569e+00 4.8900e-02 6.05052e-10 16 32
  677. % % 5120 2.5004e+00 5.0600e-02 6.57478e-10 16 32
  678. % % BIEST - Green's identity test
  679. % % N T_setup T_eval Error M q N1 N2
  680. % % 507 0.0677 0.0017 6.7e-03 6 4 39 13
  681. % % 507 0.0669 0.0017 6.7e-03 6 4 39 13
  682. % % 507 0.1319 0.0017 2.0e-03 6 6 39 13
  683. % % 507 0.3398 0.0016 5.1e-05 6 10 39 13
  684. % % 867 0.4813 0.0017 4.1e-05 6 12 51 12
  685. % % 1323 1.4884 0.0042 4.0e-06 8 16 63 17
  686. % % 1875 4.0895 0.0177 8.7e-08 12 18 75 25
  687. % % 2523 6.6825 0.0313 4.3e-09 14 20 87 29
  688. % % 3267 10.4136 0.0581 1.1e-09 16 22 99 33
  689. % % 4107 15.4711 0.0862 3.5e-10 18 24 111 37
  690. % % 5043 22.0902 0.1253 1.0e-10 20 26 123 41
  691. % % 6075 30.8523 0.1972 4.1e-11 22 28 135 45
  692. %\end{FIframe} %>>>
  693. %%\begin{FIframe}{Numerical Results}{} %<<<
  694. %% \vspace{-1.5em}
  695. %% \begin{columns}[t]
  696. %% \column{0.66\textwidth}
  697. %% \embedvideo{\includegraphics[width=0.99\textwidth]{videos/tangle}}{videos/tangle.mov}
  698. %% \vspace{-1ex}
  699. %% \begin{columns}
  700. %% \column{0.59\textwidth}
  701. %% Exterior Laplace BVP:
  702. %%
  703. %% \quad $\displaystyle \Delta u = 0, \quad u |_{\Gamma} = 1,$
  704. %% \quad $\displaystyle u(x) \rightarrow 0 ~\text{as}~ |x|\rightarrow 0$
  705. %% \column{0.39\textwidth}
  706. %% wire radius = \\
  707. %% ~~1.5e-3~to~4e-3
  708. %% \vspace{1ex}
  709. %% wire length = 16
  710. %% \end{columns}
  711. %% \column{0.33\textwidth}
  712. %% \includegraphics[width=0.99\textwidth]{figs/tangle-cross-section-potential-laplace.png}
  713. %% \vspace{1ex}
  714. %% \includegraphics[width=0.99\textwidth]{figs/tangle-cross-section-error-laplace.png}
  715. %% \end{columns}
  716. %% % Geometry = Tangle
  717. %% % points / s / core
  718. %% % with fourier order
  719. %% % Stokes and Laplace
  720. %% % with different accuracy
  721. %% % BVP-solve
  722. %%\end{FIframe} %>>>
  723. %%\begin{FIframe}{Numerical Results - Laplace BVP}{} %<<<
  724. %% \vspace{-1em}
  725. %% \begin{columns}
  726. %% \column{0.23\textwidth}
  727. %% \quad$\displaystyle \Delta u = 0$
  728. %% \quad$\displaystyle u |_{\Gamma} = 1$
  729. %% \vspace{1ex}
  730. %% \quad $\displaystyle u(x) \rightarrow 0$ \\
  731. %% \quad as~ $\displaystyle |x|\rightarrow \infty$
  732. %% \column{0.76\textwidth}
  733. %% %\includegraphics[width=0.56\textwidth]{figs/tangle}
  734. %% \includegraphics[width=0.49\textwidth]{figs/tangle-cross-section-potential-laplace.png}
  735. %% \includegraphics[width=0.49\textwidth]{figs/tangle-cross-section-error-laplace.png}
  736. %% \end{columns}
  737. %% \resizebox{1.05\textwidth}{!}{\begin{tabular}{r r r r | r r | r r | r r}
  738. %% \hline
  739. %% & & & & & & \multicolumn{2}{c |}{1-core} & \multicolumn{2}{c }{40-cores} \\
  740. %% $N$ & $N_{panel}$ & $N_{\theta}$ & $\epsilon_{_{GMRES}}$ & $N_{iter}$ & $\left\|e\right\|_{\infty}$ & $T_{setup}~~(N/T_{setup})$ & $T_{solve}$ & $T_{setup}$ & $T_{solve}$ \\
  741. %% \hline
  742. %% 2.8e3 & 70 & 4 & 1e-02 & 4 & 4.2e-02 & 0.13 ~~~~~~(2.1e4) & 0.03 & 0.020 & 0.013 \\
  743. %% %4.9e3 & 122 & 4 & 1e-03 & 7 & 4.9e-03 & 0.23 ~~~~~~(2.1e4) & 0.16 & 0.020 & 0.027 \\
  744. %% 1.4e4 & 172 & 8 & 1e-04 & 10 & 1.0e-03 & 0.72 ~~~~~~(1.9e4) & 1.81 & 0.051 & 0.094 \\
  745. %% 3.0e4 & 252 & 12 & 1e-05 & 14 & 3.1e-05 & 1.82 ~~~~~~(1.6e4) & 12.25 & 0.091 & 2.527 \\
  746. %% 3.1e4 & 262 & 12 & 1e-07 & 20 & 2.4e-07 & 2.47 ~~~~~~(1.2e4) & 18.97 & 0.213 & 4.239 \\
  747. %% 6.5e4 & 272 & 24 & 1e-09 & 28 & 1.1e-09 & 7.74 ~~~~~~(8.4e3) & 114.05 & 0.325 & 7.136 \\
  748. %% %7.7e4 & 276 & 28 & 1e-11 & 35 & 6.6e-11 & 11.75 ~~~~~~(6.5e3) & 200.05 & 0.539 & 10.690 \\
  749. %% \hline
  750. %% \end{tabular}}
  751. %% % Tangle BVP - Laplace
  752. %% % geom gmres_tol tol N Nelem FourierOrder iter MaxError L2-error T_setup setup-rate T_solve T_setup T_solve
  753. %% % tangle50 1e-2 1e-3 2800 70 4 4 4.2e-2 9.2e-4 0.1302 21505 0.0314 0.0200 0.0131
  754. %% % tangle100 1e-3 1e-4 4880 122 4 7 4.9e-3 6.9e-5 0.2338 20873 0.1617 0.0195 0.0272
  755. %% % tangle150 1e-4 1e-5 13760 172 8 10 1.0e-3 8.5e-6 0.7216 19069 1.8098 0.0514 0.0940
  756. %% % tangle230 1e-5 1e-6 30240 252 12 14 3.1e-5 8.1e-7 1.8162 16650 12.2452 0.0905 2.5270
  757. %% % tangle240 1e-7 1e-8 31440 262 12 20 2.4e-7 8.2e-9 2.4693 12732 18.9716 0.2125 4.2385
  758. %% % tangle250 1e-9 1e-10 65280 272 24 28 1.1e-9 4.5e-11 7.7427 8431 114.0527 0.3250 7.1356
  759. %% % tangle254 1e-11 1e-12 77280 276 28 35 6.6e-11 5.5e-13 11.7547 6574 200.0480 0.5391 10.6896
  760. %%\end{FIframe} %>>>
  761. \begin{FIframe}{Numerical Results - Stokes BVP}{} %<<<
  762. \vspace{-1.5em}
  763. \embedvideo{\includegraphics[width=0.6\textwidth]{videos/tangle}}{videos/tangle.mov}
  764. \includegraphics[width=0.39\textwidth]{figs/tangle-stokes-streamlines.png}
  765. \vspace{-1.0em}
  766. \begin{columns}[t]
  767. \column{0.25\textwidth}
  768. {\bf Exterior Stokes Dirichlet BVP:}
  769. \quad $\displaystyle \Delta {\bm u} - \nabla p = 0,$
  770. \quad $\displaystyle \nabla \cdot {\bm u} = 0,$
  771. \column{0.4\textwidth}
  772. \vspace{1.2em}
  773. \quad $\displaystyle {\bm u} |_{\Gamma} = {\bm u_0},$
  774. \quad $\displaystyle u(x) \rightarrow 0 ~\text{as}~ |x|\rightarrow 0 ,$
  775. \column{0.33\textwidth}
  776. \vspace{1.2em}
  777. wire radius =
  778. ~1.5e-3~to~4e-3
  779. \vspace{0.2ex}
  780. wire length = 16
  781. %\includegraphics[width=0.99\textwidth]{figs/tangle-stokes-streamlines.png}
  782. %\vspace{1ex}
  783. %\includegraphics[width=0.99\textwidth]{figs/tangle-cross-section-error-stokes.png}
  784. \end{columns}
  785. \vspace{1.0em}
  786. {\bf BIE formulation:}\quad
  787. $
  788. \displaystyle (I/2 + D + S~/~({\color{red}2 \varepsilon \log \varepsilon^{-1}}) ) \, {\bm \sigma} = {\bm u_0}
  789. $
  790. % Geometry = Tangle
  791. % points / s / core
  792. % with fourier order
  793. % Stokes and Laplace
  794. % with different accuracy
  795. % BVP-solve
  796. \end{FIframe} %>>>
  797. \begin{FIframe}{Numerical Results - Stokes BVP}{} %<<<
  798. \centering
  799. \vspace{-1.5em}
  800. \includegraphics[width=0.35\textwidth]{figs/tangle-stokes-streamlines.png}
  801. \hspace{5em}
  802. \includegraphics[width=0.40\textwidth]{figs/tangle-cross-section-error-stokes.png}
  803. \resizebox{1.05\textwidth}{!}{\begin{tabular}{r r r r | r r | r r | r r}
  804. \hline
  805. & & & & & & \multicolumn{2}{c |}{1-core} & \multicolumn{2}{c }{40-cores} \\
  806. $N$ & $N_{panel}$ & $N_{\theta}$ & $\epsilon_{_{GMRES}}$ & $N_{iter}$ & $\left\|e\right\|_{\infty}$ & $T_{setup}~~(N/T_{setup})$ & $T_{solve}$ & $T_{setup}$ & $T_{solve}$ \\
  807. \hline
  808. %8.4e3 & 70 & 4 & 1e-02 & 6 & 2.1e-01 & 0.18 ~~~~~~(4.5e4) & 0.1 & 0.024 & 0.02 \\
  809. 1.5e4 & 122 & 4 & 1e-03 & 10 & 1.9e-02 & 0.33 ~~~~~~(4.4e4) & 0.7 & 0.024 & 0.05 \\
  810. %4.1e4 & 172 & 8 & 1e-04 & 16 & 1.7e-02 & 1.22 ~~~~~~(3.3e4) & 9.8 & 0.077 & 1.84 \\
  811. 9.1e4 & 252 & 12 & 1e-05 & 21 & 1.7e-04 & 3.31 ~~~~~~(2.7e4) & 61.2 & 0.197 & 5.25 \\
  812. 9.4e4 & 262 & 12 & 1e-07 & 33 & 4.1e-06 & 4.43 ~~~~~~(2.1e4) & 104.3 & 0.224 & 7.69 \\
  813. 2.0e5 & 272 & 24 & 1e-09 & 43 & 1.4e-08 & 17.70 ~~~~~~(1.1e4) & 586.0 & 0.796 & 22.94 \\
  814. 2.3e5 & 276 & 28 & 1e-11 & 54 & 4.1e-09 & 27.67 ~~~~~~(8.4e3) & 1034.2 & 1.229 & 38.85 \\
  815. \hline
  816. \end{tabular}}
  817. % Tangle BVP - Stokes
  818. % geom gmres_tol tol N Nelem FourierOrder iter MaxError L2-error T_setup setup-rate T_solve T_setup T_solve
  819. % tangle50 1e-2 1e-3 8400 70 4 6 2.1e-01 2.2e-03 0.1856 45259 0.1589 0.0248 0.0234
  820. % tangle100 1e-3 1e-4 14640 122 4 10 1.9e-02 1.0e-04 0.3313 44190 0.7745 0.0243 0.0565
  821. % tangle150 1e-4 1e-5 41280 172 8 16 1.7e-02 1.6e-05 1.2295 33575 9.8059 0.0770 1.8448
  822. % tangle230 1e-5 1e-6 90720 252 12 21 1.7e-04 9.0e-07 3.3138 27376 61.2092 0.1975 5.2584
  823. % tangle240 1e-7 1e-8 94320 262 12 33 4.1e-06 7.6e-09 4.4355 21265 104.3853 0.2241 7.6990
  824. % tangle250 1e-9 1e-10 195840 272 24 43 1.4e-08 1.1e-10 17.7085 11059 586.0695 0.7960 22.9405
  825. % tangle254 1e-11 1e-12 231840 276 28 54 4.1e-09 6.9e-12 27.6771 8377 1034.2305 1.2298 38.8589
  826. \end{FIframe} %>>>
  827. \begin{FIframe}{Numerical Results - close-to-touching}{} %<<<
  828. \centering
  829. \only<1>{
  830. \begin{tikzpicture}
  831. \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=0.9\textwidth]{figs/touching.png}};
  832. \node[anchor=south west,inner sep=0] at (10,-1.7) {\includegraphics[width=0.4\textwidth]{figs/touching-zoom.png}};
  833. \draw[red,ultra thick,rounded corners] (5.75,2.55) rectangle (6.65,3.65);
  834. \draw[red,ultra thick,rounded corners] (10,-1.7) rectangle (14.98,2.95);
  835. \draw [red, ultra thick, ->|](0.7,0.7) -- (1.03,1.03);
  836. \draw [red, ultra thick, ->|](1.57,1.57) -- (1.24,1.24);
  837. \node at (1.75, 1.85) {\color{red} $0.125$};
  838. \draw [red, ultra thick, ->](3.4,2.9) -- (3.4,0.18);
  839. \node at (3.8, 1.7) {\color{red} $1.0$};
  840. \node at (7.95, 3.3) {\color{red} gap $= 0.003$};
  841. \node at (7.7, 2.8) {\color{red} $N_\theta = 88$};
  842. \end{tikzpicture}
  843. }
  844. \only<2>{
  845. \includegraphics[width=0.8\textwidth]{figs/close-to-touching-streamlines}
  846. }
  847. \end{FIframe} %>>>
  848. \begin{FIframe}{Numerical Results - close-to-touching}{} %<<<
  849. \centering
  850. \includegraphics[width=0.55\textwidth]{figs/touching.png}
  851. \includegraphics[width=0.4\textwidth]{figs/close-to-touching-streamlines}
  852. \begin{tabular}{r r | r r | r r | r r}
  853. \hline
  854. & & & & \multicolumn{2}{c |}{1-core} & \multicolumn{2}{c }{40-cores} \\
  855. $N$ & $\epsilon_{_{GMRES}}$ & $N_{iter}$ & $\left\|e\right\|_{\infty}$ & $T_{setup}~~(N/T_{setup})$ & $T_{solve}$ & $T_{setup}$ & $T_{solve}$ \\
  856. \hline
  857. %6.5e4 & 1e-01 & 2 & 1.3e-01 & 5.6 (1.1e+4) & 3.2 & 0.85 & 0.5 \\
  858. 6.5e4 & 1e-02 & 4 & 2.1e-02 & 8.1 (8.0e+3) & 6.5 & 1.28 & 1.4 \\
  859. %6.5e4 & 1e-03 & 7 & 1.6e-02 & 10.8 (6.0e+3) & 11.8 & 1.73 & 2.3 \\
  860. %6.5e4 & 1e-04 & 13 & 9.3e-03 & 13.6 (4.7e+3) & 22.6 & 2.13 & 4.8 \\
  861. 6.5e4 & 1e-05 & 24 & 2.4e-03 & 16.8 (3.8e+3) & 42.9 & 2.50 & 7.7 \\
  862. %6.5e4 & 1e-06 & 34 & 3.4e-05 & 19.9 (3.2e+3) & 62.5 & 2.80 & 10.9 \\
  863. 6.5e4 & 1e-07 & 43 & 2.8e-06 & 23.5 (2.7e+3) & 81.6 & 3.31 & 12.8 \\
  864. %6.5e4 & 1e-08 & 49 & 2.6e-07 & 27.4 (2.3e+3) & 96.2 & 3.72 & 14.8 \\
  865. %6.5e4 & 1e-09 & 54 & 9.3e-08 & 31.4 (2.1e+3) & 109.3 & 3.91 & 16.3 \\
  866. 6.5e4 & 1e-10 & 59 & 5.4e-08 & 35.6 (1.8e+3) & 122.9 & 4.06 & 19.2 \\
  867. %6.5e4 & 1e-11 & 64 & 5.0e-09 & 40.5 (1.6e+3) & 137.1 & 4.56 & 20.2 \\
  868. %6.5e4 & 1e-12 & 69 & 5.0e-10 & 45.6 (1.4e+3) & 152.2 & 5.00 & 22.3 \\
  869. 6.5e4 & 1e-13 & 72 & 1.3e-10 & 49.9 (1.3e+3) & 162.6 & 5.27 & 23.2 \\
  870. \hline
  871. \end{tabular}
  872. % N gmres_tol tol iter MaxError L2-error T_setup setup-rate T_solve T_setup T_solve
  873. % 64560 1e-01 1e-2 2 1.3e-01 3.2e-02 5.6700 3.1944 0.8531 0.4806
  874. % 64560 1e-02 1e-3 4 2.1e-02 2.5e-03 8.1061 6.5360 1.2818 1.3614
  875. % 64560 1e-03 1e-4 7 1.6e-02 3.1e-04 10.8099 11.8118 1.7274 2.2869
  876. % 64560 1e-04 1e-5 13 9.3e-03 2.4e-05 13.6997 22.5707 2.1291 4.8351
  877. % 64560 1e-05 1e-6 24 2.4e-03 3.7e-06 16.8026 42.8992 2.5001 7.6538
  878. % 64560 1e-06 1e-7 34 3.4e-05 2.2e-07 19.9488 62.5492 2.8044 10.8931
  879. % 64560 1e-07 1e-8 43 2.8e-06 1.4e-08 23.5213 81.6355 3.3077 12.7662
  880. % 64560 1e-08 1e-9 49 2.6e-07 1.9e-09 27.4751 96.2095 3.7236 14.7706
  881. % 64560 1e-09 1e-10 54 9.3e-08 5.5e-10 31.4113 109.2922 3.9118 16.2876
  882. % 64560 1e-10 1e-11 59 5.4e-08 2.3e-10 35.6971 122.8530 4.0588 19.2035
  883. % 64560 1e-11 1e-12 64 5.0e-09 2.2e-11 40.5914 137.0600 4.5563 20.2282
  884. % 64560 1e-12 1e-13 69 5.0e-10 2.5e-12 45.6508 152.2238 4.9972 22.3425
  885. % 64560 1e-13 1e-14 72 1.3e-10 1.5e-12 49.9494 162.6172 5.2653 23.2362
  886. \end{FIframe} %>>>
  887. %>>>
  888. \section{Mobility problem} %<<<
  889. \begin{FIframe}{Mobility problem}{} %<<<
  890. \vspace{-1em}
  891. \begin{columns}
  892. \column{0.6\textwidth}
  893. \begin{itemize}
  894. \item $n$ rigid bodies ~~$\Omega = \sum\limits_{i=1}^{n} \Omega_i$
  895. \only<1>{
  896. with velocities ~$\vct{V}(\vct{x}) = \vct{v}_i + \vct{\omega}_i \times (\vct{x}-\vct{x}^c_i)$,
  897. }%
  898. \only<2>{
  899. with velocities ~{\color{red}$\vct{V}(\vct{x}) = \vct{v}_i + \vct{\omega}_i \times (\vct{x}-\vct{x}^c_i)$},
  900. }
  901. \vspace{0.8ex}
  902. and given forces $\vct{F}_i$, ~torques $\vct{T}_i$ abount $\vct{x}^c_i$.
  903. \vspace{1.4em}
  904. \item Stokesian fluid in $\Real^3 \setminus \Omega$
  905. \vspace{0.7ex}
  906. \qquad $\displaystyle \Delta \vct{u} - \nabla p = 0, ~~\nabla \cdot \vct{u} = 0,$ \\
  907. \vspace{0.6ex}
  908. \qquad $\displaystyle \vct{u} \rightarrow 0$ ~as~ $\vct{x} \rightarrow \infty$.
  909. \vspace{1.3em}
  910. \item Boundary conditions on $\partial\Omega$,
  911. \vspace{0.6ex}
  912. \only<1>{\qquad $\displaystyle \vct{u} = \vct{V} + \vct{u}_s$.}
  913. \only<2>{\qquad $\displaystyle \vct{u} = {\color{red}\vct{V}} + \vct{u}_s$.}
  914. \end{itemize}
  915. \vspace{1em}
  916. \qquad\quad
  917. \only<1>{\phantom{\color{red} unknown: $\vct{V}(\vct{u}_i, \vct{\omega}_i)$}}
  918. \only<2>{\color{red} unknown: $\vct{V}(\vct{u}_i, \vct{\omega}_i)$}
  919. \column{0.4\textwidth}
  920. \resizebox{0.98\textwidth}{!}{\begin{tikzpicture}
  921. \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[angle=90,origin=c,width=4cm]{figs/rigid-bodies.png}};
  922. \draw[ultra thick, ->] (2.19,0.95) to (3,1.5);
  923. \node at (3.25, 1.5) {$\vct{F}_1$};
  924. \node (a) at (2.0, 1.3) {};
  925. \node (b) at (2.08, 1.3) {};
  926. \draw[thick, ->] (a) to [out=140,in=60, looseness=3] (b);
  927. \draw[ultra thick, ->] (2.1,1) to (1.85,2.15);
  928. \node at (1.85, 2.3) {$\vct{T}_1$};
  929. %\draw[color=red, ultra thick] (2.7,0.9) circle (1pt);
  930. %\node at (2.5, 0.5) {\color{red} \Large $x$};
  931. %\draw[ultra thick, ->] (4.3,0.45) to (3.1,0.5);
  932. %\node [rotate=-6] at (5.55, 0.25) {log singularity};
  933. %\draw[ultra thick, ->] (10.5,-0.25) to (12.1,-0.2);
  934. %\node [rotate=-4.5] at (9.5, -0.17) {$|s-s_0|^{-\alpha}$};
  935. \end{tikzpicture}}
  936. \end{columns}
  937. \end{FIframe} %>>>
  938. \begin{FIframe}{Mobility problem - double-layer formulation}{} %<<<
  939. Represent fluid velocity: ~~$\displaystyle \vct{u} = \StokesSL[\vct{\nu}(\vct{F}_i, \vct{T}_i)] + \StokesDL[{\color{red}\vct{\sigma}}] $
  940. \vspace{0.3em}
  941. and rigid body velocity: ~~$\displaystyle \vct{V} = -\sum_{i=1}^{6n} \mathfrak{v}_i \mathfrak{v}_i^T {\color{red}\vct{\sigma}}$
  942. \vspace{1.5em}
  943. Applying boundary conditions ~ ($\displaystyle \vct{u} = \vct{V} + \vct{u}_s$ ~on~ $\partial\Omega$),
  944. \vspace{0.3em}
  945. \qquad$\qquad\displaystyle
  946. (I/2 + D) \, {\color{red}\vct{\sigma}} + \sum_{i=1}^{6n} \mathfrak{v}_i \mathfrak{v}_i^T {\color{red}\vct{\sigma}} = \vct{u}_s - S \, \vct{\nu}
  947. $
  948. \vspace{0.5em}{\em(Pozrikidis - Boundary Integral and Singularity Methods for Linearized Viscous Flow)}
  949. \vspace{2em}
  950. \only<2>{
  951. Second kind integral equation, should be well-conditioned.\\
  952. What can possibly go wrong?
  953. }
  954. \end{FIframe} %>>>
  955. \begin{FIframe}{Conditioning of layer-potential operators}{} %<<<
  956. \vspace{1em}
  957. \begin{columns}
  958. \column{0.05\textwidth}
  959. \column{0.35\textwidth}
  960. %\quad$\displaystyle \nabla^2 u - \nabla p = 0$ ~~in~~ $\mathbb{R}^3 \setminus \Omega$
  961. %\quad$\displaystyle u |_{\Gamma} = u_0$
  962. %\quad $\displaystyle u(x) \rightarrow 0 ~\text{as}~ |x|\rightarrow \infty$
  963. \vspace{1em}
  964. $\kappa(S)$ \hfill $\sim 2.6e6$
  965. \vspace{1em}
  966. $\kappa(I/2 + D)$ \hfill $\sim 4.3e6$
  967. \vspace{1em}
  968. $\kappa(I/2 + D + 16 S)$ \hfill $\sim 80$
  969. \column{0.1\textwidth}
  970. \column{0.50\textwidth}
  971. \includegraphics[width=0.99\textwidth]{figs/slender-torus}
  972. \end{columns}
  973. \vspace{3em}
  974. \begin{itemize}
  975. \item For infinite cylinder (Laplace case): ~~ $\kappa(I/2 + D) ~\sim~ 1/(\varepsilon^{2} \log \varepsilon^{-1})$
  976. \vspace{0.5em}
  977. \item Combined field operator well-conditioned: ~~ $I/2 + D + S ~/~ (2\varepsilon \log \varepsilon^{-1})$
  978. \end{itemize}
  979. \end{FIframe} %>>>
  980. %\begin{FIframe}{Boundary Integral Formulation}{Dirichlet BVP} %<<<
  981. % \begin{columns}
  982. % \column{0.5\textwidth}
  983. % \quad$\displaystyle \nabla^2 u - \nabla p = 0$ ~~in~~ $\mathbb{R}^3 \setminus \Omega$
  984. % \quad$\displaystyle u |_{\Gamma} = u_0$
  985. % \quad $\displaystyle u(x) \rightarrow 0 ~\text{as}~ |x|\rightarrow \infty$
  986. % \column{0.5\textwidth}
  987. % \includegraphics[width=0.99\textwidth]{figs/biest-conv}
  988. % \end{columns}
  989. % {\bf Integral equation formulation:}
  990. % \begin{columns}
  991. % \column{0.75\textwidth}
  992. % \vspace{1em}
  993. % $u = \frac{\sigma}{2} + \StokesDL[\sigma] \text{~~~~on~~~~} \Gamma$ \hfill $\kappa \sim 324$
  994. % \vspace{1em}
  995. % $u = \StokesSL[\sigma] \text{~~~~on~~~~} \Gamma$ \hfill $\kappa \sim 651$
  996. % \vspace{1em}
  997. % $u = \frac{\sigma}{2} + \StokesDL[\sigma] + \StokesSL[\sigma] \text{~~~~on~~~~} \Gamma$ \hfill $\kappa \sim 9$
  998. % \end{columns}
  999. %\end{FIframe} %>>>
  1000. \begin{FIframe}{Mobility problem - combined field formulation}{} %<<<
  1001. \only<1>{
  1002. Represent fluid velocity: ~~$\displaystyle \vct{u} = \StokesSL[\vct{\nu}(\vct{F}_i, \vct{T}_i)] + \StokesCF[{\color{red}\vct{\sigma}} ] $
  1003. }
  1004. \only<2->{
  1005. \vspace{-0.7em}
  1006. Represent fluid velocity: ~~$\displaystyle \vct{u} = \StokesSL[\vct{\nu}(\vct{F}_i, \vct{T}_i)] + \StokesCF[{\color{red}\vct{\sigma}} - \sum_{i=1}^{6n} \mathfrak{v}_i \mathfrak{v}_i^T {\color{red}\vct{\sigma}} ] $
  1007. }
  1008. \only<1>{\vspace{0.5em}}%
  1009. \only<2->{\vspace{-0.65em}}%
  1010. and rigid body velocity: ~~$\displaystyle \vct{V} = -\sum_{i=1}^{6n} \mathfrak{v}_i \mathfrak{v}_i^T {\color{red}\vct{\sigma}}$
  1011. \vspace{0.3em}
  1012. where, ~$\displaystyle \StokesCF = \StokesDL + \StokesSL / (2 \varepsilon \log \varepsilon^{-1}) $.
  1013. \only<3>{
  1014. \vspace{2.5em}
  1015. Applying boundary conditions,
  1016. \vspace{0.3em}
  1017. \qquad$\qquad\displaystyle
  1018. (I/2 + K) \, \left( {\color{red}\vct{\sigma}} - \sum_{i=1}^{6n} \mathfrak{v}_i \mathfrak{v}_i^T {\color{red}\vct{\sigma}} \right) + \sum_{i=1}^{6n} \mathfrak{v}_i \mathfrak{v}_i^T {\color{red}\vct{\sigma}} = \vct{u}_s - S \, \vct{\nu}
  1019. $
  1020. \vspace{1em}
  1021. Second kind integral equation and well-conditioned!
  1022. }
  1023. \end{FIframe} %>>>
  1024. \begin{FIframe}{Numerical Results - Sedimentation Flow}{} %<<<
  1025. \vspace{-1.5em}
  1026. \begin{columns}[t]
  1027. \column{0.7\textwidth}
  1028. \vspace{1ex}
  1029. {\bf Time-stepping:} 5-th order adaptive SDC
  1030. \vspace{1ex}
  1031. {\bf 8-digits accuracy} in quadratures, GMRES solve, \\
  1032. and time-stepping.
  1033. \vspace{1ex}
  1034. {\bf 40 CPU cores}
  1035. \only<2>{
  1036. \embedvideo{\includegraphics[width=0.99\textwidth]{videos/sed2-top-zoom1}}{videos/sed2-top-zoom1.avi}
  1037. }
  1038. \column{0.4\textwidth}
  1039. \vspace{-0.5em}
  1040. \only<1>{
  1041. \embedvideo{\includegraphics[width=0.99\textwidth]{videos/sed2-side-color}}{videos/sed2-side-color.mov}
  1042. }
  1043. \only<2>{
  1044. \includegraphics[width=0.99\textwidth]{videos/sed2-side-color}
  1045. }
  1046. \end{columns}
  1047. %\embedvideo{\includegraphics[width=0.25\textwidth]{videos/mesh}}{videos/mesh.avi}
  1048. % 5-th order SDC time-stepping
  1049. % 7 - digits accuracy
  1050. % adaptively refined mesh
  1051. % block diagonal preconditioner - plot of GMRES iterations
  1052. \end{FIframe} %>>>
  1053. \begin{FIframe}{Numerical Results - Sedimentation Flow}{} %<<<
  1054. \vspace{-2.0em}
  1055. \begin{center}
  1056. \resizebox{0.85\textwidth}{!}{\begin{tikzpicture}
  1057. \pgfplotsset{
  1058. xmin=0, xmax=250,
  1059. width=12cm, height=7cm,
  1060. xlabel={$T$}, xtick distance=50,
  1061. }
  1062. \begin{axis}[ymin=0, ymax=110, ylabel={$N_{iter}$}, legend style={draw=none,at={(0,1)},anchor=north west}]
  1063. \addplot [thick,color=blue] table [x={t},y={noprecond}] {data/sed2}; \addlegendentry{no-preconditioner};
  1064. \addplot [thick,color=red] table [x={t},y={precond}] {data/sed2}; \addlegendentry{block-preconditioner};
  1065. %\addplot [thick,color=green] table [x={t},y={KSPprecond}] {data/sed2}; \addlegendentry{Krylov-preconditioner};
  1066. \end{axis}
  1067. \begin{axis}[axis y line*=right, ymin=0, ymax=65000, ylabel={$N$}, legend style={draw=none,at={(0.97,0.97)},anchor=north east}]
  1068. \addplot [thick,dashed,color=black] table [x={t},y={N}] {data/sed2}; \addlegendentry{$N$};
  1069. \end{axis}
  1070. \end{tikzpicture}}
  1071. \end{center}
  1072. \vspace{-1em}
  1073. {\bf Close-to-touching:} ~~smaller time-steps, ~~more unknowns ($N$), \\
  1074. high GMRES iteration count (one-body preconditioner doesn't help). \\
  1075. {\color{red} $\sim 125 \times$ more expensive!}
  1076. \end{FIframe} %>>>
  1077. \begin{FIframe}{Accelerating GMRES Solves}{} %<<<
  1078. \vspace{0.5em}
  1079. \resizebox{.9\textwidth}{!}{\begin{tikzpicture}%<<<
  1080. % draw horizontal line
  1081. \draw[ultra thick, ->] (0,0) -- (14,0);
  1082. % draw vertical lines
  1083. \foreach \x in {2,4,6,8,10,12}
  1084. \draw[ultra thick] (\x cm,3pt) -- (\x cm,-3pt);
  1085. % draw node
  1086. \draw[ultra thick] ( 4,0) node[below=3pt] {$t_{n-2}$};
  1087. \draw[ultra thick] ( 6,0) node[below=3pt] {$t_{n-1}$};
  1088. \draw[ultra thick] ( 8,0) node[below=3pt] {$t_{n}$};
  1089. \draw[ultra thick] (10,0) node[below=3pt] {$t_{n+1}$};
  1090. \end{tikzpicture}}%>>>
  1091. \vspace{0.5em}
  1092. \begin{itemize}
  1093. \setlength\itemsep{0.5em}
  1094. \item Forward Euler: ~$n\text{-}{th}$~ time step
  1095. \begin{itemize}
  1096. \item solve BIE using GMRES:~~ $A_{y_n} \sigma_{\!n} = b_{y_n}$
  1097. \item advance to $t_{n+1}$:~~~ $y_{n+1} = y_{n} + h\, v(\sigma_{\!n})$
  1098. \end{itemize}
  1099. \only<2->{\item Use ~$\sigma_{\!n-1}$~ as initial guess to GMRES}
  1100. \only<3->{: {\color{red} doesn't work well}}
  1101. \end{itemize}
  1102. \only<4->{
  1103. \vspace{0.5em}
  1104. \begin{itemize}
  1105. \item Re-use Krylov subspace from previous time step?
  1106. \only<5->{
  1107. \begin{itemize}
  1108. \item Krylov subspace: ~~$X \leftarrow [b, ~A b, ~\cdots, ~A^{k\shortminus\!1} b]$
  1109. \item Compute QR decomposition: ~ $QR \leftarrow AX$
  1110. \item Preconditioner: ~ $P \coloneq I - Q Q^{T} + X R^{-1} Q^{T}$
  1111. \vspace{0.5em}
  1112. \item[] \qquad $P \, Ax = x$ \quad for all~~ $x \in span(X)$
  1113. \item[] \qquad ~\, $P \, y = y$ \quad for all~~ $y \perp span(X)$
  1114. \end{itemize}
  1115. }
  1116. \end{itemize}}
  1117. \end{FIframe} %>>>
  1118. \begin{FIframe}{Krylov Preconditioning with SDC}{} %<<<
  1119. \vspace{-1em}
  1120. \resizebox{.9\textwidth}{!}{\begin{tikzpicture}%<<<
  1121. % draw horizontal line
  1122. \draw[ultra thick, ->] (0,0) -- (14,0);
  1123. % draw vertical lines
  1124. \foreach \x in {1.7, 12.3}
  1125. \draw[ultra thick] (\x cm,6pt) -- (\x cm,-6pt);
  1126. \draw[ultra thick] (1.7000 ,0) node[above=5pt] {$a$};
  1127. \draw[ultra thick] (12.3000,0) node[above=5pt] {$b$};
  1128. \foreach \x in {1.9000, 2.6699, 4.5000, 7.0000, 9.5000, 11.3301, 12.1000}
  1129. \draw[ultra thick, blue] (\x cm,3pt) -- (\x cm,-3pt);
  1130. % draw node
  1131. \draw[ultra thick, blue] (1.9000 ,0) node[below=3pt] {$t_1$};
  1132. \draw[ultra thick, blue] (2.6699 ,0) node[below=3pt] {$t_2$};
  1133. \draw[ultra thick, blue] (4.5000 ,0) node[below=3pt] {$t_3$};
  1134. %\draw[ultra thick, blue] (7.0000 ,0) node[below=3pt] {$t_4$};
  1135. %\draw[ultra thick, blue] (9.5000 ,0) node[below=3pt] {$t_5$};
  1136. \draw[ultra thick, blue] (8.5,0) node[below=3pt] {$\cdots$};
  1137. %\draw[ultra thick, blue] (11.3301,0) node[below=3pt] {$t_6$};
  1138. \draw[ultra thick, blue] (12.1000,0) node[below=3pt] {$t_m$};
  1139. \only<2->{%<<<
  1140. \draw[ultra thick, DarkGreen] (1.9000 ,-1) node {$P_1$};
  1141. \draw[ultra thick, DarkGreen] (2.6699 ,-1) node {$P_2$};
  1142. \draw[ultra thick, DarkGreen] (4.5000 ,-1) node {$P_3$};
  1143. \draw[ultra thick, DarkGreen] (8.5000 ,-1) node {$\cdots$};
  1144. \draw[ultra thick, DarkGreen] (12.1000,-1) node {$P_m$};
  1145. \draw[ultra thick, DarkGreen, ->] (2.10 ,-1) -- (2.40 ,-1);
  1146. \draw[ultra thick, DarkGreen, ->] (3.00 ,-1) -- (3.50 ,-1);
  1147. \draw[ultra thick, DarkGreen, ->] (4.86 ,-1) -- (5.40 ,-1);
  1148. }%>>>
  1149. \only<3->{%<<<
  1150. \draw[ultra thick, DarkGreen, ->] (1.9000 ,-1.25) -- (1.9000 ,-1.8);
  1151. \draw[ultra thick, DarkGreen, ->] (2.6699 ,-1.25) -- (2.6699 ,-1.8);
  1152. \draw[ultra thick, DarkGreen, ->] (4.5000 ,-1.25) -- (4.5000 ,-1.8);
  1153. \draw[ultra thick, DarkGreen, ->] (12.100 ,-1.25) -- (12.100 ,-1.8);
  1154. \draw[ultra thick, DarkGreen] (1.9000 ,-2.1) node {~~\,$P^{(1)}_1$};
  1155. \draw[ultra thick, DarkGreen] (2.6699 ,-2.1) node {~~\,$P^{(1)}_2$};
  1156. \draw[ultra thick, DarkGreen] (4.5000 ,-2.1) node {~~\,$P^{(1)}_3$};
  1157. \draw[ultra thick, DarkGreen] (8.5000 ,-2.1) node {$\cdots$};
  1158. \draw[ultra thick, DarkGreen] (12.100 ,-2.1) node {~~\,$P^{(1)}_m$};
  1159. \draw[ultra thick, black, ->] (0.75 ,-0.5) -- (0.75 ,-3.5);
  1160. \draw[ultra thick, black] (0.5,-2) node[rotate=-90] {corrections};
  1161. }%>>>
  1162. \only<4->{%<<<
  1163. \draw[ultra thick, DarkGreen, ->] (1.9000 ,-2.5) -- (1.9000 ,-3.0);
  1164. \draw[ultra thick, DarkGreen, ->] (2.6699 ,-2.5) -- (2.6699 ,-3.0);
  1165. \draw[ultra thick, DarkGreen, ->] (4.5000 ,-2.5) -- (4.5000 ,-3.0);
  1166. \draw[ultra thick, DarkGreen, ->] (12.100 ,-2.5) -- (12.100 ,-3.0);
  1167. \draw[ultra thick, DarkGreen] (1.9000 ,-3.3) node {~~\,$P^{(2)}_1$};
  1168. \draw[ultra thick, DarkGreen] (2.6699 ,-3.3) node {~~\,$P^{(2)}_2$};
  1169. \draw[ultra thick, DarkGreen] (4.5000 ,-3.3) node {~~\,$P^{(2)}_3$};
  1170. \draw[ultra thick, DarkGreen] (8.5000 ,-3.3) node {$\cdots$};
  1171. \draw[ultra thick, DarkGreen] (12.100 ,-3.3) node {~~\,$P^{(2)}_m$};
  1172. %\draw[ultra thick, DarkGreen, ->] (1.9000 ,-3.7) -- (1.9000 ,-4.2);
  1173. %\draw[ultra thick, DarkGreen, ->] (2.6699 ,-3.7) -- (2.6699 ,-4.2);
  1174. %\draw[ultra thick, DarkGreen, ->] (4.5000 ,-3.7) -- (4.5000 ,-4.2);
  1175. %\draw[ultra thick, DarkGreen, ->] (12.100 ,-3.7) -- (12.100 ,-4.2);
  1176. }%>>>
  1177. \end{tikzpicture}}%>>>
  1178. \only<5->{
  1179. \vspace{1.4em}
  1180. \begin{columns}
  1181. \column{0.05\textwidth}
  1182. \column{0.45\textwidth}
  1183. GMRES iter without preconditioner:
  1184. \vspace{0.5em}
  1185. \begin{tabular}{r | r r r r r}
  1186. \parbox[t]{2mm}{\multirow{5}{*}{\rotatebox[origin=c]{-90}{correction $\rightarrow$}}}
  1187. & \multicolumn{5}{c}{sub-step $\rightarrow$} \\
  1188. \hline
  1189. & 66 & 66 & 66 & 66 & 66 \\
  1190. & 66 & 66 & 66 & 66 & 66 \\
  1191. & 66 & 66 & 66 & 66 & 66 \\
  1192. & 66 & 66 & 66 & 66 & 66 \\
  1193. \end{tabular}
  1194. \column{0.05\textwidth}
  1195. \column{0.44\textwidth}
  1196. \only<6->{
  1197. GMRES iter with preconditioner:
  1198. \vspace{0.5em}
  1199. \begin{tabular}{r | r r r r r}
  1200. \parbox[t]{2mm}{\multirow{5}{*}{\rotatebox[origin=c]{-90}{correction $\rightarrow$}}}
  1201. & \multicolumn{5}{c}{sub-step $\rightarrow$} \\
  1202. \hline
  1203. & 66 & 30 & 22 & 45 & 30 \\
  1204. & 35 & 17 & 33 & 28 & 24 \\
  1205. & 8 & 4 & 14 & 5 & 12 \\
  1206. & 1 & 1 & 2 & 2 & 4 \\
  1207. \end{tabular}}
  1208. \end{columns}
  1209. }
  1210. \end{FIframe} %>>>
  1211. \begin{FIframe}{Numerical Results - Sedimentation Flow}{} %<<<
  1212. \vspace{-2.0em}
  1213. \begin{center}
  1214. \resizebox{0.95\textwidth}{!}{\begin{tikzpicture}
  1215. \pgfplotsset{
  1216. xmin=0, xmax=250,
  1217. width=12cm, height=7cm,
  1218. xlabel={$T$}, xtick distance=50,
  1219. }
  1220. \begin{axis}[ymin=0, ymax=110, ylabel={$N_{iter}$}, legend style={draw=none,at={(0,1)},anchor=north west}]
  1221. \addplot [thick,color=blue] table [x={t},y={noprecond}] {data/sed2}; \addlegendentry{no-preconditioner};
  1222. \addplot [thick,color=red] table [x={t},y={precond}] {data/sed2}; \addlegendentry{block-preconditioner};
  1223. \addplot [thick,color=DarkGreen] table [x={t},y={KSPprecond}] {data/sed2}; \addlegendentry{Krylov-preconditioner};
  1224. \end{axis}
  1225. \begin{axis}[axis y line*=right, ymin=0, ymax=65000, ylabel={$N$}, legend style={draw=none,at={(0.97,0.97)},anchor=north east}]
  1226. \addplot [thick,dashed,color=black] table [x={t},y={N}] {data/sed2}; \addlegendentry{$N$};
  1227. \end{axis}
  1228. \end{tikzpicture}}
  1229. \end{center}
  1230. %\vspace{-1em}
  1231. %{\bf Close-to-touching:} ~~smaller time-steps, ~~more unknowns ($N$), \\
  1232. %high GMRES iteration count (block preconditioner doesn't help). \\
  1233. %{\color{red} $\sim 125 \times$ more expensive!}
  1234. \end{FIframe} %>>>
  1235. %>>>
  1236. %<<< Sedimentation flow
  1237. \begin{FIframe}{Numerical Results - Sedimentation Flow}{} %<<<
  1238. \begin{columns}
  1239. \column{0.35\textwidth}
  1240. \vspace{1ex}
  1241. {\bf 5-th order adaptive SDC}
  1242. \vspace{1ex}
  1243. {\bf 8-digits accuracy} in quadratures, GMRES solve, \\
  1244. and time-stepping.
  1245. \vspace{1ex}
  1246. {\bf 0.5 million unknowns} \\
  1247. 64 rings.
  1248. \vspace{1ex}
  1249. {\bf 160 CPU cores}
  1250. \column{0.65\textwidth}
  1251. \embedvideo{\includegraphics[width=0.99\textwidth]{videos/sed64}}{videos/sed64.mov}
  1252. \end{columns}
  1253. \end{FIframe} %>>>
  1254. \begin{FIframe}{Numerical Results - Sedimentation Flow}{} %<<<
  1255. \vspace{-1.9em}
  1256. \centering
  1257. \only<1>{ \embedvideo{\includegraphics[width=0.94\textwidth]{videos/bacteria2_.png}}{videos/bacteria2_.mov} }%
  1258. \only<2>{ \embedvideo{\includegraphics[width=0.47\textwidth]{videos/bacteria64-density.png}}{videos/bacteria64-density.mov} }
  1259. \end{FIframe} %>>>
  1260. %>>>
  1261. \section{Software} %<<<
  1262. \begin{frame}[t,fragile] \frametitle{CSBQ library}{} %<<<
  1263. \vspace{1em}
  1264. {\bf Code:} ~~ {\color{blue} \url{https://github.com/dmalhotra/CSBQ}}
  1265. \vspace{1em}
  1266. {\bf Requirements:} ~~ C++11 compiler ~~with~~ OpenMP 4.0
  1267. \vspace{1em}
  1268. {\bf Build system:} ~~ none (header only)
  1269. \vspace{0.5em}
  1270. \begin{minted}[
  1271. %frame=lines,
  1272. fontsize=\footnotesize,
  1273. %linenos,
  1274. gobble=0,
  1275. mathescape
  1276. ]{C++}
  1277. #include <csbq.hpp>
  1278. \end{minted}
  1279. \vspace{3em}
  1280. {\bf Optional dependencies:} ~~ BLAS, LAPACK, MPI, and PVFMM
  1281. %\begin{itemize}
  1282. %\item includes simple `Makefile' for example codes.
  1283. %\end{itemize}
  1284. \end{frame}
  1285. %>>>
  1286. \begin{frame} \frametitle{Library classes}{} %<<<
  1287. \resizebox{1.05\linewidth}{!}{\begin{tikzpicture}
  1288. \node[anchor=north west, draw=none, rounded corners=.45cm, minimum height=7cm, minimum width=15.2cm] at (-0.1,1.6) {};
  1289. \only<3->{
  1290. \node[anchor=north west, draw=blue,thick, rounded corners=.45cm] at (1.0,1.5) {\begin{tabular}{c} \bf Taylor states \end{tabular}};
  1291. \node[anchor=north west, draw=blue,thick, rounded corners=.45cm] at (5.3,1.5) {\begin{tabular}{c} \bf Vacuum fields \end{tabular}};
  1292. \node[anchor=north west, draw=blue,thick, rounded corners=.45cm] at (9.8,1.5) {\begin{tabular}{c} \bf Virtual casing \end{tabular}};
  1293. \draw [line width=1mm] (0,0.25) -- (15.0,0.25);
  1294. }
  1295. \only<2->{
  1296. \node[anchor=north west, draw=red,thick, rounded corners=.55cm] at (0,0) {\small
  1297. \begin{tabular}{c}
  1298. {\bf Surface} \\
  1299. W7X, LHD, \\
  1300. QAS3, etc, \\
  1301. $(\mathbf{X}, \mathbf{Y}, \mathbf{Z})$
  1302. \end{tabular}};
  1303. \node[anchor=north west, draw=red,thick, rounded corners=.55cm] at (2.7,0) {\small
  1304. \begin{tabular}{c}
  1305. {\bf SurfaceOp} \\
  1306. resample, $\mathbf{n}$, \\
  1307. $\nabla_{\Gamma}$,~
  1308. $\nabla_{\Gamma} \cdot$, \\
  1309. $\nabla_{\Gamma} \times$,~
  1310. $\Delta_{\Gamma}$,\\
  1311. $\Delta^{-1}_{\Gamma}$
  1312. \end{tabular}};
  1313. \node[anchor=north west, draw=red,thick, rounded corners=.55cm] at (5.8,0) {\small
  1314. \begin{tabular}{c}
  1315. {\bf BoundaryIntegralOp}\\
  1316. $\int\limits_\Gamma \sigma(\mathbf{r}') K(\mathbf{r}-\mathbf{r}') d a(\mathbf{r}')$
  1317. \end{tabular}};
  1318. \node[anchor=north west, draw=red,thick, rounded corners=.55cm] at (10.9,0) {\small
  1319. \begin{tabular}{c}
  1320. {\bf KernelFunction}\\
  1321. Laplace, Helmholtz, \\
  1322. Biot-Savart, etc.
  1323. \end{tabular}};
  1324. }
  1325. \node[anchor=north west, draw=black,thick, rounded corners=.55cm] at (1,-3.3) {\small
  1326. \begin{tabular}{c}
  1327. {\bf SCTL:} Scientific Computing Template Library\\
  1328. \hspace{30em} \\
  1329. \\
  1330. \end{tabular}};
  1331. \node[anchor=north west, draw=red,thick, rounded corners=.45cm] at (2,-4.1) {\begin{tabular}{c} \bf Vector \end{tabular}};
  1332. \node[anchor=north west, draw=red,thick, rounded corners=.45cm] at (5,-4.1) {\begin{tabular}{c} \bf Matrix \end{tabular}};
  1333. \node[anchor=north west, draw=red,thick, rounded corners=.45cm] at (8,-4.1) {\begin{tabular}{c} \bf GMRES \end{tabular}};
  1334. \node[anchor=north west, draw=red,thick, rounded corners=.45cm] at (11,-4.1) {\begin{tabular}{c} \bf FFT \end{tabular}};
  1335. \end{tikzpicture}}
  1336. \end{frame}%>>>
  1337. %>>>
  1338. \section{Conclusions} %<<<
  1339. \begin{FIframe}{Conclusions}{} %<<<
  1340. %\vspace{1.2em}
  1341. \begin{itemize}
  1342. \item Convergent boundary integral formulation for slender bodies.
  1343. \begin{itemize}
  1344. \item unlike SBT, boundary conditions are actually enforced to high accuracy.
  1345. \end{itemize}
  1346. \vspace{0.5ex}
  1347. \item Special quadratures - efficient for aspect ratios as large as $10^5$.
  1348. \begin{itemize}
  1349. %\item fast computation of modal/toroidal Green's function.
  1350. %\item special (Chebyshev) quadratures for singular integrals along length of fibers.
  1351. \item quadrature setup rates up to $20,\!000$ unknowns/s/core (comparable to FMM speeds).
  1352. \end{itemize}
  1353. \vspace{0.5ex}
  1354. \item Stokes mobility problem - combined field BIE formulation.
  1355. \begin{itemize}
  1356. \item well-conditioned formulation for slender-body geometries.
  1357. \item high-order time stepping (SDC), Krylov subspace preconditioner.
  1358. \end{itemize}
  1359. \end{itemize}
  1360. \only<2>{
  1361. \vspace{1.5em}
  1362. {\bf Limitations and ongoing work:}
  1363. \begin{itemize}
  1364. \item Flexible fibers -- applications in biological fluids.
  1365. \item Open problems: collision handling.
  1366. %\item Open fibers (singularities at ends). %Special elements (and quadratures) for fiber endpoints (non-loop geometries).
  1367. %%\item Replace Chebyshev quadratures with generalized Gaussian quadratures% of Bremer, Gimbutas and Rokhlin - SISC 2010.
  1368. %%\item Parallelisation with proper load balancing.
  1369. %%\item FMM acceleration of far-field computation.
  1370. %%\item Apply to problems in biological fluids.
  1371. %\item Mobility problem and flexible fibers.
  1372. %\item Comparison w/ SBT efficiency when SBT is sufficiently accurate.
  1373. \end{itemize}
  1374. }
  1375. % - end-caps so that we can have non-loop geometries
  1376. % - replace Chebyshev quadratures with Generalized Gaussian Quadratures
  1377. %%%%%%%% - develop preconditioners for close to touching geometries?
  1378. % direct comparison with slender-body theory
  1379. % develop applications ...
  1380. % parallelization
  1381. %\vspace{1em}
  1382. %\textcolor{blue}{\bf Future directions}
  1383. %\vspace{0.5em}
  1384. %\begin{columns}
  1385. % \column{0.9\textwidth}
  1386. % \begin{itemize}
  1387. % \item apply quadratures to numerical simulations of biological processes (collaboration with CCB).
  1388. % \end{itemize}
  1389. % \column{0.1\textwidth}
  1390. %\end{columns}
  1391. %\vspace{0.5em}
  1392. %\begin{columns}
  1393. % \column{0.65\textwidth}
  1394. % \begin{itemize}
  1395. % \item study convergence in close-to-touching setups; ~~ require adaptivity in length as well as $\theta$-dimensions.
  1396. % \end{itemize}
  1397. % \column{0.35\textwidth}
  1398. % \includegraphics[width=0.9\textwidth]{figs/close-touching}
  1399. % {\small (fig from Morse et al.)}
  1400. %\end{columns}
  1401. % - end-caps so that we can have non-loop geometries
  1402. % - replace Chebyshev quadratures with Generalized Gaussian Quadratures
  1403. %%%%%%%% - develop preconditioners for close to touching geometries?
  1404. % direct comparison with slender-body theory
  1405. % develop applications ...
  1406. % parallelization
  1407. %\vspace{0.75em}
  1408. %\begin{columns}
  1409. % \column{0.9\textwidth}
  1410. % \begin{itemize}
  1411. % \item develop similar ideas for other special cases and more generally for high aspect ratio panels
  1412. % \begin{center}
  1413. % \includegraphics[width=0.6\textwidth]{slender-body/high-aspect-panels.png}
  1414. % \end{center}
  1415. % \end{itemize}
  1416. % \column{0.1\textwidth}
  1417. %\end{columns}
  1418. \end{FIframe} %>>>
  1419. %>>>
  1420. \end{document}