]>
tutorial3
This tutorial introduces the following concepts:
- Arrays of variable values
- Functions that operate on arrays of values
- Functions that create constants and arrays of constant values (Constant and Array)
- Non-uniform domain grids
The model in this example is identical to the model used in the tutorial 1.
Some additional equations that calculate the total flux at the bottom edge are added
to illustrate the array functions.
The temperature plot (at t=100, x=0.5, y=*):
.. image:: _static/tutorial3-results.png
:width: 500px
The average temperature plot (considering the whole x-y domain):
.. image:: _static/tutorial3-results2.png
:width: 500px
$\mathit{tutorial3}$
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( - { tutorial3.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 1, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 1, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) - { tutorial3.Q_b } } = 0$$
True
$${ \left( { \left( { \left( - { tutorial3.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 2, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 2, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) - { tutorial3.Q_b } } = 0$$
True
$${ \left( { \left( { \left( - { tutorial3.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 3, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 3, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 3, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) - { tutorial3.Q_b } } = 0$$
True
$${ \left( { \left( { \left( - { tutorial3.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 4, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 4, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 4, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) - { tutorial3.Q_b } } = 0$$
True
$${ \left( { \left( { \left( - { tutorial3.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 5, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 5, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 5, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) - { tutorial3.Q_b } } = 0$$
True
$${ \left( { \left( { \left( - { tutorial3.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 6, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 6, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 6, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) - { tutorial3.Q_b } } = 0$$
True
$${ \left( { \left( { \left( - { tutorial3.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 7, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 7, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 7, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) - { tutorial3.Q_b } } = 0$$
True
$${ \left( { \left( { \left( - { tutorial3.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 8, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 8, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 8, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) - { tutorial3.Q_b } } = 0$$
True
$${ \left( { \left( { \left( - { tutorial3.\lambda_p } \right) } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 9, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 9, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) - { tutorial3.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}}$$
$${ { tutorial3.T \left( { 1, 10 } \right) } - { tutorial3.T_t } } = 0$$
True
$${ { tutorial3.T \left( { 2, 10 } \right) } - { tutorial3.T_t } } = 0$$
True
$${ { tutorial3.T \left( { 3, 10 } \right) } - { tutorial3.T_t } } = 0$$
True
$${ { tutorial3.T \left( { 4, 10 } \right) } - { tutorial3.T_t } } = 0$$
True
$${ { tutorial3.T \left( { 5, 10 } \right) } - { tutorial3.T_t } } = 0$$
True
$${ { tutorial3.T \left( { 6, 10 } \right) } - { tutorial3.T_t } } = 0$$
True
$${ { tutorial3.T \left( { 7, 10 } \right) } - { tutorial3.T_t } } = 0$$
True
$${ { tutorial3.T \left( { 8, 10 } \right) } - { tutorial3.T_t } } = 0$$
True
$${ { tutorial3.T \left( { 9, 10 } \right) } - { tutorial3.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 { tutorial3.T \left( { 0, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 0 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 0 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 1 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 1 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 2 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 2 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 2 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 3 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 3 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 3 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 4 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 4 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 4 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 5 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 5 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 5 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 6 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 6 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 6 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 7 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 7 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 7 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 8 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 8 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 8 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 9 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 9 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 9 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.x \left( 0 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 10 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 10 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 10 } \right) } } \right) \over \left( { { tutorial3.x \left( 2 \right) } - { tutorial3.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 { tutorial3.T \left( { 10, 0 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 0 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 0 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 1 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 1 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 1 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 2 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 2 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 2 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 3 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 3 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 3 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 4 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 4 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 4 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 5 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 5 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 5 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 6 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 6 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 6 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 7 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 7 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 7 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 8 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 8 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 8 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 9 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 9 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 9 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
$${ \left( { \left( { \left( { {3 {}} \cdot { tutorial3.T \left( { 10, 10 } \right) } } \right) - \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 10 } \right) } } \right) } \right) + { tutorial3.T \left( { 8, 10 } \right) } } \right) \over \left( { { tutorial3.x \left( 10 \right) } - { tutorial3.x \left( 8 \right) } } \right) } = 0$$
True
T_ave
The average temperature of the plate
${\mathit{T}}_{\mathit{ave}}$
$${ { T_ave } - \left( Average \left( { T.array \left( { *, * } \right) } \right( \right) } = 0$$
$${ { tutorial3.T_ave } - \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { { tutorial3.T \left( { 0, 0 } \right) } + { tutorial3.T \left( { 0, 1 } \right) } } \right) + { tutorial3.T \left( { 0, 2 } \right) } } \right) + { tutorial3.T \left( { 0, 3 } \right) } } \right) + { tutorial3.T \left( { 0, 4 } \right) } } \right) + { tutorial3.T \left( { 0, 5 } \right) } } \right) + { tutorial3.T \left( { 0, 6 } \right) } } \right) + { tutorial3.T \left( { 0, 7 } \right) } } \right) + { tutorial3.T \left( { 0, 8 } \right) } } \right) + { tutorial3.T \left( { 0, 9 } \right) } } \right) + { tutorial3.T \left( { 0, 10 } \right) } } \right) + { tutorial3.T \left( { 1, 0 } \right) } } \right) + { tutorial3.T \left( { 1, 1 } \right) } } \right) + { tutorial3.T \left( { 1, 2 } \right) } } \right) + { tutorial3.T \left( { 1, 3 } \right) } } \right) + { tutorial3.T \left( { 1, 4 } \right) } } \right) + { tutorial3.T \left( { 1, 5 } \right) } } \right) + { tutorial3.T \left( { 1, 6 } \right) } } \right) + { tutorial3.T \left( { 1, 7 } \right) } } \right) + { tutorial3.T \left( { 1, 8 } \right) } } \right) + { tutorial3.T \left( { 1, 9 } \right) } } \right) + { tutorial3.T \left( { 1, 10 } \right) } } \right) + { tutorial3.T \left( { 2, 0 } \right) } } \right) + { tutorial3.T \left( { 2, 1 } \right) } } \right) + { tutorial3.T \left( { 2, 2 } \right) } } \right) + { tutorial3.T \left( { 2, 3 } \right) } } \right) + { tutorial3.T \left( { 2, 4 } \right) } } \right) + { tutorial3.T \left( { 2, 5 } \right) } } \right) + { tutorial3.T \left( { 2, 6 } \right) } } \right) + { tutorial3.T \left( { 2, 7 } \right) } } \right) + { tutorial3.T \left( { 2, 8 } \right) } } \right) + { tutorial3.T \left( { 2, 9 } \right) } } \right) + { tutorial3.T \left( { 2, 10 } \right) } } \right) + { tutorial3.T \left( { 3, 0 } \right) } } \right) + { tutorial3.T \left( { 3, 1 } \right) } } \right) + { tutorial3.T \left( { 3, 2 } \right) } } \right) + { tutorial3.T \left( { 3, 3 } \right) } } \right) + { tutorial3.T \left( { 3, 4 } \right) } } \right) + { tutorial3.T \left( { 3, 5 } \right) } } \right) + { tutorial3.T \left( { 3, 6 } \right) } } \right) + { tutorial3.T \left( { 3, 7 } \right) } } \right) + { tutorial3.T \left( { 3, 8 } \right) } } \right) + { tutorial3.T \left( { 3, 9 } \right) } } \right) + { tutorial3.T \left( { 3, 10 } \right) } } \right) + { tutorial3.T \left( { 4, 0 } \right) } } \right) + { tutorial3.T \left( { 4, 1 } \right) } } \right) + { tutorial3.T \left( { 4, 2 } \right) } } \right) + { tutorial3.T \left( { 4, 3 } \right) } } \right) + { tutorial3.T \left( { 4, 4 } \right) } } \right) + { tutorial3.T \left( { 4, 5 } \right) } } \right) + { tutorial3.T \left( { 4, 6 } \right) } } \right) + { tutorial3.T \left( { 4, 7 } \right) } } \right) + { tutorial3.T \left( { 4, 8 } \right) } } \right) + { tutorial3.T \left( { 4, 9 } \right) } } \right) + { tutorial3.T \left( { 4, 10 } \right) } } \right) + { tutorial3.T \left( { 5, 0 } \right) } } \right) + { tutorial3.T \left( { 5, 1 } \right) } } \right) + { tutorial3.T \left( { 5, 2 } \right) } } \right) + { tutorial3.T \left( { 5, 3 } \right) } } \right) + { tutorial3.T \left( { 5, 4 } \right) } } \right) + { tutorial3.T \left( { 5, 5 } \right) } } \right) + { tutorial3.T \left( { 5, 6 } \right) } } \right) + { tutorial3.T \left( { 5, 7 } \right) } } \right) + { tutorial3.T \left( { 5, 8 } \right) } } \right) + { tutorial3.T \left( { 5, 9 } \right) } } \right) + { tutorial3.T \left( { 5, 10 } \right) } } \right) + { tutorial3.T \left( { 6, 0 } \right) } } \right) + { tutorial3.T \left( { 6, 1 } \right) } } \right) + { tutorial3.T \left( { 6, 2 } \right) } } \right) + { tutorial3.T \left( { 6, 3 } \right) } } \right) + { tutorial3.T \left( { 6, 4 } \right) } } \right) + { tutorial3.T \left( { 6, 5 } \right) } } \right) + { tutorial3.T \left( { 6, 6 } \right) } } \right) + { tutorial3.T \left( { 6, 7 } \right) } } \right) + { tutorial3.T \left( { 6, 8 } \right) } } \right) + { tutorial3.T \left( { 6, 9 } \right) } } \right) + { tutorial3.T \left( { 6, 10 } \right) } } \right) + { tutorial3.T \left( { 7, 0 } \right) } } \right) + { tutorial3.T \left( { 7, 1 } \right) } } \right) + { tutorial3.T \left( { 7, 2 } \right) } } \right) + { tutorial3.T \left( { 7, 3 } \right) } } \right) + { tutorial3.T \left( { 7, 4 } \right) } } \right) + { tutorial3.T \left( { 7, 5 } \right) } } \right) + { tutorial3.T \left( { 7, 6 } \right) } } \right) + { tutorial3.T \left( { 7, 7 } \right) } } \right) + { tutorial3.T \left( { 7, 8 } \right) } } \right) + { tutorial3.T \left( { 7, 9 } \right) } } \right) + { tutorial3.T \left( { 7, 10 } \right) } } \right) + { tutorial3.T \left( { 8, 0 } \right) } } \right) + { tutorial3.T \left( { 8, 1 } \right) } } \right) + { tutorial3.T \left( { 8, 2 } \right) } } \right) + { tutorial3.T \left( { 8, 3 } \right) } } \right) + { tutorial3.T \left( { 8, 4 } \right) } } \right) + { tutorial3.T \left( { 8, 5 } \right) } } \right) + { tutorial3.T \left( { 8, 6 } \right) } } \right) + { tutorial3.T \left( { 8, 7 } \right) } } \right) + { tutorial3.T \left( { 8, 8 } \right) } } \right) + { tutorial3.T \left( { 8, 9 } \right) } } \right) + { tutorial3.T \left( { 8, 10 } \right) } } \right) + { tutorial3.T \left( { 9, 0 } \right) } } \right) + { tutorial3.T \left( { 9, 1 } \right) } } \right) + { tutorial3.T \left( { 9, 2 } \right) } } \right) + { tutorial3.T \left( { 9, 3 } \right) } } \right) + { tutorial3.T \left( { 9, 4 } \right) } } \right) + { tutorial3.T \left( { 9, 5 } \right) } } \right) + { tutorial3.T \left( { 9, 6 } \right) } } \right) + { tutorial3.T \left( { 9, 7 } \right) } } \right) + { tutorial3.T \left( { 9, 8 } \right) } } \right) + { tutorial3.T \left( { 9, 9 } \right) } } \right) + { tutorial3.T \left( { 9, 10 } \right) } } \right) + { tutorial3.T \left( { 10, 0 } \right) } } \right) + { tutorial3.T \left( { 10, 1 } \right) } } \right) + { tutorial3.T \left( { 10, 2 } \right) } } \right) + { tutorial3.T \left( { 10, 3 } \right) } } \right) + { tutorial3.T \left( { 10, 4 } \right) } } \right) + { tutorial3.T \left( { 10, 5 } \right) } } \right) + { tutorial3.T \left( { 10, 6 } \right) } } \right) + { tutorial3.T \left( { 10, 7 } \right) } } \right) + { tutorial3.T \left( { 10, 8 } \right) } } \right) + { tutorial3.T \left( { 10, 9 } \right) } } \right) + { tutorial3.T \left( { 10, 10 } \right) } } \right) \over {121 {}}} \right) } = 0$$
True
Q_sum
The sum of heat fluxes at the bottom edge of the plate
${\mathit{Q}}_{\mathit{sum}}$
$${ { Q_sum } + \left( { { \lambda_p } \cdot \left( \sum { { { \partial { { T.d_array\left( { *, 0} \right) } } } \over { \partial {y} } } } \right) } \right) } = 0$$
$${ { tutorial3.Q_sum } + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 0, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 0, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 1, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 1, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 2, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 2, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 3, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 3, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 3, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 4, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 4, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 4, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 5, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 5, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 5, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 6, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 6, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 6, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 7, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 7, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 7, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 8, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 8, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 8, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 9, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 9, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 10, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 10, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 10, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) } = 0$$
True
Q_mul
Heat flux multiplied by a vector (units: K) and divided by a constant (units: K)
${\mathit{Q}}_{\mathit{mul}}$
$${ { Q_sum1 } + \left( \sum { { \left( { \left( { \left( Array \left( \left[ 2 K, 2 K, 2 K, 2 K, 2 K, 2 K, 2 K, 2 K, 2 K, 2 K, 2 K \right] ) \right) \times \left( { \lambda_p } \right) } \right) \times \left( { { \partial { { T.d_array\left( { *, 0} \right) } } } \over { \partial {y} } } \right) } \right) \over \left( {2 {{K}}} \right) } } \right) } = 0$$
$${ { tutorial3.Q_sum1 } + \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 0, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 0, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 1, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 1, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 2, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 2, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 3, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 3, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 3, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 4, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 4, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 4, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 5, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 5, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 5, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 6, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 6, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 6, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 7, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 7, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 7, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 8, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 8, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 8, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 9, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 9, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) + \left( { \left( { \left( { {2 {{K}}} \cdot { tutorial3.\lambda_p } } \right) \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 10, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 10, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 10, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) \over {2 {{K}}}} \right) } \right) } = 0$$
True
Q_sum2
The sum of heat fluxes at the bottom edge of the plate (numpy version)
${\mathit{Q}}_{\mathit{sum2}}$
$${ { Q_sum2 } + \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 0, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 1, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 2, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 3, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 4, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 5, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 6, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 7, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 8, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 9, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) + \left( { { \lambda_p } \cdot \left( { { \partial { { \left( { T \left( { 10, 0 } \right) } \right) } } } \over { \partial {y} } } \right) } \right) } \right) } = 0$$
$${ { tutorial3.Q_sum2 } + \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 0, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 0, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 0, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 1, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 1, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 1, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 2, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 2, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 2, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 3, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 3, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 3, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 4, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 4, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 4, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 5, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 5, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 5, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 6, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 6, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 6, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 7, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 7, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 7, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 8, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 8, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 8, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 9, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 9, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 9, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) + \left( { { tutorial3.\lambda_p } \cdot \left( { \left( { \left( { \left( { {-3 {}} \cdot { tutorial3.T \left( { 10, 0 } \right) } } \right) + \left( { {4 {}} \cdot { tutorial3.T \left( { 10, 1 } \right) } } \right) } \right) - { tutorial3.T \left( { 10, 2 } \right) } } \right) \over \left( { { tutorial3.y \left( 2 \right) } - { tutorial3.y \left( 0 \right) } } \right) } \right) } \right) } \right) } = 0$$
True