]>
tutorial1
This tutorial introduces several new concepts:
 Distribution domains
 Distributed parameters, variables and equations
 Setting boundary conditions (Neumann and Dirichlet type)
 Setting initial conditions
In this example we model a simple heat conduction problem: a conduction through
a very thin, rectangular copper plate.
For this problem, we need a twodimensional Cartesian grid (x,y)
(here, for simplicity, divided into 10 x 10 segments):
.. codeblock:: none
y axis
^

Ly  L T T T T T T T T T R
 L + + + + + + + + + R
 L + + + + + + + + + R
 L + + + + + + + + + R
 L + + + + + + + + + R
 L + + + + + + + + + R
 L + + + + + + + + + R
 L + + + + + + + + + R
 L + + + + + + + + + R
 L + + + + + + + + + R
0  L B B B B B B B B B R
> x axis
0 Lx
Points 'B' at the bottom edge of the plate (for y = 0), and the points 'T' at the
top edge of the plate (for y = Ly) represent the points where the heat is applied.
The plate is considered insulated at the left (x = 0) and the right edges (x = Lx)
of the plate (points 'L' and 'R'). To model this type of problem, we have to write
a heat balance equation for all interior points except the left, right, top and
bottom edges, where we need to specify boundary conditions.
In this problem we have to define two distribution domains:
 x (x axis, length Lx = 0.1 m)
 y (y axis, length Ly = 0.1 m)
the following parameters:
 rho: copper density, 8960 kg/m3
 cp: copper specific heat capacity, 385 J/(kgK)
 k: copper heat conductivity, 401 W/(mK)
 Qb: heat flux at the bottom edge, 1E6 W/m2 (or 100 W/cm2)
 Tt: temperature at the top edge, 300 K
and a single variable:
 T: the temperature of the plate (distributed on x and y domains)
The model consists of 5 equations (1 distributed equation + 4 boundary conditions):
1) Heat balance::
rho * cp * dT(x,y)/dt = k * [d2T(x,y)/dx2 + d2T(x,y)/dy2]; x in (0, Lx), y in (0, Ly)
2) Neumann boundary conditions at the bottom edge::
k * dT(x,y)/dy = Qb; x in (0, Lx), y = 0
3) Dirichlet boundary conditions at the top edge::
T(x,y) = Tt; x in (0, Lx), y = Ly
4) Neumann boundary conditions at the left edge (insulated)::
dT(x,y)/dx = 0; y in [0, Ly], x = 0
5) Neumann boundary conditions at the right edge (insulated)::
dT(x,y)/dx = 0; y in [0, Ly], x = Lx
The temperature plot (at t=100s, x=0.5, y=*):
.. image:: _static/tutorial1results.png
:width: 500px
$\mathit{tutorial1}$
BC_bottom
Neumann boundary conditions at the bottom edge (constant flux)
${\mathit{BC}}_{\mathit{bottom}}$
$${ \left( { \left( { \left(  { \lambda_p } \right) } \right) \cdot \left( { { \partial { { \left( { T \left( { x, y } \right) } \right) } } } \over { \partial {y} } } \right) } \right)  { Q_b } } = 0; {\forall { x } \in \left( { x } _{0}, { x } _{n} \right) }, {{ y } = { y } _{0}}$$
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 1, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 1, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 2, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 2, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 3, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 3, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 3, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 4, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 4, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 4, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 5, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 5, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 5, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 6, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 6, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 6, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 7, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 7, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 7, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 8, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 8, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 8, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 9, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 9, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 9, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 10, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 10, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 10, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 11, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 11, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 11, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 12, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 12, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 12, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 13, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 13, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 13, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 14, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 14, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 14, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 15, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 15, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 15, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 16, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 16, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 16, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 17, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 17, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 17, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 18, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 18, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 18, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
$${ \left( { \left( { \left(  { tutorial1.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 19, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 19, 2 } \right) } } \right) \over \left( { { tutorial1.y \left( 2 \right) }  { tutorial1.y \left( 0 \right) } } \right) } \right) } \right)  { tutorial1.Q_b } } = 0$$
True
BC_top
Dirichlet boundary conditions at the top edge (constant temperature)
${\mathit{BC}}_{\mathit{top}}$
$${ { T \left( { x, y } \right) }  { T_t } } = 0; {\forall { x } \in \left( { x } _{0}, { x } _{n} \right) }, {{ y } = { y } _{n}}$$
$${ { tutorial1.T \left( { 1, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 2, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 3, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 4, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 5, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 6, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 7, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 8, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 9, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 10, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 11, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 12, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 13, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 14, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 15, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 16, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 17, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 18, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
$${ { tutorial1.T \left( { 19, 20 } \right) }  { tutorial1.T_t } } = 0$$
True
BC_left
Neumann boundary conditions at the left edge (insulated)
${\mathit{BC}}_{\mathit{left}}$
$${ { \partial { { \left( { T \left( { x, y } \right) } \right) } } } \over { \partial {x} } } = 0; {{ x } = { x } _{0}}, {\forall { y } \in \left[ { y } _{0}, { y } _{n} \right] }$$
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 0 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 0 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 1 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 1 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 1 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 2 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 2 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 2 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 3 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 3 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 3 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 4 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 4 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 4 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 5 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 5 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 5 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 6 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 6 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 6 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 7 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 7 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 7 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 8 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 8 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 8 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 9 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 9 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 9 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 10 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 10 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 10 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 11 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 11 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 11 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 12 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 12 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 12 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 13 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 13 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 13 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 14 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 14 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 14 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 15 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 15 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 15 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 16 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 16 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 16 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 17 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 17 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 17 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 18 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 18 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 18 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 19 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 19 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 19 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 0, 20 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial1.T \left( { 1, 20 } \right) } } \right) } \right)  { tutorial1.T \left( { 2, 20 } \right) } } \right) \over \left( { { tutorial1.x \left( 2 \right) }  { tutorial1.x \left( 0 \right) } } \right) } = 0$$
True
BC_right
Neumann boundary conditions at the right edge (insulated)
${\mathit{BC}}_{\mathit{right}}$
$${ { \partial { { \left( { T \left( { x, y } \right) } \right) } } } \over { \partial {x} } } = 0; {{ x } = { x } _{n}}, {\forall { y } \in \left[ { y } _{0}, { y } _{n} \right] }$$
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 0 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 0 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 0 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 1 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 1 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 1 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 2 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 2 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 2 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 3 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 3 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 3 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 4 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 4 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 4 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 5 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 5 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 5 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 6 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 6 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 6 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 7 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 7 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 7 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 8 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 8 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 8 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 9 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 9 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 9 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 10 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 10 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 10 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 11 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 11 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 11 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 12 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 12 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 12 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 13 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 13 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 13 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 14 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 14 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 14 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 15 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 15 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 15 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 16 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 16 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 16 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 17 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 17 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 17 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 18 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 18 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 18 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 19 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 19 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 19 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial1.T \left( { 20, 20 } \right) } } \right)  \left( { {4 {}} \cdot { tutorial1.T \left( { 19, 20 } \right) } } \right) } \right) + { tutorial1.T \left( { 18, 20 } \right) } } \right) \over \left( { { tutorial1.x \left( 20 \right) }  { tutorial1.x \left( 18 \right) } } \right) } = 0$$
True