text:
# Scientific applications of the tikzducks

Are the tikzducks used to explain any scientific stuff?

I'm currently compiling a list of such applications for an upcoming talk, so even if you are not able to share your image, it would be helpful to hear examples of topics the tikzducks are used for.

• Isn't this question just off-topic? Ducks are flooding the site and are used as rep generators. :-/ – Johannes_B Mar 25 '18 at 9:04
• @Johannes_B If you are worried about the rep, I can turn it into a CW question. But I don't think it is off topic - it is about the application of a package, for which I like to collect examples in preparation of a talk at a tex user group meeting. – user36296 Mar 25 '18 at 10:03
• \let\qed=\duck gets a duck at the end of every proof. – Loop Space Mar 25 '18 at 16:25
• @LoopSpace qed is short for quack erat demonstrandum, isn't it? – user36296 Mar 25 '18 at 17:26
• @samcarter Or quod erat duck. – Loop Space Mar 25 '18 at 18:44

It is possible to form a grammatical English sentence of length n, using only the words "duck" and "ducks", for all values of n.

Using tikzducks perhaps makes the visualization of the structures easier.

\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\usepackage{tikzducks}
\usepackage[linguistics]{forest}
\usepackage{multicol}
\newcommand{\Ducks}{\begin{tikzpicture}[scale=.2]\duck\begin{scope}[xshift=1.5cm]\duck\end{scope}\end{tikzpicture}}
\let\ducks\Ducks
\usepackage{gb4e}
\begin{document}
\begin{theorem}
For any $n$, there is a grammatical English sentence of length $n$ consisting only of some combination of the words \emph{duck} and \emph{ducks}.
\end{theorem}
Here are the first $6$ (with very simplified trees).
\begin{multicols}{2}
\begin{exe}
\ex Duck!
\ex Ducks duck.
\ex Ducks duck ducks.
\ex Ducks ducks duck duck.
\ex Ducks ducks duck duck ducks.
\ex Ducks ducks ducks duck duck duck.
\end{exe}
\columnbreak\setcounter{exx}{0}
\begin{exe}
\ex Duck!
\ex \Ducks{} duck.
\ex \Ducks{} duck \ducks.
\ex \Ducks{} \ducks{} duck duck.
\ex \Ducks{} \ducks{} duck duck \ducks.
\ex \Ducks{} \ducks{} \ducks{} duck duck duck.
\end{exe}
\end{multicols}
\setcounter{exx}{0}
\begin{multicols}{2}
\begin{exe}
\ex\begin{forest}
[S [NP\\pro ] [VP [V\\duck ]]]
\end{forest}
\ex\begin{forest}
[S [NP\\\Ducks ] [VP [V\\duck]]]
\end{forest}
\ex\begin{forest}
[S [NP\\\Ducks ] [VP [V\\duck ] [NP\\\ducks ]]]
\end{forest}
\ex\begin{forest}
[S [NP [NP\\\Ducks ][S [NP\\\Ducks ] [VP [V\\duck]]]] [VP [V\\duck]]]
\end{forest}
\ex
\begin{forest}
[S [NP [NP\\\Ducks ][S [NP\\\Ducks ] [VP [V\\duck]]]] [VP [V\\duck ] [NP\\\ducks ]]]
\end{forest}
\ex
\begin{forest}
[S [NP [NP\\\Ducks ][S [NP [NP\\\Ducks ][S [NP\\\Ducks ] [VP [V\\duck]]]] [VP [V\\duck]]]][VP [V\\duck]]]
\end{forest}
\end{exe}
\end{multicols}
\end{document}

• Wow! The only stopping criterion is how often one can say ducks duck in a row without getting confused :) – user36296 Mar 25 '18 at 14:26
• Now we just need a tikzbuffalo package. – Richard Mar 25 '18 at 15:47

## Using the wake of a duck to explain the opening angle of Cherenkov light

\documentclass{standalone}
\usepackage{tikzducks}

\begin{document}

\begin{tikzpicture}
\begin{scope}[scale=0.5,xshift=-23,yshift=320]
\duck
\end{scope}
\draw[black]
(10,6) circle (4.45)
(9,6) circle (4)
(8,6) circle (3.55)
(7,6) circle (3.1)
(6,6) circle (2.68)
(5,6) circle (2.24)
(4,6) circle (1.8)
(3,6) circle (1.35)
(2,6) circle (0.9)
(1,6) circle (0.47)
;
\draw[blue,thick]
(12,0) -- (0,6) -- (12,12)
(0,6) -- (15,6)
(8.15,1.96) -- (10,6) -- (8.15,10.04)
(8.8,6)arc(180:120:1.345551)
;
\draw[thick,rotate=26.5,blue,->]   (4,5.35) -- ++(0,0.8);
\draw[thick,rotate=26.5,blue,->]   (6,5.35) -- ++(0,0.8);
\draw[thick,rotate=26.5,blue,->]   (8,5.35) -- ++(0,0.8);
\draw[thick,rotate=26.5,blue,->]   (10,5.35) -- ++(0,0.8);
\draw[thick,rotate=26.5,blue,->]   (12,5.35) -- ++(0,0.8);
\draw[thick,rotate=26.5,blue,->]   (14,5.35) -- ++(0,0.8);
\draw[thick,rotate=-26.5,blue,<-]   (-1.4,4.55) -- ++(0,0.8);
\draw[thick,rotate=-26.5,blue,<-]   (0.6,4.55) -- ++(0,0.8);
\draw[thick,rotate=-26.5,blue,<-]   (2.6,4.55) -- ++(0,0.8);
\draw[thick,rotate=-26.5,blue,<-]   (4.6,4.55) -- ++(0,0.8);
\draw[thick,rotate=-26.5,blue,<-]   (6.6,4.55) -- ++(0,0.8);
\draw[thick,rotate=-26.5,blue,<-]   (8.6,4.55) -- ++(0,0.8);
\node at (9.35,6.4) {\Large $\Theta_{c}$};
\end{tikzpicture}

\end{document}

# Improved 3D version by @marmot

\documentclass{standalone}
\usepackage{tikzducks}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{0}{0}
\begin{tikzpicture}
\begin{scope}[scale=0.5,xshift=-20,yshift=-20]
\duck
\end{scope}
\tdplotsetrotatedcoords{-30}{40}{45}
\begin{scope}[tdplot_rotated_coords]
\foreach \X in {1,...,10}
{
\draw[black] (0,0,\X) circle ({\X*0.45});
\draw[thick,blue,->] (0,{\X*0.45},\X) -- ++(0,0.32,{-0.3*0.45});
\draw[thick,blue,->] (0,{-\X*0.45},\X) -- ++(0,-0.32,{-0.3*0.45});
}
\draw[blue,thick]
(0,4.5,10) -- (0,0,0) -- (0,-4.5,10)
(0,0,0) -- (0,0,14.5) coordinate (P)
(0,4.5,10) -- (0,0,14.5) -- (0,-4.5,10);
\coordinate (M) at (0,0,10);
\end{scope}
\tdplotsetrotatedcoords{-120}{150}{0}
\begin{scope}[tdplot_rotated_coords,red]
\draw (M) arc (-90:-57:3) node[midway,right,yshift=-5]{\Large $\Theta_{c}$};
\end{scope}
\end{tikzpicture}
\end{document}

\documentclass{article}
\usepackage{tikzducks}
\begin{document}
\section*{Length contraction}
\begin{tabular}{ccc}
$v=0$ & $v=0.5\cdot c$ & $v=0.9\cdot c$\\
\begin{tikzpicture}
\path[use as bounding box](0,0) rectangle (2.4,2.4);
\duck
\end{tikzpicture}
&
\begin{tikzpicture}
\path[use as bounding box](-0.25,0) rectangle (2.15,2.4);
\pgftransformcm{sqrt(1-0.5^2)}{0}{0}{1}{\pgfpoint{0cm}{0cm}}
\duck
\end{tikzpicture}
&
\begin{tikzpicture}
\path[use as bounding box](-0.5,0) rectangle (1.9,2.4);
\pgftransformcm{sqrt(1-0.9^2)}{0}{0}{1}{\pgfpoint{0cm}{0cm}}
\duck
\end{tikzpicture}
\end{tabular}\\
Don't worry, the ducks are fine!
\end{document}

Just for fun: rocket ducks.

\documentclass{article}
\usepackage{tikzducks}
\newcommand{\RocketDuck}{ \duck
-- ++({3*cos(25)},{3*sin(25)}) arc (25:-25:3)
-- ++ ({-3*cos(25)},{3*sin(25)}) -- cycle;
\shade[bottom color=red,top color=red!25!white] (4,0.25) arc (90:-90:0.25 and 1) -- (-2,-1.75)
arc (-90:90:0.25 and 1) -- cycle;
\shade[bottom color=blue,top color=blue!25!white] (-2,-1.75) arc (-90:90:0.25 and 1)
-- (-3.2,-0.75) -- cycle;
}
\begin{document}
\section*{Length contraction (Don't worry, the ducks are fine!)}
\begin{tikzpicture}
\draw[ultra thick,-latex] (-1,1.8) -- (-3,1.8) node[midway,above]{$v=0$};
\RocketDuck
\begin{scope}[yshift=-5cm]
\draw[ultra thick,-latex] (-1,1.8) -- (-3,1.8) node[pos=0.45,above]{$v=0.5\cdot c$};
\pgftransformcm{sqrt(1-0.5^2)}{0}{0}{1}{\pgfpoint{0cm}{0cm}}
\RocketDuck
\end{scope}
\begin{scope}[yshift=-10cm]
\draw[ultra thick,-latex] (-1,1.8) -- (-3,1.8) node[pos=0.45,above]{$v=0.9\cdot c$};
\pgftransformcm{sqrt(1-0.9^2)}{0}{0}{1}{\pgfpoint{0cm}{0cm}}
\RocketDuck
\end{scope}
\end{tikzpicture}
\end{document}

• Ducks in Space? :D – user31729 Mar 25 '18 at 21:18
• @ChristianHupfer You are worried about egreg's reaction, right? He's a bit allergic to space(s)... ;-) – user121799 Mar 25 '18 at 21:53

Here's my math joke about the formula calculating the volume of cylinder/disk which might be easier remembered by students/pupils:

The chef duck is perfectly suited for this:

\documentclass[10pt]{article}

\usepackage[most]{tcolorbox}
\usepackage{amsmath}
\usepackage{tikzducks}

\begin{document}
\boldmath
\begin{tcbraster}[raster columns=2,raster rows=2,height=15cm,raster equal height]
\begin{tcolorbox}[height=0.5\linewidth,valign=center,halign=center,width=0.5\linewidth,enhanced, fontupper={\large},colback=yellow!20!white, circular arc, drop shadow]

What is the formula for the volume of a cylinder with

\begin{itemize}
\item radius $z$
\item[]  and
\item height $a$
\end{itemize}

?
\end{tcolorbox}
\begin{tikzpicture}[scale=2.5]
\duck[chef=white!95!yellow,
rollingpin=brown!80!black, think={$V = pi \cdot z \cdot z \cdot a$}]
\end{tikzpicture}
\end{tcolorbox}
\end{tcbraster}
\end{document}

No ducks were harmed → they are just the pizza chefs...

• can ducks be used rather than rabbit in Fibonacci sequence ? – touhami Mar 25 '18 at 7:04
• You last statement is only true of the duck chefs are not forced to make pineapple pizza :) – user36296 Mar 25 '18 at 10:25
• @samcarter: They are not physically harmed... although being forced to use delicious pizza dough in conjunction with pineapple could make them mad, of course ;-) – user31729 Mar 25 '18 at 10:27
• I was about asking a stupid question about nomenclature ;-) – AlexG Mar 25 '18 at 11:08
• @AlexG: Nomenclature? Good pizza vs. Evil pizza ? – user31729 Mar 25 '18 at 11:24

