Slide 12
Slide 12 text
2D heat equation coded in Pochoir
#
d
e
f
i
n
e m
o
d
(
r
,
m
) (
(
r
)
%
(
m
) + (
(
r
)
<
0
)
? (
m
)
:
0
)
P
o
c
h
o
i
r
_
B
o
u
n
d
a
r
y
_
2
D
(
h
e
a
t
_
b
v
, a
, t
, x
, y
)
r
e
t
u
r
n a
.
g
e
t
(
t
,
m
o
d
(
x
,
a
.
s
i
z
e
(
1
)
)
,
m
o
d
(
y
,
a
.
s
i
z
e
(
0
)
)
)
;
P
o
c
h
o
i
r
_
B
o
u
n
d
a
r
y
_
E
n
d
i
n
t m
a
i
n
(
v
o
i
d
) {
P
o
c
h
o
i
r
_
S
h
a
p
e
_
2
D 2
D
_
f
i
v
e
_
p
t
[
] = {
{
1
,
0
,
0
}
,
{
0
,
1
,
0
}
,
{
0
,
-
1
,
0
}
,
{
0
,
-
1
,
-
1
}
,
{
0
,
0
,
-
1
}
,
{
0
,
0
,
1
}
}
;
P
o
c
h
o
i
r
_
2
D h
e
a
t
(
2
D
_
f
i
v
e
_
p
t
)
;
P
o
c
h
o
i
r
_
A
r
r
a
y
_
2
D
(
d
o
u
b
l
e
) u
(
X
, Y
)
;
u
.
R
e
g
i
s
t
e
r
_
B
o
u
n
d
a
r
y
(
h
e
a
t
_
b
v
)
;
h
e
a
t
.
R
e
g
i
s
t
e
r
_
A
r
r
a
y
(
u
)
;
P
o
c
h
o
i
r
_
K
e
r
n
e
l
_
2
D
(
h
e
a
t
_
f
n
, t
, x
, y
)
u
(
t
+
1
, x
, y
) = C
X * (
u
(
t
, x
+
1
, y
) - 2 * u
(
t
, x
, y
) + u
(
t
, x
-
1
, y
)
) +
C
Y * (
u
(
t
, x
, y
+
1
) - 2 * u
(
t
, x
, y
) + u
(
t
, x
, y
-
1
)
) + u
(
t
, x
, y
)
;
P
o
c
h
o
i
r
_
K
e
r
n
e
l
_
E
n
d
f
o
r (
i
n
t x = 0
; x < X
; +
+
x
)
f
o
r (
i
n
t y = 0
; y < Y
; +
+
y
)
u
(
0
, x
, y
) = r
a
n
d
(
)
;
h
e
a
t
.
R
u
n
(
T
, h
e
a
t
_
f
n
)
;
f
o
r (
i
n
t x = 0
; x < X
; +
+
x
)
f
o
r (
i
n
t y = 0
; y < Y
; +
+
y
)
c
o
u
t <
< u
(
T
, x
, y
)
;
r
e
t
u
r
n 0
;
}
12 / 34