In order to add some chemistry to this list, here is a laboratory duck helping to explain the concept of chirality.

\documentclass{standalone}
\usepackage{tikzducks}
\usepackage{chemfig}
\usepackage{arydshln}
\begin{document}
\colorbox{black!20!white}{
\begin{tabular}{c:c}
\begin{tikzpicture}[xscale=-1,transform shape]
\duck[glasses=gray,tshirt=black!10!white,jacket=white]
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw,clip] (-0.5,1.75) to[rounded corners=2pt]++(0,-1)to[rounded corners=2pt]++(-1,-2.5)to[rounded
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,fill=green!90!black](-1.6,-2) rectangle (1.6,{1cm-2cm});
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (0,0) circle (5pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (-0.2,0.75) circle (3pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (0.25,1.15) circle (2pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (0,1.4) circle (4pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (-0.25,-0.5) circle (3pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (0.25,-1) circle (5pt);
\end{tikzpicture}
&
\begin{tikzpicture}
\duck[glasses=gray,tshirt=black!10!white,jacket=white]
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw,clip] (-0.5,1.75) to[rounded corners=2pt]++(0,-1)to[rounded corners=2pt]++(-1,-2.5)to[rounded
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,fill=green!90!black](-1.6,-2) rectangle (1.6,{1cm-2cm});
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (0,0) circle (5pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (-0.2,0.75) circle (3pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (0.25,1.15) circle (2pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (0,1.4) circle (4pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (-0.25,-0.5) circle (3pt);
\path[xshift=35,yshift=20,scale=0.2,rotate=-10,draw=black,  line width=0.2pt, fill=green!70!white] (0.25,-1) circle (5pt);
\end{tikzpicture}
\\[0.25cm]
\scalebox{0.6}{\chemfig{A-[:30](-[:90]B)(<:[:-10]C)(<[:-50]D)}}
&
\scalebox{.6}{\chemfig{A-[:150](-[:90]B)(<:[:190]C)(<[:230]D)}}
\end{tabular}
}

\end{document}

PS: Thanks to appropriate personal protective equipment (safety glasses and a lab coat) no ducks were harmed during the experiments...

The code for the erlenmeyer flask is heavily inspired frome this question: tikz and \pgfdeclareshape why the text is not at the center anchor?

• Fantastic! I hope the duck does not blow up anything :) – user36296 Mar 25 '18 at 14:44
• FYI: the next version of the tikzducks will include buttons for the lab coat i.stack.imgur.com/bXN1a.png – user36296 Mar 26 '18 at 14:19
• @samcarter: As long as the duck keeps in mind the hazard and precautionary statements, nothing will be blown up by accident. Thanks for including the buttons. With them the lab coat looks a lot more realistic. – leandriis Mar 26 '18 at 18:56

Moebius Duck's evocation

\documentclass[margin=1cm,tikz]{standalone}
\usepackage{luatex85,tikzducks,ifthen}
\usetikzlibrary{calc}

\begin{document}

\foreach \frame in {0,...,81} {%

\pgfmathtruncatemacro{\x}{mod(\frame,41)}

\ifthenelse{\x>64 \OR \x<4}{\def\Orient{-1}}{\def\Orient{1}}

\begin{tikzpicture}[x  = {(1cm,0cm)},
y  = {(45:.5cm)},
z  = {(0cm,1.5cm)},
scale=3]

\foreach \L [count=\z from -2, evaluate=\z as \y using \z/4 ] in {A,...,E} {%
\foreach \x [count=\n from 0] in {0,9,...,360} {%
\pgfmathsetmacro{\T}{1+0.5*\y*cos(\x/2)}
\pgfmathsetmacro{\X}{\T*cos(\x)}
\pgfmathsetmacro{\Y}{\T*sin(\x)}
\pgfmathsetmacro{\Z}{0.5*\y*sin(\x/2)}
\path (\X,\Y,\Z) coordinate (\L\n)
;
}
}

\ifthenelse{\frame=62 \OR \frame=63}{%
\begin{scope}[x={(1cm,0cm)},
y={(0cm,1cm)},
shift={($(C\x)-(.05,.03)$)},
scale=.05]
\duck
\end{scope}}{}

\foreach \i  [evaluate=\i as \j using int(\i+1),
evaluate=\i as \K using 80-30*cos(9*(\i-22.5))
] in {0,1,...,39} {%
\ifthenelse{\frame=18 \AND \i>17 \AND \i<20}{%
\begin{scope}[x={(1cm,0cm)},
y={(0cm,1cm)},
shift={($(C18)-(.05,.03)$)},
scale=.05]
\duck
\end{scope}}{}
\draw[smooth,gray,fill=orange!25!white!\K!blue]
(A\i) -- (E\i) -- (E\j) -- (A\j) -- cycle ;
\draw[smooth,gray] (B\i) -- (B\j) (D\i) -- (D\j) ;
\draw[smooth,thick] (C\i) -- (C\j) ;
}

\ifthenelse{\frame<18 \OR \frame>63}{%
\begin{scope}[x={(1cm,0cm)},
y={(0cm,1cm)},
shift={($(C\x)-(.05,.03)$)},
scale=.05]
\duck
\end{scope}}{}

\end{tikzpicture}   }

\end{document}

Ducks preserve the amount of movement

\documentclass[tikz,margin=1cm]{standalone}
\usepackage{tikzducks,luatex85,ifthen}
\usetikzlibrary{calc,backgrounds}

\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}

\newcommand{\Duck}[1]{%
\begin{scope}[scale=\scl,shift={(-1.05,-1.075)}]
\clip (.1,.1) rectangle (2.1,2.15) ;
\coordinate (dck) at (1.05,1.075) ;
\duck
\end{scope}
\begin{pgfonlayer}{background}
\draw[gray!25] (dck) -- (A#1) ;
\end{pgfonlayer}
}

\begin{document}

\def\pas{.434}
\def\scl{.22}

\foreach \x in {-9,...,9,8,7,...,-8} {%

\begin{tikzpicture}

\path[use as bounding box] (-2,0) rectangle (4,1.5) ;

\foreach \i [evaluate=\i as \j using (\i-1)*\pas] in {0,...,6} {%
\coordinate[] (A\i) at (\j,1.5) ;
\fill (A\i) circle (1pt) ;
}

\ifthenelse{\x<0}{%
\pgfmathsetmacro{\L}{-90+60*sin(10*\x)}
\gdef\R{-90}
}{%
\gdef\L{-90}
\pgfmathsetmacro{\R}{-90+60*sin(10*\x)}
}

\begin{scope}[shift=($(A6)+(\R:1.5)$)]
\Duck{6}
\end{scope}

\begin{scope}[shift=($(A0)+(\L:1.5)$)]
\Duck{0}
\end{scope}

\foreach \i in {1,...,5} {%
\begin{scope}[xshift=\pas*\i cm -\pas cm]
\Duck{\i}
\end{scope}
}

\end{tikzpicture}}
\end{document}

• Really awesome! – user36296 Apr 5 '18 at 9:09

I will admit that this was slightly inspired by this question, but here is a genuine worksheet that I used today.

• Are you sure this duck didn't get harmed? – gusbrs Mar 26 '18 at 21:13
• @gusbrs It was given the Easter egg as a reward for all its hard work. – Loop Space Mar 26 '18 at 21:21
• Ah!, just like the human cannonball, I see. :) But I suppose it is fair to admit tikzducks are even more resistant than rubber-ducks. – gusbrs Mar 26 '18 at 21:26
• Very nice answer! – user36296 Mar 27 '18 at 8:57

It can be used to illustrate Occam's razor, which could be argued to be the epitome of scientific guessing:

If it looks like a duck, floats like a duck, and bobs its head like a duck, then obviously it is a duck! (Even if it is just a toy duck.)

• Of course this raises the very tricky question of whether a "toy duck" is in fact a duck. – Alan Munn Mar 25 '18 at 14:06
• @AlanMunn: That's a very interesting question, and incidentally I thought a lot about that very question before. My conclusion is that linguistically a "toy duck" is in fact a "duck", because an adjective can be treated as a function that on an input noun phrase produces an output that is also a noun phrase, appropriately modified from the input. There are 2 sorts of adjectives. One sort is an operator on its domain; its domain is closed under it. The other sort is not an operator on its domain. The adjective "toy" is an operator, while the adjective "fake" is not. – user21820 Mar 25 '18 at 14:52
• @AlanMunn: Anyway, I deliberately made the example comical, rather than serious, and it's up to the dear reader to come up with the hard questions in philosophy of science/language. =D – user21820 Mar 25 '18 at 14:54
• Well as my dissertation advisor once said: which would you prefer to be shot with, a gun or a toy gun? So it's not clear that 'toy' is substantially different from 'fake'. – Alan Munn Mar 25 '18 at 14:56
• @AlanMunn: You're making a fallacious argument here. A brown duck is a duck. And a yellow duck is also a duck. But a brown duck is certainly not a yellow duck. Similarly, a toy gun is a gun, but that does not mean all guns are identical to a toy gun. – user21820 Mar 25 '18 at 15:09

## Visualization of a sinus function

\documentclass{article}
\usepackage[utf8]{inputenc} %probably not needed ...
\usepackage[T1]{fontenc}
\usepackage{geometry}
\geometry{papersize={128mm,96mm},margin=0.5cm} %\textwidth=11.8, \textheight=8.6
\usepackage[x11names]{xcolor}
\usepackage{tikzducks}
\usetikzlibrary{shapes.geometric}
\pagestyle{empty}
\parindent=0pt
\usepackage{eso-pic}
\usepackage{xfp}
\tikzstyle{witchstars}=[star, star points=5, star point ratio=2.25, draw,inner sep=1.3pt,anchor=outer point 3]

\begin{document}
\AtPageLowerLeft{%
\begin{tikzpicture}[overlay,remember picture]
\fill[DeepSkyBlue3] (0,0) rectangle (\paperwidth,\paperheight);
\pgfmathsetseed{2}
\end{tikzpicture}}}

\newcommand\loopmax{30}

\foreach \z in {1,2,...,\loopmax}{%
\begin{tikzpicture}
\path (0,0) rectangle (\textwidth,\textheight);
\begin{scope}[scale=2]
%\draw[domain=0:10, black,smooth]   plot (\x,{sin(\x r)+0.5}) ;
\end{scope}
\begin{scope}[overlay,
xshift=\fpeval{0.67-\z*(0.67/\loopmax)}\textwidth,
yshift=\fpeval{sin(\z/\loopmax*2*pi)+0.5}cm ]
\begin{scope}[scale=2]

\duck[witch=black!50!gray,
longhair=red!80!black,
jacket=black!50!gray,
magicwand]
\fill[red] (0,0) node[witchstars,fill=red,inner sep=2.3pt]{};
\end{scope}
\end{scope}
\foreach \y in {1,2,...,\loopmax}{%
\begin{scope}[overlay,
xshift=\fpeval{0.67-\y*(0.67/\loopmax)}\textwidth,
yshift=\fpeval{sin(\y/\loopmax*2*pi)+0.5}cm ]
\fill[] (0,0) node[witchstars,fill=yellow,inner sep=1.3pt]{};
\end{scope}
}

\end{tikzpicture}\newpage}

\end{document}

• If you rotate the duck as it travels along the curve you can show that the derivative is the cosine as well. – Loop Space Mar 31 '18 at 15:51

The Doppler Duck's affect

\documentclass[margin=1cm,tikz]{standalone}
\usepackage{luatex85,tikzducks,ifthen}
\usetikzlibrary{calc,decorations.markings,backgrounds}

\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}

\begin{document}

\foreach \i [count=\frame from 1] in {-12.5,...,12.5} {

\ifthenelse{\frame>14}{\def\K{blue}}{\def\K{red}}

\begin{tikzpicture}

\def\X{15}
\def\Y{2}

\filldraw[gray!50,transform canvas={xslant=2}] (-\X,-\Y) -- (\X,-\Y) -- (\X,\Y) -- (-\X,\Y) -- cycle ;

\draw[line width=5pt,
white,
transform canvas={xslant=2},
dash pattern=on 20mm off 8mm] (-\X,0) -- (\X,0) ;

\begin{pgfonlayer}{foreground}
\begin{scope}[shift={(\i,-.9)},xscale=-1]
\ifthenelse{\frame=14}{%
\duck[speech={Coin !},bubblecolour=white!95!yellow]}{%
\duck
}
\coordinate (LH) at (wing) ;
\end{scope}
\end{pgfonlayer}

\begin{scope}[shift={(-\i,.6)}]
\duck
\coordinate (RH) at (wing) ;
\end{scope}

\path[decoration={%
markings,% switch on markings
mark=between positions .18 and .98 step 0.2 with {
\draw[ultra thick,\K] (0,0)
arc (0:15:\pgfkeysvalueof{/pgf/decoration/mark info/sequence number}) ;
\draw[ultra thick,\K] (0,0)
arc (0:-15:\pgfkeysvalueof{/pgf/decoration/mark info/sequence number}) ;
}
},
postaction={decorate}] (LH) -- (RH) ;

\end{tikzpicture}
}
\end{document}

The redshift version :

\documentclass[margin=1cm,tikz]{standalone}
\usepackage{luatex85,tikzducks,ifthen}
\usetikzlibrary{calc,decorations.markings,backgrounds}

\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}

\begin{document}

\foreach \i [count=\frame from 1] in {-12.5,...,12.5} {

\pgfmathsetmacro{\Koeff}{100*cos(\i/15*90)}

\ifthenelse{\frame<14}{%
\def\K{yellow!\Koeff!blue}}{%
\def\K{yellow!\Koeff!red}
}

\begin{tikzpicture}

\def\X{15}
\def\Y{2}

\filldraw[gray!50,transform canvas={xslant=2}] (-\X,-\Y) -- (\X,-\Y) -- (\X,\Y) -- (-\X,\Y) -- cycle ;

\draw[line width=5pt,
white,
transform canvas={xslant=2},
dash pattern=on 20mm off 8mm] (-\X,0) -- (\X,0) ;

\begin{pgfonlayer}{foreground}
\begin{scope}[shift={(\i,-.9)},xscale=-1]
\ifthenelse{\frame=14}{%
\duck[body=\K,speech={Coin !},bubblecolour=white!95!yellow]}{%
\duck[body=\K]
}
\coordinate (LH) at (wing) ;
\end{scope}
\end{pgfonlayer}

\begin{scope}[shift={(-\i,.6)}]
\duck[body=\K]
\coordinate (RH) at (wing) ;
\end{scope}

\end{tikzpicture}
}
\end{document}

• @ Tarass Amazing! – user36296 Mar 31 '18 at 13:59
• @samcarter I wonder if you plane to make a rotative duck shape, let say every 45° ? and btw, duck looses his eyes with xshift=-1, but not with xscale=-1, also with rotate around y. – Tarass Mar 31 '18 at 14:04
• I'll give it a +1 for the idea, and −1 for the scientific content. Those sound waves, if that is what they are, don't behave like sound waves! But there is potential here. – Harald Hanche-Olsen Mar 31 '18 at 14:08
• @Tarass Do you have a MWE of the duck losing its eyes? \begin{tikzpicture} \begin{scope}[xshift=-1] \duck \end{scope} \end{tikzpicture}  works fine for me – user36296 Mar 31 '18 at 14:09
• Don't the ducks see a red shift when moving apart, and a blue shift when approaching each other? – Harald Hanche-Olsen Mar 31 '18 at 14:15

Here are some ducks illustrating the need for sidelobe supression in radar. (I may have been a little bit inspired by this question, but I used this in a real presentation.)

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc, positioning, shapes.arrows}
\usepackage{tikzducks}

%%% extract coordinate
\newdimen\XCoord
\newdimen\YCoord
\newcommand*{\ExtractCoordinate}[1]{\path (#1); \pgfgetlastxy{\XCoord}
{\YCoord};}%

%%% Waves, source: https://tex.stackexchange.com/questions/423489/concentric-circle-segments-between-two-points-in-tikz/423567#423567
%#1=Number of waves
%#2 ans #3 point A and B
%#4 Angle of first wave
%#5 Colour of waves
\def\NumSignalsFromToAngle#1#2#3#4#5{%
\def\NumberSignals{#1}
\ExtractCoordinate{#2}
\xdef\Xa{\XCoord}
\xdef\Ya{\YCoord}
\ExtractCoordinate{#3}
\xdef\Xb{\XCoord}
\xdef\Yb{\YCoord}
\def\lw {2} %line width
\pgfmathsetmacro\dist{10*sqrt((\Xb/10-\Xa/10)^2+(\Yb/10-\Ya/10)^2)}
\pgfmathsetmacro\step{\dist/\NumberSignals}
\def\offset{0.02*\dist}
\pgfmathsetmacro\AngleFromAToB{\ifdim\Xb>\Xa atan((\Yb/10-\Ya/10)/(\Xb/10 -\Xa/10))\else \ifdim \Xb<\Xa 180+atan((\Yb/10-\Ya/10)/(\Xb/10 -\Xa/10))\else\ifdim\Ya>\Yb -90\else90\fi\fi\fi}
\foreach \i in {1,...,\NumberSignals}
{%
\coordinate(Point) at ($(#2)+({((\step pt)*(2*\i-1)/2-\offset)*cos(\AngleFromAToB) },{(((\step pt)*(2*\i-1)/2-\offset)*sin(\AngleFromAToB)})$);
\pgfmathsetmacro\r{\step/2*(2*\i-1)}
%\l_1=\l_i => \angle_i=\angle_1/(2i-1)
\pgfmathsetmacro\angle{#4/(2*\i-1)}
\draw[line width = \lw, #5]  (Point) arc (\AngleFromAToB:    {\AngleFromAToB+\angle/2}:\r pt);
\draw[line width = \lw, #5]  (Point) arc (\AngleFromAToB:{\AngleFromAToB-\angle/2}:\r pt);
}
}

\begin{document}

\begin{tikzpicture}
\def\h{2} %height
\def\xd{0.5} %x-depth
\def\yd{0.12} %y-depth
\def\xw{1.2}   %x-width
\def\yw{1} %y-width
\coordinate (A) at (0,0);
\coordinate (B) at ($(A) + (\xd,\yd)$);
\coordinate (C) at ($(B) + (0,\h)$);
\coordinate (D) at ($(A) + (0,\h)$);
\coordinate (E) at ($(A) + (-\xw, \yw)$);
\coordinate (F) at ($(E) + (0, \h)$);
\coordinate (G) at ($(F) + (\xd,\yd)$);

\shade[bottom color=gray!90, top color=black!30](A) -- (B) -- (C) -- (D) -- (A);
\shade[bottom color=gray!80, top color=black!10](A) -- (D) -- (F) -- (E) -- (A);
\shade[bottom color=gray!80, top color=black!10] (D) -- (C) -- (G) -- (F) -- (D);

\coordinate (radar) at ($(A) !0.5! (F)$);

\coordinate (T) at ($(radar) + (-5,0)$);
\begin{scope}[shift = {($(T) + (-1,-0.4)$)}, scale = 0.5]
\duck[book=\scalebox{0.6}{$\beta$},
tassel=red!70!black];
\end{scope}
\coordinate (midpos) at ($(radar) !0.5! (T)$);
\node[single arrow,fill=red!50, above = of midpos]  {\scriptsize reflected};
\node[single arrow,fill=blue!50, below = of midpos, shape border rotate = 180]  {\scriptsize emitted};

%%% kulturman duck
\coordinate (T) at ($(radar) + (-2,2)$);
\coordinate (R) at ($(radar) + (0,\h/3)$);
\begin{scope}[shift = {($(T) + (+0.2,-0.3)$)}, yscale=.5,xscale=-.5]
\duck[crazyhair, wine=red!70!black];
\end{scope}
\NumSignalsFromToAngle{3}{T}{R}{130}{red!70}

%%% mirror duck
\coordinate (T) at ($(radar) + (-0.5,-1.5)$);
\coordinate (R) at ($(radar) + (0,-\h/3)$);
\begin{scope}[shift = {($(T) + (-1,-1)$)}, scale = 0.5]
\duck[beret=red!40!blue!90!white, signpost, signback=white!80!brown];
\end{scope}
\NumSignalsFromToAngle{2}{R}{T}{130}{blue!50}
\NumSignalsFromToAngle{2}{T}{R}{130}{red!70}

%%% mystery duck
\coordinate (T) at ($(radar) + (-6,-2)$);
\coordinate (R) at (radar);%($(radar) + (\xw/2,-\h/3)$);
\begin{scope}[shift = {($(T) + (0,-0.5)$)}, yscale=.5,xscale=-.5]
\end{scope}
\NumSignalsFromToAngle{7}{T}{R}{130}{red!70}
\end{tikzpicture}

\end{document}

## Dispersion of water waves

This answer can be seen as an extension to the answer for the Cherenkov effect. The effect is observed in the real world (just search for it or look into the relevant Wikipedia articles), when ducks (or boats, or anthing else) swim.

If a duck just sits in the water and wobbles up and down, we can observe circles of water waves. (the code for this duck is easily found in the manual)

But when the duck swims with a (constant) velocity and naturally continues to wobble/continues to excite waves, these circles all have different origins. We would expect something like in the answer for the Cherenkov effect: Only in two direction for each wabe circle, there is a positive interference and two wavefronts should appear. The opening angle of the depends on the speed of the duck and the propagation speed of the water wave.

But this is not what is observed in reality! Water waves have a frequency-dependent speed of propagation (aka dispersion), and each emitted pulse (here denoted in time steps $\delta t$) has a group velocity and a different phase velocity. The angle where the constructive interference happens is determined by the groupd velocity because this one determines where the pulse is currently travelling, but inside this pulse, the phase velocity determines how the wavefront is oriented.

Overall, this leads to a picture like the following one.

The angles are not correct because I am too lazy (I think, they are quite fixed due to physics.) Also the wavefront shape is probably not perfect.

Code for the first part

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{ducks}

\begin{document}

\begin{tikzpicture}
\begin{scope}[rotate=30,]
\draw[gray]
(8,6) circle (3.55)
(6,6) circle (2.68)
(4,6) circle (1.8)
(2,6) circle (0.9)
;
\draw [<->,very thick,gray] (2,6) -- (4,6) node[midway,above,rotate=30] {$v_\mathrm{duck}\Delta t$} ;
\draw [<->,very thick,gray] (4,6) -- (6,6) node[midway,above,rotate=30] {$v_\mathrm{duck}\Delta t$} ;
\draw [<->,very thick,gray] (6,6) -- (8,6) node[midway,above,rotate=30] {$v_\mathrm{duck}\Delta t$} ;
\draw [ ->,very thick] (2,6) -- ({2-0.90*sin(28)},{6-0.90*cos(28)}) node[midway,right,rotate=00] {$v_\mathrm{wave}\Delta t$};
\draw [ ->,very thick] (4,6) -- ({4-1.80*sin(28)},{6-1.80*cos(28)}) node[midway,above,rotate=-90] {$2v_\mathrm{wave}\Delta t$};
\draw [ ->,very thick] (6,6) -- ({6-2.68*sin(28)},{6-2.68*cos(28)}) node[midway,above,rotate=-90] {$3v_\mathrm{wave}\Delta t$};
\draw [ ->,very thick] (8,6) -- ({8-3.55*sin(28)},{6-3.55*cos(28)}) node[midway,above,rotate=-90] {$4v_\mathrm{wave}\Delta t$};
\draw[blue,thick] (12,0) -- (0,6) -- (12,12);
\draw[gray,dashed]  (0,6) -- (15,6);
\draw (-.5,6) pic[scale=0.75] {duck};
\end{scope}

\end{tikzpicture}

\end{document}

Similar Code for the second part

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{ducks}

\begin{document}

\begin{tikzpicture}
\begin{scope}[rotate=30,]
\draw[gray]
(8,6) circle (3.55)
(6,6) circle (2.68)
(4,6) circle (1.8)
(2,6) circle (0.9)
;
\begin{scope}
\clip (0,6) -- (1,7) -- (11,12) -- (11,11) -- (1,6) -- cycle;
\foreach \x in {0.7,1.4,...,5}{
\draw[ultra thick,blue] (\x,6) -- (\x+7,6+7);
}
\end{scope}
\begin{scope}
\clip (0,6) -- (1,5) -- (11,0) -- (11,1) -- (1,6) -- cycle;
\foreach \x in {0.7,1.4,...,5}{
\draw[ultra thick,blue] (\x,6) -- (\x+7,6-7);
}
\end{scope}
\draw[blue!50!gray,semithick] (12,0) -- (0,6) -- (12,12);
\draw[gray,dashed]  (0,6) -- (15,6);
\draw (-.5,6) pic[scale=0.75] {duck};
\end{scope}

\end{tikzpicture}

\end{document}


text:
Search

# Physics 12B Winter 2017

## Physics 12b - Intro to Quantum Physics, Jan-Mar 2017

Physics 12b is a 10-week introduction to quantum physics for students planning to major in physics, astronomy, or related fields.

from https://en.wikipedia.org/wiki/Quantum_mechanics

Announcements:

Office: 102 Kellogg Radiation Lab;  Mail Code: 106-38; Phone: x4517; E-mail: bradf AT caltech.edu

Prerequisites:
Math 1abc or equivalent (differential equations, complex numbers, ...)
Physics 1abc, or equivalent (mechanics, special relativity, electromagnetism)
Physics 2a or Physics 12a: Waves

Lectures:
Tuesdays, 10:30-11:55, 269 Lauritsen.
Thursdays, 10:30-11:55, 201 East Bridge.
Any changes will be announced well in advance.

Textbook for Phys 12b:
David Griffiths, Introduction to Quantum Mechanics, 2nd ed; (amazon)

Recommended: Liboff, Introductory Quantum Mechanics, 4th ed;
Also French & Taylor, Eisberg & Resnick, Feynman lectures
There are many other good introductory QM textbooks

Class notes:
PDF files under "Class Notes"

Problem Sets:
Due on Monday at 5pm in the Physics 12b IN box by the East Bridge mailboxes, and returned to the Physics 12b OUT box also by the East Bridge mailboxes by the following Monday (I hope!). Solution sets will be posted on the web. You are strongly encouraged to check your work when it is returned to you. Problem sets are essential for mastering the material in this class!

Exams:
Midterm and final exams during appropriate weeks of the term (5th and 10th). Both will be take-home and limited" open-book (only the text and class notes allowed). The final exam will be comprehensive.

Grading: 50% problem sets, 15% midterm, 35% final exam.

• Min-Feng Tu [ mtu at ...], Sun. 4PM, 114 E. Bridge
Office Hrs: Sun. 5PM, 114 E. Bridge

• Matthew Heydeman [mheydema at ...], Fri. 2PM, 107 Downs
Office Hrs: Fri. 3PM, 4th floor Lauritsen Interaction Area

• Kung-Yi Su [ ksu at ]
HW Grading: HW1=ksu, HW2=mtu, HW3=mheydema, ...

Extensions:

• OFFICIAL policy: Work (the entire problem set) will be accepted up to one week late at 1/2 credit, no credit thereafter. Please put a note at the top of your problem set if it is late.
• Students may request extensions from the corresponding grader (see emails above) a day or more in advance. Extension requests are governed by the honor system.
• One extension (for up to one week) is allowed without question (your silver bullet). Please put a note at the top of your problem set that you are using your silver bullet.
• Extension requests should be accompanied by a good excuse (eg, physical or mental illness), and in principle should be accompanied by a note from the dean.
• Please put late or extension problem sets in the corresponding grader's mail box, and email them.
• Late papers make far more work for the graders, who have their own set of pressures and deadlines as graduate students. There is no entitlement to extensions, so please do not be demanding.

Honor Code and Collaboration policy:

• Work is governed by the honor system.
• You may not use sources that contain the answer to a problem or to a very similar problem.
• In particular, do not use solution sets from previous years, problem/solution books, or internet searches at any time. Exams and their solutions from past years are not to be used in any fashion.
• Discussion with others is encouraged, but then you should go off alone and write it up; the work you hand in must be your own.
• Mathematica may be used in problem sets, or in exams for getting past some mathematical chore (not for gaining knowledge of the physics). It should never be necessary; it is much better to master the mathematical analysis yourself without help from Mathematica. If you chose to use Mathematica anyway, make sure you simplify the result as much as possible, so that it is easy to see what the math is telling you.
• Please attend class, and section meetings!
• Clearly mark the problem numbers and answers.
• Please write as neatly as possible. A human being is trying to read your work well enough to give credit!

Feedback:
I greatly appreciate student feedback; feedback prior to the end-of-term evaluations lets me modify the class to fit your needs. I also welcome any comments in person, by email to bradf AT caltech.edu, by campus mail, whatever you like. Or, talk to your:

Ombudspeople:
Ombudsfolk are student volunteers who represent the students of each of the undergrad houses. They collect suggestions, comments, complaints, etc, and present them to the head ombudsperson at periodic meetings (free lunch!). Talk to your ombudsperson!

• Ben Calvin, bcalvin AT caltech.edu (Blacker)
• Jake Mattinson, jmattins AT caltech.edu (Ricketts)
• Walker Melton, wmelton AT caltech.edu (Avery)
• Anusha Pai, apaiasno AT caltech.edu (Ruddock)
• Madeline Schemel, mschemel AT caltech.edu (Lloyd)
• Alejando Yankelevich, ayankele AT caltech.edu (Dabney)
• Charles Ross, charleshenryrosstd AT gmail.com (Fleming)

format: plain


text:
시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 0 0 0 0.000%

문제

Flatland is a 2-dimensional world in which some creatures have an odd miserable life. Despite the many handicaps, the poor creatures have recently achieved the wireless technology in Flatland. So, the priest circles (governors of Flatland who kill the apostles of 3D as soon as they see one) created the national motto “Wireless technology is our indisputable right!” and organized a wireless spreading committee for connecting
all important points of the Flatland by wireless antennas.

Everything went well until the committee reached the mountainous region of Flatland. This region can be modeled with a horizontal base line covered by a contiguous serie of mountain. Each mountain is a right-angled isosceles triangle with its base on the base line and its right angle as the peak. Currently, there are only two types of mountains in this region: those with a height of 50, and those with a height of 100. You can see a sample of the mountainous region in the figure below.

The wireless spreading comitte first installed their antennas on the points they had already planned for the mountainous region. But in the end, they found out that a pair of antennas could directly communicate only if the line segment connecting the two antennas had no crossing intersection with any obstacles — specifically the mountains here. Note that two antennas can communicate if only the border of obstacles is on their connecting line segment.

Since removing a wireless antenna in Flatland is nowadays as a deadly sin as “chromatization”, the only way to connect the set of already installed antennas is to install some extra antennas on the appropriate points of the mountains! Wireless antennas can generally relay the messages and connect to ones which cannot communicate directly. In order to reduce the expenses of installing extra antennas, the wireless spreading committee has hired you to find the minimum number of antennas needed to install.

For example, consider the 4 diamond-shaped points in the figure below as the place of the wireless antennas already installed on the mountains. Now the whole set becomes connected if you instal 3 new antennas in the places specified by the circle-shaped points.

입력

There are multiple test cases in the input. Each test case starts with a line containing the integer n (1 ≤ n ≤ 500), the number of mountains, followed by the integer m (1 ≤ m ≤ 10000), the number of already installed antennas. The second line contains n integers h1, h2, . . . , hn (hi ∈ {50, 100}), respectively representing the height of the mountains on the base line from left to right. The third(last) line of the test case contains m integers specifying the position of the antennas already installed on the mountains. The position of each antenna is specified by its X coordinate, assuming the left-most point of the left-most mountain being the origin of the coordinate system. You yourself can calculate the Y coordinate of antenna as it is put on the boundaries of a mountain.

The input terminates with a line of the form ‘0 0’ which should not be processed as a test case.

Note: The Sample Input test case is related to the configuration illustrated in the above figure.

출력

For each test case, write a single line containing the minimum number of extra wireless antennas needed for making the given set of antennas connected.

예제 입력

5 4
100 50 50 100 50
50 220 290 625
0 0

예제 출력

3


text:
MathJax - Beautiful math in all browsers

A JavaScript display engine for mathematics that works in all browsers. No more setup for readers. It just works.

## The code of MathJax in Hugo theme

Create a file named mathjax_support.html in the /layout/partials/ folder. Insert the below code into it, for example.

Then, include mathjax_support.html in footer.html or header.html. In my case. I chose to put it in header.html as follows:

This code means mathjax_support.html will be include as long as you add mathjax = ture to your front matter.

## Using MathJax in your post

First, add mathjax = ture to your front matter. It could be like this.

Second, write LaTeX code in your post, put inline math into '$','$', and display math between '$$','$$'.

## Inline math

Here is inline math: $\sqrt{3x-1}+(1+x)^2$

The result is: $\sqrt{3x-1}+(1+x)^2$

## Display math

Here is display math:

The result is:
\begin{align} \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \newline \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \newline \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \newline \nabla \cdot \vec{\mathbf{B}} & = 0 \end{align}

## Subscript issue with markdown

After enabling MathJax, any math entered between proper markers (see the MathJax documentation) will be processed and typeset in the web page. One issue that comes up, however, with Markdown is that the underscore character (_) is interpreted by Markdown as a way to wrap text in emph blocks while LaTeX (MathJax) interprets the underscore as a way to create a subscript. This “double speak” of the underscore can result in some unexpected and unwanted behavior.

There are many solutions to the problem, the Hugo official document hints a way to make MathJax work. It revolves a series of complex steps to correctly display LaTeX code. And you have to put inline mathematics between '$TeX Code$', and put display style mathematics between <div>$$TeX Code$$</div>. This method treats ‘inline math’ with ‘code’, which may get some trouble in your website style.

I think it’s too complex and tedious, my suggestion is to simply use \_ instead of _ in your LaTeX code.

Here is a example: $\sum\_{k=1}^n a\_k$

The result is $\sum_{k=1}^n a_k$.

0%


text:
# Not-so-solid massive core wings: Lightening the core foam

### Help Support HomeBuiltAirplanes.com:

#### stanislavz

##### Well-Known Member
HBA Supporter
Some live photos. I do really like laminating between two foils approach, for thin skin it saves you a lot of epoxy - which would be lost in peelply and flow mesh.

#### Attachments

• 58.6 KB Views: 33
• 69.3 KB Views: 31
• 50.3 KB Views: 31
• 92.7 KB Views: 30

#### wsimpso1

##### Super Moderator
Staff member
Log Member
Carve out depressions on the underside of a solid foam wing, and have the fiberglass skin conform to those depressions instead of enclosing them. The solid foam fore and aft is the "spars" and you can generally get away with a lot of shenanigans on the underside of a wing.

Curve the edges smoothly and those sections are like a regular wing with a lot of under-camber.
Biggest problem is that it will roughly halve the depth that you can put a spar in. Halving the depth of a spar means it needs to be four times as heavy to be as strong in bending. Bending strength is critical in wings - this will add weight to the wing, not lighten it.

Then there is the substantial increase in wing camber... We normally assume that the original designer picked the airfoil for good reasons. The effective camber of this wing will be between that from the deepest part of the depressions and the original. If the original was pretty good, this will have excess camber.

Billski

#### Hephaestus

##### Well-Known Member
Everyone is different, but I would find hotwiring a foam core and doing a layup on top of it, then removing the hot-wired unneeded channels as more achievable than building two female molds, fabricating the wing skins in them, procuring EPS kernals, and injecting steam into the void to get them to puff up exactly right. I don't have a large quantity of available process steam at home, and making that happen would be some high adventure.
There is EPS that is half the density of XPS, but it is much less than 1/2 the compressive strength of the "normal" XPS foam used for solid core wings. ASTM C578 Type V111 EPS has a minimum density 1.15 pcf, but it has a compressive strength of 13 psi (with 10% compression). It is very soft. You can get 60 psi EPS (it would be ASTM C578 Type XV), but it has a density of 3 pcf (about 50% more weight than comparable XPS).
The steam is easily solved by rental places, most have some kinda steam (what is it a boiler?) generator for the hydrovac, daylighting and construction industries around here. Big ass towable trailer system like the HUGE compressors - but, not terribly expensive.

The Rohr way's been stuck in my head a while and I've been wondering about it for a long ass time... But it's almost deprecated technology now.

Cutting a pair of molds, layup, then assemble/steam sounds good in some ways As I sit ordering more xps blocks because I can't seem to get decent cuts lately to save my life.

#### stanislavz

##### Well-Known Member
HBA Supporter
As I sit ordering more xps blocks because I can't seem to get decent cuts lately to save my life.

#### Hephaestus

##### Well-Known Member
Most are PEBKAC variety. Though we've had 3 different CNC failures (motor driver, then a bearing, then a stepper got wierd), today's failure was me not adequately securing the block... Was good to about 70% done then I decided all was smooth, went to make coffee... Came back and had to dump a fire extinguisher on the problem

You know, normal workshop issues.

#### stanislavz

##### Well-Known Member
HBA Supporter
Was good to about 70% done then I decided all was smooth, went to make coffee...
Ha ha. Designer soul must be presented while working on cnc. If you have to mount foam block - you are cutting too agressivelly. You wire do not touch foam at any time. Just radiant heat. You may mount gauge on you tensioner spring - it may move onle while power is turned on/off. While cutting - rocket solid..

#### Hephaestus

##### Well-Known Member
Ha ha. Designer soul must be presented while working on cnc. If you have to mount foam block - you are cutting too agressivelly. You wire do not touch foam at any time. Just radiant heat. You may mount gauge on you tensioner spring - it may move onle while power is turned on/off. While cutting - rocket solid..
Think it's more the cnc path that's causing the problem, it's rotational - happens in a rather odd taper cut (elliptical) when the 2 Y axis start traveling in opposite directions.

Or there's just something else way off that I haven't found yet. But its same Gcode as the last good cut...

Shhhh, coffee runs during cuts is SOP now that I'm not oilfield May just have to add a smoke detector a little closer to the work surface, have some at the printers that kill power if tripped - probably should smarten up and do the same at the hotwire...

#### Vigilant1

##### Well-Known Member
Cutting a pair of molds, layup, then assemble/steam sounds good in some ways As I sit ordering more xps blocks because I can't seem to get decent cuts lately to save my life.
Ah, I went through this. I've fallen in love with the idea of EFI ever since the Nikki carb on my daughter's riding mower kicked my butt. I never did get it to run, much less run well.

#### Sockmonkey

##### Well-Known Member
Biggest problem is that it will roughly halve the depth that you can put a spar in. Halving the depth of a spar means it needs to be four times as heavy to be as strong in bending. Bending strength is critical in wings - this will add weight to the wing, not lighten it.

Then there is the substantial increase in wing camber... We normally assume that the original designer picked the airfoil for good reasons. The effective camber of this wing will be between that from the deepest part of the depressions and the original. If the original was pretty good, this will have excess camber.

Billski
The camber issue would be solved by factoring it in when choosing your airfoil.
I missed the spar depth issue. Dangit.

#### pictsidhe

##### Well-Known Member
Most are PEBKAC variety. Though we've had 3 different CNC failures (motor driver, then a bearing, then a stepper got wierd), today's failure was me not adequately securing the block... Was good to about 70% done then I decided all was smooth, went to make coffee... Came back and had to dump a fire extinguisher on the problem

You know, normal workshop issues.
I'm going to sheetrock my basement ceiling for fire reasons...

#### Hephaestus

##### Well-Known Member
I'm going to sheetrock my basement ceiling for fire reasons...
ceiling is a LONG way away. Might need some gas to really cause issues in the hangar.

Ah, I went through this. I've fallen in love with the idea of EFI ever since the Nikki carb on my daughter's riding mower kicked my butt. I never did get it to run, much less run well.
GM TBI's man! I swear to gosh we've put them on almost everything carbed... Eye up the old geo metro's

But in some ways the EPS appeals, the labor savings could be pretty decent if you could do it within reason at home... Feel like I should look at the primary gliders wing engineering again and see what that would look like.

#### Sockmonkey

##### Well-Known Member
Is it workable to bag the wing first, and core it with a hot tube after everything sets? You would have to leave the tips bare. would that mess things up?

#### Vigilant1

##### Well-Known Member
Is it workable to bag the wing first, and core it with a hot tube after everything sets? You would have to leave the tips bare. would that mess things up?
The removal of lightening channels could be done after bagging. Doing it before bagging has some advantages, especially being able to do it one section of foam at a time rather than an entire wing half-span. The hot tube idea-- I dunno. After spending all the time and material cost to cover the core, you don't want any high risk drama. Trying to plunge red hot tubing into a 10+ foot long core and keep it aligned so it comes out at the right spot...think we've already hit on some approaches that will work well..

Last edited:

#### stanislavz

##### Well-Known Member
HBA Supporter
filling the epoxy pump, labeling, organizing, and the like. But when my crew shows up, we just want to go!
The question. I was thinking to make warm cabinet for epoxy and buy dosing pump.

But - it will force you to measure them using scales while on hot time. To be precise.

So - i think i will take 5 or 10 big cups, same smaller for hardenere, and fill both them with required epoxy/hardner amounts. Store in warm closet before use. And just mix. Opinions ?

#### wsimpso1

##### Super Moderator
Staff member
Log Member
The question. I was thinking to make warm cabinet for epoxy and buy dosing pump.

But - it will force you to measure them using scales while on hot time. To be precise.

So - i think i will take 5 or 10 big cups, same smaller for hardenere, and fill both them with required epoxy/hardner amounts. Store in warm closet before use. And just mix. Opinions ?
Your method works, I have assisted on builds done that way. Makes for a lot of cups about on laminating day.

I have a Micheal Engineering Adjustable pump, and have used it on all of my big layups. Proportions of two components are always on. Works great as long as you do not run a tank dry. Unless you are using it every day, some systems will have salts fall out if it sits in the pump. Clogs the check valves. I return material to their cans if not using it right away.

Billski

#### Vigilant1

##### Well-Known Member
As I look at the pressure coefficients to be expected around the airfoil (so we can estimate the "pull" on the wing skin at various lift coefficients), I've found there's a big difference at some locations (near the leading edge) between measured wind tunnel values and the values predicted by JavaFoil (JavaFoil is up to 80% higher in localized areas). The wind tunnel measurements were done in 1938, but even at the time they noted the discrepancy between the values they got and the higher values predicted by theory. I know there are more sophisticated analytical tools available than JavaFoil and its kind, the high  tools surely fix this. For now, I'll probably use the wind tunnel values where I can.

An aside: That early NACA work is really something. A treasure that benefitted aeronautical advancement around the world, and still handy 80 years later. Everything was analog, all the calculations were by hand, and they were thinking well ahead of fielded aircraft technology of the time.

Last edited:

#### Vigilant1

##### Well-Known Member
This is what I have been knocking around.
This probably deserves its own thread for best consideration of the idea.
How do the loads get to the spar? Passing concentrated loads through the foam is usually best avoided, unless the loads are small and the foam can take them.
Bonding AL to foam?
Is the rear side of the D-cell glassed in, the ribs glued to the back?
That already-built D-cell is a great place for some pultrusion spar caps and a web layed right on the back of the cell. Or, just lots of uni layers instead of the pultrusions (heavier, but still lighter than an AL tube, and easier to ship. Also avoids the AL bonding challenges).
For those who want fabric, this is an interesting idea.

Last edited:

#### wsimpso1

##### Super Moderator
Staff member
Log Member
Can I ask about the "other" way to lighten a monolithic block wing...

Remember that little section on the rohr 2-175 project on the wing being made using green fiberglass skins then EPS added, and steamed to create the final composite structure?

EPS can be done in down to like 1/2lb density, if you cut an female mold in XPS/other, layed your shells on those and followed a similar process...Compress the halfs together, add EPS then steam.

I haven't really looked into what it takes to mold EPS, but curious if this isn't something a little more achievable for a homebuilder.
Expanded Polystyrene foam, coffee cup foam? I have used it for tooling. The beads barely are attached to each other. MAYBE if it is a nonstructural assembly with it fully contained with composites - Interior panels, inspection covers, glovebox doors...

We are talking about wing structures here, and the OP does not want any sealing layer of cloth and resin on the inside. Regular blue foam exposed gives me the willies, but white coffee cup foam?

Why does exposed polystyrene foam bother me? If nothing else, it can get wet with solvents or invaded by rodents or birds. Both cases mean the skin can lose its support and collapse. Seen it plenty in floating docks made of blue foam. Seen it in stored foam or partially completed airplane parts (exposed foam). I have seen a lot of stored airplane parts, and never yet seen one where a rodent has hollowed out a nest from a foam cored part fully wrapped in glass-epoxy or even closed out with dry micro.

Billski

#### wsimpso1

##### Super Moderator
Staff member
Log Member
Billski. Thank you. No, i am not lonely on this, one or two chaps available on request + while doing some test samples it looks like tailoring temperature in shop is way to go. But you have to start with warm epoxy. And now getting 40/60 glue to fiber ratio due to this. 2 layers of 450gsm weights 1.6kg per m2. But - this was one fifth or sixts test. Foil, spread warm epoxy on it, lay you fibers and other foil. With some help of hair dryer and roller all extra epoxy is mowing where you want it be / new area. With heat off - it is quite thick at 12-15 celsius degree. Gel time was extended from 60minutes to three hours.

For me it is ok for stabilator. For wing will want one extra chap or slower hardener..
We use Gougeon ProSet 125 Resin and 229 Slow Hardener (yeah, the high priced spread) for anything that might take an hour and a half to get under vacuum. For small simple parts I use 226 Medium Hardener. Most systems have slow, medium and fast combos.

The idea of having the room cool, and then warming it up while the resin is wet scares me. Dragons be here - well, not dragons, but air in the laminate comes from this. If everything is wet, and the vacuum is applied, air present in the foam, joints, etc, expands as the pressure drops and then finds its way out to the pump. I may find places where a void was formed by glass that did not lay down, but I do not find air in the laminate. But if your foam is warming as the resin begins to gel, air is still expanding out of its hiding spots and through the laminate as the resin firms up and keeps the bubbles from escaping. This is why even in open layups, you want EVERYTHING, including the foam, fully up to the intended shop temperature well before you start laminating... Back when we used to have incandescent trouble lights in some shops, some folks figured out that holding the trouble light above the freshly squeegeed surface (for inspection purposes) made air come out of the foam and get trapped in the laminate. The smart builders went to fluorescent trouble lights for inspection duty. Once the resin has hardened, you can post-cure, shake-and-bake, whatever benefits the structure.

Billski

#### stanislavz

##### Well-Known Member
HBA Supporter
We use Gougeon ProSet 125 Resin and 229 Slow Hardener (yeah, the high priced spread) for anything that might take an hour and a half to get under vacuum. For small simple parts I use 226 Medium Hardener. Most systems have slow, medium and fast combos.

Billski
My resins come from this shop : Buy Resins online at R&G I am using L hardener now only 40 or 60 min. Have tried to use some 210 min hardener, which is designed for infusion, it needs post curing, and if parts are not lay-flat position - you get thinner edges, and more resin in the bottom. Regardless of vacuum bagging or infusion. I did wait till colder times in our climate to test mine twin foil laminating - all looks like to be working as it should.

And - resin will get to its end of gelling time at 12 degree too. After 6-8 hours. So i may to use it with foam too. But this is for this resin only, have tried same trick with some other - 18 degree is a minimum.


text:
# PHP loop to generate an HTML form for the days in the coming week

There are two arrays, $states and $weekdays. I want to loop through them to create a form, an HTML table, or possibly some other element).

Here's my example:

// addDay() Adds 1 day to the date
// format() Returns a date in a new format
// get_date() returns todays date in unix

$weekdays = [ 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' ];$states   = [ 'start', 'finish', 'total', 'overtime' ];
$date = get_date(); foreach ($states as $state ) { ?> <tr class="<?php echo$state; ?>">
<?php echo $state; ?>	 <?php$d = 0;
foreach ( $weekdays as$weekday ) { ?>

<input name="date<?php echo $date->addDay($d )->format('[Y][m][d]') . '[' . $state . ']'; ?>" /> 	 <?php$d++;
} ?>

<?php
}

I think the code can be cleaner. Ignore the fact that there aren't comments. Focus on the HTML / PHP intertwining. Can it be separated further or tidier?

Is there a method of sprintf but for sections of code perhaps? or would you echo the whole thing with double quotes for the variables?

Note — I am using PHP7, so be as fancy as you want with the latest syntax;

• echo date->addDay - is that supposed to be echo $date->addDay? if so, where does $date come from? is it a Carbon DateTime object, a Zend_Date object, or something else? – Sᴀᴍ Onᴇᴌᴀ Oct 23 '17 at 21:06
• Added a date variable for you, but imagine all functions work, all variables are needed. – Andrew Lazarus Oct 23 '17 at 21:57
• Updated code to show functions – The question is more about formatting of php/html when woven together. – Andrew Lazarus Oct 23 '17 at 22:38
• This being Code Review, we really don't like to leave anything to the imagination. See A guide to Code Review for Stack Overflow users. – 200_success Oct 23 '17 at 22:47
• @SamOnela carbon datetime – Andrew Lazarus Oct 23 '17 at 22:49

To be honest, I was able to pickup and read you code really easily and understand it, which is the end goal. So what you have already is fine if you want to stick with it.

In saying that, there are a few things I try to do, when mixing html and php.

1. Keep all the logic out of the html. This often involves building an array of pre-formatted values or structured data.

2. I like the long form of foreach/endforeach, for/endfor etc. Just because I find them easier to spot in amongst the html, instead of looking for a } that could be part of a javascript, etc

3. I prefer the short form of <?= instead of <?php echo

I note you have preset values for your arrays, which contain no html, otherwise I would be wrapping those echo statements in htmlentities() or the likes.

And lastly not sure if it is intended behaviour, but you use ->addDay(0), then addDay(1), then addDay(2), but when you get to 2, you will have actually added (1+2 = 3 days) to the date, and so on.

<?php

// addDay() Adds 1 day to the date
// format() Returns a date in a new format
// get_date() returns todays date in unix

$weekdays = [ 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' ];$states   = [ 'start', 'finish', 'total', 'overtime' ];
$date = get_date();$weekdays_formatted = [];
foreach ($weekdays as$idx => $weekday) {$weekdays_formatted[] = $date->addDay($idx )->format('[Y][m][d]');
}

?>

<?php foreach ( $states as$state ): ?>
<tr class="<?= $state; ?>"> <?=$state; ?>
<?php foreach ( $weekdays_formatted as$weekday_formatted ): ?>

<input name="date<?= "{$weekday_formatted}[{$state}]"; ?>" />

<?php endforeach; ?>

<?php endforeach; ?>

• I like your solution but personally I would avoid PHP complex string syntax in favor of a standard output operator, i.e. <=$weekday_formatted?>[<?=$state?>] – Your Common Sense Oct 25 '17 at 7:28

### Initial Thoughts

Initially I was thinking of suggesting a view class that could hold the states and weekdays in instance variables, then have methods to get the header for each state and then display the cells for each weekday, but that seems like a lot of extra overhead just to display a table, and wouldn't provide the desired separation of business logic and display templates.

### Simple improvements

As GrumpyCrouton mention in the SO answer, PHP Short echo tags could be used to shorten the inline echo statements (i.e. <?php echo to <?=).

$d could be eliminated by using the associative array syntax of foreach foreach (array_expression as$key => $value) statement 1 foreach($weekdays as $d =>$weekday) {
//$d doesn't need to be incremented since it is the keys - e.g. 0, 1, 2, etc. }  Or just used array_keys() since the weekday value isn't used... foreach(array_keys($weekdays) as $d) { //$d doesn't need to be incremented since it is the keys - e.g. 0, 1, 2, etc.
}

One could define a template using Heredoc syntax, like:

$cellTemplate = <<<CELL  <input name="date-%s" /> 	 CELL;  Then that could be used for each table cell: foreach ($states as $state ) { ?> <tr class="<?=$state; ?>">
<?= $state; ?>	 <?php foreach ($weekdays as $d =>$weekday ) {
$dateName =$date->addDay( $d )->format('[Y][m][d]') . '[' .$state . ']';
echo sprintf($cellTemplate,$dateName);
}
?>

<?php
}
?>

A demonstration can be seen here. Note that instead of using the Carbon DateTime I am using PHP's DateTime class along with DateInterval to accomplish the date addition with DateTime::add().

### Template Engines

One could also utilize a template engine, like Smarty, Symfony’s Twig, Laravel’s Blade, etc.

Here is an example with a Smarty template. I like bumperbox's notion of storing the formatted weekdays in an array and using that in later on. That array could also be generated using array_map() (though accessing $date inside the callback would require a use statement): $formattedWeekdays = array_map(function($d,$weekday) use ($date) { return$date->addDay( $d )->format('[Y][m][d]'); }, array_keys($weekdays), $weekdays);$smarty->assign('states', $states);$smarty->assign('formattedWeekdays', $formattedWeekdays);$smarty->display('../templates/weekdays.tpl');

And that template file (i.e. weekdays.tpl) might look like this:

{foreach $states as$state}

 {$state}
{foreach $formattedWeekdays as$formattedWeekday }

<input name="date-{$formattedWeekday}[{$state}]" />

{/foreach}

{/foreach}

That way the display logic is separate from the business logic. As this wikibooks page alludes to, the HTML is separated from the PHP code so multiple people (e.g. graphics designer, developers, etc.) can manage the separate parts since they are de-coupled.

• Does this help other develops take on the code and appreciate these updates? Or does it obfuscate the code further? – Andrew Lazarus Oct 24 '17 at 12:50
• do you mean specifically the class abstraction, or all the suggestions? if you mean the class abstraction, the goal isn't obfuscation but rather to separate the PHP logic from the HTML. – Sᴀᴍ Onᴇᴌᴀ Oct 24 '17 at 17:39
• Your solution reminded me this awesome library, github.com/Herzult/SimplePHPEasyPlus :) – Your Common Sense Oct 25 '17 at 7:25
• It's the least I could do... well actually, I guess doing nothing would be the least, but you get the point, right? – Sᴀᴍ Onᴇᴌᴀ Oct 27 '17 at 20:39


text:
Maths / Constructions / Construction of Triangle using SSS Criteria

QUESTION

An isosceles triangle can be obtuse angled.

 OPTIONS A. False B. True C. Cannot be determined D. None
Right Option : B

EXPLANATION
Explain TypeExplanation Content
Text

E.g. :- Take the angles as $\dpi{120} \fn_jvn \large 100^0,\, 40^0,\, 40^0$

Sum of the angles is 180. This triangle is obtuse isosceles triangle.

View Contents
(Concept based Learning and Testing for [6th - 10th], NTSE, Bank & Govt. Exams)
Self Learning
Testimonials
STUDENT FEEDBACK - Aman Kumar Shrivastava C/o ABHYAS Academy
10th
The experience was nice. I studied here for three years and saw a tremendous change in myself. I started liking subjects like English and SST which earlier I ran from. Extra knowledge gave me confidence to overcome competitive exams. One of the best institutes for secondary education.

#### Other Testimonials

Courses We Offer
(Concept based Learning and Testing for [6th - 10th], NTSE, Bank & Govt. Exams)


text:
# 직분식 소형 과급 디젤엔진에서 EGR이 배기배출물에 미치는 영향

• Jang, Se-Ho (Department of Power System Engineering, Gangwon Provincial University) ;
• Koh, Dae-Kwon (Department of Mechanical Engineering, Pukyong University)
• 장세호 (강원전문대학 동력기계시스템과) ;
• 고대권 (부경대학교 기계공학부)
• Published : 2005.09.01

#### Abstract

The direct injection diesel engine is one of the most efficient thermal engines. For this reason DI diesel engines are widely used for heavy-duty applications. But the world is faced with very serious problems related to the air pollution due to the exhaust emissions of diesel engine. So, that is air pollution related to exhaust gas resulted from explosive combustion should be improved. Exhaust Gas Recirculation(EGR) is a proven method to reduce NOx emissions. In this study, the experiments were performed at various engine loads while the EGR rates were set from $0\%$ to $30\%.$ The emissions trade-off and combustion of diesel engine are investigated. The brake specific fuel consumption rate is very slightly fluctuated with EGR in the range of experimental conditions. The ignition delay increased with increasing EGR rate. The maximum value of premixed combustion for the rate of heat release is increased with increasing EGR rate. NOx emissions are decreased with increasing EGR rate at high load and high speed. It was found that the exhaust emissions with the EGR system resulted in a very large reduction in oxides of nitrogen at the expense of higher smoke emissions.

#### References

1. T. V. Johnson, 'Diesel Emission Control in Review,' SAE 2001-01-0184, 2001
2. D. A. Kouremenos, D. T. Hountalas and K. B. Binder, 'The Effect of EGR on the Performance and Pollutant Emissions of Heavy Duty Diesel Engines using Constant and Variable AFR,' SAE 2001-01-0198, 2001
3. N. A. Henein and M.-C. Lai, Inderpal Singh, Dahai Wang and Liang Liu, 'Emissions Trade-Off and Combustion Characteristics of a High-Speed Direct Injection Diesel Engine,' SAE 2001-01-0197, 2001
4. D. A. Kouremenos and D. T. Hountalas, 'Using Advancd Injection Timing and EGR to Improve DI Diesel Engine Efficiency at Acceptable NO and Soot Levels,' SAE 2001-01-0199, 2001
5. D. T. Montgomery and R. D. Reitz, 'Effects of Multiple Injections and Flexible Control of Boost and EGR on Emissions and Fuel Consumption of a Heavy-Duty Diesel Engine,' SAE 2001-01-0195, 2001
6. Y. C. Han, Y. S. Oh and S. K. Oh, 'An Experimental Study on Performance and Exhaust Gas in a Heavy-Duty Diesel Engine with Cooled-EGR,' Transactions of KSAE, Vol.9, No.5, pp.1-8, 2001
7. G. Graf, G. Hrauda and P. Bartsch, 'Layout of a High Load EGR System for LD, MD and HD Truck Engines by Means of Simulation,' SAE 2000-01-0225, 2000
8. U. Lundqvist, G. Smedler and P. Stalhammar, 'A Comparison between Different EGR Systems for HD Diesel Engines and Their Effect on Performance, Fuel Consumption and Emissions,' SAE 2000-01-0226, 2000


text:
# American Institute of Mathematical Sciences

September  2014, 13(5): 1855-1890. doi: 10.3934/cpaa.2014.13.1855

## Non-isothermal viscous Cahn-Hilliard equation with inertial term and dynamic boundary conditions

 1 Dipartimento di Matematica “F. Enriques”, Università degli Studi di Milano, Via C. Saldini, 50, I-20133 Milano 2 Dipartimento di Matematica, Politecnico di Milano, 20133 Milano 3 School of Mathematical Sciences, Fudan University, Han Dan Road 220, 200433 Shanghai

Received  October 2013 Revised  February 2014 Published  June 2014

We consider a non-isothermal modified viscous Cahn-Hilliard equation which was previously analyzed by M. Grasselli et al. Such an equation is characterized by an inertial term and it is coupled with a hyperbolic heat equation from the Maxwell-Cattaneo's law. We analyze the case in which the order parameter is subject to a dynamic boundary condition. This assumption requires a more refined strategy to extend the previous results to the present case. More precisely, we first prove the well-posedness for solutions with finite energy as well as for weak solutions. Then we establish the existence of a global attractor. Finally, we prove the convergence of any given weak solution to a single equilibrium by using a suitable Łojasiewicz-Simon inequality.
Citation: Cecilia Cavaterra, Maurizio Grasselli, Hao Wu. Non-isothermal viscous Cahn-Hilliard equation with inertial term and dynamic boundary conditions. Communications on Pure & Applied Analysis, 2014, 13 (5) : 1855-1890. doi: 10.3934/cpaa.2014.13.1855
##### References:

show all references

##### References:
 [1] Aibo Liu, Changchun Liu. Cauchy problem for a sixth order Cahn-Hilliard type equation with inertial term. Evolution Equations & Control Theory, 2015, 4 (3) : 315-324. doi: 10.3934/eect.2015.4.315 [2] Maurizio Grasselli, Nicolas Lecoq, Morgan Pierre. A long-time stable fully discrete approximation of the Cahn-Hilliard equation with inertial term. Conference Publications, 2011, 2011 (Special) : 543-552. doi: 10.3934/proc.2011.2011.543 [3] Desheng Li, Xuewei Ju. On dynamical behavior of viscous Cahn-Hilliard equation. Discrete & Continuous Dynamical Systems, 2012, 32 (6) : 2207-2221. doi: 10.3934/dcds.2012.32.2207 [4] Georgia Karali, Yuko Nagase. On the existence of solution for a Cahn-Hilliard/Allen-Cahn equation. Discrete & Continuous Dynamical Systems - S, 2014, 7 (1) : 127-137. doi: 10.3934/dcdss.2014.7.127 [5] Dimitra Antonopoulou, Georgia Karali. Existence of solution for a generalized stochastic Cahn-Hilliard equation on convex domains. Discrete & Continuous Dynamical Systems - B, 2011, 16 (1) : 31-55. doi: 10.3934/dcdsb.2011.16.31 [6] Tohru Nakamura, Shuichi Kawashima. Viscous shock profile and singular limit for hyperbolic systems with Cattaneo's law. Kinetic & Related Models, 2018, 11 (4) : 795-819. doi: 10.3934/krm.2018032 [7] Ciprian G. Gal, Alain Miranville. Robust exponential attractors and convergence to equilibria for non-isothermal Cahn-Hilliard equations with dynamic boundary conditions. Discrete & Continuous Dynamical Systems - S, 2009, 2 (1) : 113-147. doi: 10.3934/dcdss.2009.2.113 [8] Alain Miranville. Existence of solutions for Cahn-Hilliard type equations. Conference Publications, 2003, 2003 (Special) : 630-637. doi: 10.3934/proc.2003.2003.630 [9] Changchun Liu, Hui Tang. Existence of periodic solution for a Cahn-Hilliard/Allen-Cahn equation in two space dimensions. Evolution Equations & Control Theory, 2017, 6 (2) : 219-237. doi: 10.3934/eect.2017012 [10] Erica Ipocoana, Andrea Zafferi. Further regularity and uniqueness results for a non-isothermal Cahn-Hilliard equation. Communications on Pure & Applied Analysis, 2021, 20 (2) : 763-782. doi: 10.3934/cpaa.2020289 [11] Irena Pawłow, Wojciech M. Zajączkowski. On a class of sixth order viscous Cahn-Hilliard type equations. Discrete & Continuous Dynamical Systems - S, 2013, 6 (2) : 517-546. doi: 10.3934/dcdss.2013.6.517 [12] Riccarda Rossi. On two classes of generalized viscous Cahn-Hilliard equations. Communications on Pure & Applied Analysis, 2005, 4 (2) : 405-430. doi: 10.3934/cpaa.2005.4.405 [13] Laurence Cherfils, Alain Miranville, Sergey Zelik. On a generalized Cahn-Hilliard equation with biological applications. Discrete & Continuous Dynamical Systems - B, 2014, 19 (7) : 2013-2026. doi: 10.3934/dcdsb.2014.19.2013 [14] Álvaro Hernández, Michał Kowalczyk. Rotationally symmetric solutions to the Cahn-Hilliard equation. Discrete & Continuous Dynamical Systems, 2017, 37 (2) : 801-827. doi: 10.3934/dcds.2017033 [15] Nguyen Huy Tuan. Existence and limit problem for fractional fourth order subdiffusion equation and Cahn-Hilliard equation. Discrete & Continuous Dynamical Systems - S, 2021, 14 (12) : 4551-4574. doi: 10.3934/dcdss.2021113 [16] Sergey Zelik, Jon Pennant. Global well-posedness in uniformly local spaces for the Cahn-Hilliard equation in $\mathbb{R}^3$. Communications on Pure & Applied Analysis, 2013, 12 (1) : 461-480. doi: 10.3934/cpaa.2013.12.461 [17] Kelong Cheng, Cheng Wang, Steven M. Wise, Zixia Yuan. Global-in-time Gevrey regularity solutions for the functionalized Cahn-Hilliard equation. Discrete & Continuous Dynamical Systems - S, 2020, 13 (8) : 2211-2229. doi: 10.3934/dcdss.2020186 [18] Irena Pawłow, Wojciech M. Zajączkowski. The global solvability of a sixth order Cahn-Hilliard type equation via the Bäcklund transformation. Communications on Pure & Applied Analysis, 2014, 13 (2) : 859-880. doi: 10.3934/cpaa.2014.13.859 [19] Anna Kostianko, Sergey Zelik. Inertial manifolds for the 3D Cahn-Hilliard equations with periodic boundary conditions. Communications on Pure & Applied Analysis, 2015, 14 (5) : 2069-2094. doi: 10.3934/cpaa.2015.14.2069 [20] Tomáš Roubíček. Cahn-Hilliard equation with capillarity in actual deforming configurations. Discrete & Continuous Dynamical Systems - S, 2021, 14 (1) : 41-55. doi: 10.3934/dcdss.2020303

2020 Impact Factor: 1.916


text:
Home

Browse
Communities
& Collections

Issue Date
Author
Title
Subject

Sign on to:

My Account
authorized users

Edit Profile

Help
 Please use this identifier to cite or link to this item: http://hdl.handle.net/1807/19300

 Title: Option Pricing using Fourier Space Time-stepping Framework Authors: Surkov, Vladimir Advisor: Jackson, KennethJaimungal, Sebastian Department: Computer Science Keywords: option pricingFourier Space Time-steppingpartial integro-differential equationfast Fourier transform Issue Date: 3-Mar-2010 Abstract: This thesis develops a generic framework based on the Fourier transform for pricing and hedging of various options in equity, commodity, currency, and insurance markets. The pricing problem can be reduced to solving a partial integro-differential equation (PIDE). The Fourier Space Time-stepping (FST) framework developed in this thesis circumvents the problems associated with the existing finite difference methods by utilizing the Fourier transform to solve the PIDE. The FST framework-based methods are generic, highly efficient and rapidly convergent. The Fourier transform can be applied to the pricing PIDE to obtain a linear system of ordinary differential equations that can be solved explicitly. Solving the PIDE in Fourier space allows for the integral term to be handled efficiently and avoids the asymmetrical treatment of diffusion and integral terms, common in the finite difference schemes found in the literature. For path-independent options, prices can be obtained for a range of stock prices in one iteration of the algorithm. For exotic, path-dependent options, a time-stepping methodology is developed to handle barriers, free boundaries, and exercise policies. The thesis includes applications of the FST framework-based methods to a wide range of option pricing problems. Pricing of single- and multi-asset, European and path-dependent options under independent-increment exponential Levy stock price models, common in equity and insurance markets, can be done efficiently via the cornerstone FST method. Mean-reverting Levy spot price models, common in commodity markets, are handled by introducing a frequency transformation, which can be readily computed via scaling of the option value function. Generating stochastic volatility, to match the long-term equity options market data, and stochastic skew, observed in currency markets, is addressed by introducing a non-stationary extension of multi-dimensional Levy processes using regime-switching. Finally, codependent jumps in multi-asset models are introduced through copulas. The FST methods are computationally efficient, running in O(MN^d log_2 N) time with M time steps and N space points in each dimension on a d-dimensional grid. The methods achieve second-order convergence in space; for American options, a penalty method is used to attain second-order convergence in time. Furthermore, graphics processing units are utilized to further reduce the computational time of FST methods. URI: http://hdl.handle.net/1807/19300 Appears in Collections: DoctoralDepartment of Computer Science - Doctoral theses

Files in This Item:

File Description SizeFormat


text:
Example 5-5-5 - Maple Help

Chapter 5: Applications of Integration

Section 5.5: Surface Area of a Surface of Revolution

Example 5.5.5

 Calculate the surface area of the surface of revolution formed when the graph of $y={e}^{-x},x\in \left[0,2\right]$, is rotated about the $y$-axis.

For more information on Maplesoft products and services, visit www.maplesoft.com