To develop an extensible code that can:
\begin{equation} \rho c_p \frac{\partial T}{\partial t} - \nabla \cdot \left( k \nabla T \right) = q''', \:\:\:\: \forall \vec{r} \in \Omega \end{equation}
\begin{equation} q''_\text{rad} = -k\frac{d T}{d \hat{n}}, \:\:\:\: \forall \vec{r} \in \partial \Omega_\text{rad} \end{equation}
\begin{equation} r + \alpha + \tau = 1 \end{equation}
For black, opaque surfaces $r = 0$ and $\tau = 0$.
\begin{equation} q''_\text{rad}(\vec{r}) = \mathcal{E}^\text{b}(\vec{r}) - \mathcal{G}^\text{b}(\vec{r}), \:\:\:\: \forall \vec{r} \in \partial \Omega_\text{rad} \end{equation}
where, \begin{equation} \mathcal{E}^\text{b}(\vec{r}) = \sigma T(\vec{r})^4 \end{equation}
\begin{equation} dF_{e \to f} \equiv \frac{\text{diffuse energy leaving } dA_e \text{ directly toward and intercepted by } dA_f}{\text{total diffuse energy leaving } dA_e} \end{equation}
skipping a few details
\begin{equation} dF_{e \to f} = \sphericalangle(\vec{r}_e, \vec{r}_f) \frac{\cos \theta_e \cos \theta_f}{\pi \| \vec{s}_{e \to f} \|^2} dA_f \end{equation}
where $\sphericalangle(\vec{r}_e, \vec{r}_f)$ is the view function.
\begin{equation} \sphericalangle(\vec{r}_e, \vec{r}_f) = \begin{cases} 0 & \text{if the ray, $\vec{s}_{e \to f}$, is occluded by a surface} \\ 1 & \text{otherwise} \end{cases} \end{equation}
Note that $\sphericalangle(\vec{r}_e, \vec{r}_f) = \sphericalangle(\vec{r}_f, \vec{r}_e)$.
\begin{equation} F_{e \to f} = \frac{1}{A_e} \int_{\partial \Omega_e} \int_{\partial \Omega_f} \sphericalangle(\vec{r}_e, \vec{r}_f) \frac{\cos\theta_e \cos\theta_f}{\pi \|\vec{s}_{e \to f}\|^2} dA_f dA_e \end{equation}
where $\partial \Omega_e$ is a finite surface, $e$, and the surface area of that surface is $A_e = | \partial \Omega_e |$.
The reciprocity relationship: \begin{equation} A_e F_{e \to f} = A_f F_{f \to e} \end{equation}
The partial additive relationship: \begin{equation} F_{e \to F} = \sum_{\partial \Omega_f \in \partial \Omega_F} F_{e \to f} \end{equation}
The convex, partial-enclosure constraint: \begin{equation} \sum_{\partial \Omega_f \in \partial \Omega_F} F_{e \to f} \le 1 \end{equation}
The complete additively relationship: \begin{equation} F_{E \to F} = \frac{1}{A_E} \sum_{\partial \Omega_e \in \partial \Omega_E} \sum_{\partial \Omega_f \in \partial \Omega_F} A_e F_{e \to f} \end{equation}
without going into too many details.
\begin{equation} \mathcal{G}^\text{b}(\vec{r}_e) = \sigma \int_{\partial \Omega_f} T(\vec{r}_f)^4 \sphericalangle(\vec{r}_e, \vec{r}_f) \frac{\cos \theta_e \cos \theta_f}{\pi \| \vec{s}_{e \to f} \|^2} dA_f. \end{equation}
Consider the element $\partial \Omega^h_e \in \partial \Omega^h_\text{rad}$. Similar to the previous section, $A_e = | \partial \Omega^h_e |$ (i.e. $A_e$ is the area of $\partial \Omega^h_e$)
\begin{equation} \langle \: \cdot \: \rangle_e \equiv \frac{\int_{\partial \Omega^h_e} \cdot \: dA}{A_e} \end{equation}
\begin{align} \mathcal{E}^\text{b}_e & \equiv \int_{\partial \Omega^h_e} \mathcal{E}^\text{b} (\vec{r}) dA \\ & = \int_{\partial \Omega^h_e} \sigma T(\vec{r})^4 dA \nonumber \\ & = \sigma \int_{\partial \Omega^h_e} T(\vec{r})^4 dA \nonumber \\ \mathcal{E}^\text{b}_e & = \sigma A_e \langle T^4 \rangle_e \end{align}
The differential, amount of diffuse energy that irradiates an element:
\begin{equation} \mathcal{G}^\text{b}_e(\vec{r}_e) \equiv \sigma \sum_{\partial \Omega_f \in \partial \Omega^h_\text{rad}} \int_{\partial \Omega_f} T(\vec{r}_f)^4 \sphericalangle(\vec{r}_e, \vec{r}_f) \frac{\cos \theta_e \cos \theta_f}{\pi \| \vec{s}_{e \to f} \|^2} dA_f \end{equation}
The total amount of diffuse energy that irradiates an element:
\begin{align} \mathcal{G}^\text{b}_e & \equiv \int_{\partial \Omega_e} \mathcal{G}^\text{b}_e(\vec{r}_e) dA_e \\ & = \sigma \sum_{\partial \Omega_f \in \partial \Omega^h_\text{rad}} \int_{\partial \Omega_f} T(\vec{r}_f)^4 \left( \int_{\partial \Omega_e} \sphericalangle(\vec{r}_e, \vec{r}_f) \frac{\cos \theta_e \cos \theta_f}{\pi \| \vec{s}_{e \to f} \|^2} dA_e \right) dA_f \end{align}
Assumption: $T(\vec{r}_e) = \langle T \rangle_e \:\: \forall \vec{r}_e \in \partial \Omega_e, \: \forall \partial \Omega_e \in \partial \Omega_\text{rad}^h \implies \langle T^4 \rangle_e = \langle T \rangle^4_e$.
Total amount of diffuse energy that irradiates the element: \begin{align} \mathcal{G}^\text{b}_e & = \sigma \sum_{\partial \Omega_f \in \partial \Omega^h_\text{rad}} \langle T \rangle^4_f \int_{\partial \Omega_f}\int_{\partial \Omega_e} \sphericalangle(\vec{r}_e, \vec{r}_f) \frac{\cos \theta_e \cos \theta_f}{\pi \| \vec{s}_{e \to f} \|^2} dA_e dA_f \nonumber \\ & = \sigma \sum_{\partial \Omega_f \in \partial \Omega^h_\text{rad}} \langle T^4 \rangle_f \int_{\partial \Omega_f}\int_{\partial \Omega_e} \sphericalangle(\vec{r}_e, \vec{r}_f) \frac{\cos \theta_e \cos \theta_f}{\pi \| \vec{s}_{e \to f} \|^2} dA_e dA_f \nonumber \\ & = \sigma \sum_{\partial \Omega_f \in \partial \Omega^h_\text{rad}} \langle T^4 \rangle_f A_f F_{f \to e} \nonumber \\ \mathcal{G}^\text{b}_e & = \sum_{\partial \Omega_f \in \partial \Omega^h_\text{rad}} \mathcal{E}^\text{b}_f F_{f \to e} \end{align}
\begin{equation} \left( -k \nabla T (\vec{r}) \right) \cdot \hat{n} = \mathcal{E}^\text{b}_e - \mathcal{G}^\text{b}_e, \:\:\:\: \forall \vec{r} \in \partial \Omega_e \end{equation}
Let $\phi_j(\vec{r})$ be that basis functions. The approximate solution variable is represented as: \begin{equation} T_h(\vec{r}) = \sum_{j = 1}^{N_\text{dofs}} T_j \phi_j(\vec{r}) \end{equation} It follows that: \begin{equation} \nabla T_h(\vec{r}) = \sum_{j = 1}^{N_\text{dofs}} T_j \nabla \phi_j(\vec{r}) \end{equation}
In the remainder of this presentation $h$ will be dropped from $T_h$.
Multiplying the heat diffusion equation by the test fuction, $\psi_i(\vec{r})$, integrating over that spatial domain, $\Omega$, and appropriately applying Gauss’ divergence theorem:
\begin{equation} \int_\Omega \rho c_p \frac{\partial T}{\partial t} \psi_i \: dV + \int_\Omega \left( k \nabla T \right) \cdot \nabla \psi_i \: dV - \int_{\partial \Omega} \psi_i \left( k \nabla T \right) \cdot \hat{n} \: dA - \int_\Omega q''' \psi_i \: dV = 0 \end{equation}
If $\psi_i$ has local support restricted to an element in $\Omega_e \subset \Omega$:
\begin{equation} \int_{\Omega_e} \rho c_p \frac{\partial T}{\partial t} \psi_i \: dV + \int_{\Omega_e} \left( k \nabla T \right) \cdot \nabla \psi_i \: dV + \int_{\partial \Omega \cap \partial \Omega_e} - \psi_i \left( k \nabla T \right) \cdot \hat{n} \: dA + \int_{\Omega_e} - q''' \psi_i \: dV = 0 \end{equation}
Each of the terms in the above equation is a so called kernel in MOOSE.
\begin{equation} R_i(\vec{T}) = K_i^\text{time}(\vec{T}) + K_i^\text{cond}(\vec{T}) + K_i^\text{bndry}(\vec{T}) + K_i^\text{src}(\vec{T}) \end{equation}
Consider the residual statement for a general nonlinear system of equation: \begin{equation} \vec{F}(\vec{x}) = 0 \end{equation} The elements of the jacobian matrix for the system are: \begin{equation} J(\vec{x})_{i, j} = \frac{\partial (F)_i}{\partial (x)_j}(\vec{x}) \end{equation} Newton methods (in essence) consists of iteratively updating the iterate solution vector $\vec{x}^n$ in the following fashion: \begin{equation} \vec{x}^{n+1} = \vec{x}^n + \delta \vec{x}^n \end{equation} The newton direction is determined by solving the following linear system: \begin{equation} J(\vec{x}^n) \delta \vec{x}^n = - \vec{F}(\vec{x}^n) \end{equation}
The view factor kernel: \begin{equation} K_{e \leftrightarrow f} \equiv - \sphericalangle(\vec{r}_e, \vec{r}_f) \frac{\left( \hat{n}_e \cdot \vec{s}_{e \to f} \right) \left( \hat{n}_f \cdot \vec{s}_{e \to f} \right)}{\pi \| \vec{s}_{e \to f} \|^4} \end{equation} The view factor residual between finite surfaces $\partial \Omega_e$ and $\partial \Omega_f$: \begin{equation} R_{e \leftrightarrow f} \equiv \int_{\partial \Omega_e} \int_{\partial \Omega_f} K_{e \leftrightarrow f} dA_f dA_e \end{equation} The view factor from $\partial \Omega_e$ to $\partial \Omega_f$ can be computed by: \begin{equation} F_{e \to f} = \frac{R_{e \leftrightarrow f}}{A_e} \end{equation}
\begin{equation} \int_R f(x) dx \approx \sum_{i=1}^n f(x_i) \cdot w_i \end{equation}
\begin{equation} \int_A u(x) dx = \int_R u(m(y)) \, | m'(y) | \, dy \end{equation}
View Factor | Value | Absolute Error | Relative Error |
---|---|---|---|
$F_{\text{HEX} \to \text{PRI}}$ | 0.2285656685024703 | 5.97620 × 10-11 | 2.61465 × 10-8% |
$F_{\text{PRI} \to \text{HEX}}$ | 0.2285656685024717 | 5.97633 × 10-11 | 2.61471 × 10-8% |
View Factor | Value | Absolute Error | Relative Error |
---|---|---|---|
$F_{\text{HEX} \to \text{PYR}}$ | 0.2285656685058535 | 6.31451 × 10-11 | 2.76266 × 10-8% |
$F_{\text{PYR} \to \text{HEX}}$ | 0.2285656685058532 | 6.31449 × 10-11 | 2.76266 × 10-8% |
View Factor | Value | Absolute Error | Relative Error |
---|---|---|---|
$F_{\text{PRI} \to \text{PYR}}$ | 0.2285656684579763 | 1.52679 × 10-11 | 6.67989 × 10-9% |
$F_{\text{PYR} \to \text{PRI}}$ | 0.2285656684579755 | 1.52671 × 10-11 | 6.67955 × 10-9% |
View Factor | Value | Absolute Error | Relative Error |
---|---|---|---|
$F_{\text{A} \to \text{B}}$ | 0.2285656684594533 | 1.67450 × 10-11 | 7.32611 × 10-9% |
$F_{\text{B} \to \text{A}}$ | 0.2285656684594511 | 1.67428 × 10-11 | 7.32515 × 10-9% |
Base Num. Type | Collision Num. Type | Quad. Num. Type | Abs. Error | Rel. Error |
---|---|---|---|---|
Approximate | Approximate | Approximate | 1.4447 × 10-5 | 1.276 × 10-2% |
Exact | Approximate | Approximate | 1.4447 × 10-5 | 1.276 × 10-2% |
Approximate | Exact | Approximate | 1.4447 × 10-5 | 1.276 × 10-2% |
Exact | Exact | Approximate | 1.4447 × 10-5 | 1.276 × 10-2% |
Approximate | Approximate | Exact | 1.4447 × 10-5 | 1.276 × 10-2% |
Exact | Approximate | Exact | 1.4447 × 10-5 | 1.276 × 10-2% |
Approximate | Exact | Exact | 1.4447 × 10-5 | 1.276 × 10-2% |
Exact | Exact | Exact | 1.4447 × 10-5 | 1.276 × 10-2% |
Occlusion Detection | $F_{\text{SMALL} \to \text{LARGE}}$ | Abs. Error | Rel. Error | $F_{\text{CYL} \to \text{CYL}}$ | Runtime |
---|---|---|---|---|---|
None | 1.1336 × 10-1 | 4.08 × 10-2 | 56.24 % | 1.7868 × 10-4 | 0.59s |
Brute Force w/ BBox | 7.2418 × 10-2 | 1.37 × 10-4 | 1.90 × 10-1% | 1.8190 × 10-4 | 79.95s |
Brute Force w/o BBox | 7.2418 × 10-2 | 1.37 × 10-4 | 1.90 × 10-1% | 1.8190 × 10-4 | 109.15s |
Occlusion Detection | $F_{\text{SMALL} \to \text{LARGE}}$ | Abs. Error | Rel. Error | $F_{\text{CYL} \to \text{CYL}}$ | Runtime |
---|---|---|---|---|---|
None | 1.1258 × 10-1 | 4.08 × 10-2 | 56.16 % | 0.0 | 0.79s |
Brute Force w/ BBox | 7.2092 × 10-2 | 4.64 × 10-4 | 6.40 × 10-1% | 0.0 | 160.97s |
Brute Force w/o BBox | 7.2092 × 10-2 | 4.64 × 10-4 | 6.40 × 10-1% | 0.0 | 239.34s |
No. | s, mm | a, mm | b, mm | $F_{0 \to W}^\text{ref}$ | $F_{0 \to W}^\text{calc}$ | Rel. Error | $F_{W \to 0}^\text{ref}$ | $F_{W \to 0}^\text{calc}$ | Rel. Error |
---|---|---|---|---|---|---|---|---|---|
1 | 450 | 1320 | 900 | 0.5474 | 0.5494 | 0.357% | 0.1029 | 0.1035 | 0.578% |
2 | 450 | 1320 | 950 | 0.5465 | 0.5487 | 0.408% | 0.1085 | 0.1091 | 0.572% |
3 | 450 | 1320 | 1000 | 0.5457 | 0.548 | 0.430% | 0.1147 | 0.114 | 0.632% |
4 | 450 | 1320 | 1050 | 0.5452 | 0.5473 | 0.386% | 0.1196 | 0.1203 | 0.580% |
5 | 450 | 1320 | 1100 | 0.5434 | 0.5465 | 0.569% | 0.1249 | 0.1258 | 0.748% |
6 | 450 | 1320 | 1150 | 0.5446 | 0.5456 | 0.184% | 0.1308 | 0.1313 | 0.414% |
7 | 450 | 1320 | 1200 | 0.5455 | 0.5446 | 0.158% | 0.1368 | 0.1368 | 0.007% |
8 | 450 | 1320 | 1250 | 0.5427 | 0.5436 | 0.163% | 0.1308 | 0.1422 | 8.741% |
9 | 450 | 1320 | 1300 | 0.5425 | 0.5424 | 0.012% | 0.1474 | 0.1476 | 0.143% |
10 | 450 | 1320 | 1350 | 0.5407 | 0.5412 | 0.090% | 0.1525 | 0.1529 | 0.285% |
11 | 450 | 1320 | 1400 | 0.5368 | 0.5398 | 0.563% | 0.157 | 0.1582 | 0.764% |
12 | 450 | 1320 | 1450 | 0.5383 | 0.5383 | 0.008% | 0.1631 | 0.1634 | 0.184% |
No. | s, mm | a, mm | b, mm | $F_{0 \to W}^\text{ref}$ | $F_{0 \to W}^\text{calc}$ | Rel. Error | $F_{W \to 0}^\text{ref}$ | $F_{W \to 0}^\text{calc}$ | Rel. Error |
---|---|---|---|---|---|---|---|---|---|
13 | 450 | 1320 | 1500 | 0.5373 | 0.5367 | 0.106% | 0.1684 | 0.1685 | 0.076% |
14 | 450 | 1320 | 1550 | 0.5342 | 0.535 | 0.146% | 0.173 | 0.1736 | 0.334% |
15 | 450 | 1320 | 1600 | 0.5342 | 0.5331 | 0.211% | 0.1786 | 0.1785 | 0.034% |
16 | 450 | 1320 | 1650 | 0.5298 | 0.531 | 0.229% | 0.1826 | 0.1834 | 0.441% |
17 | 450 | 1320 | 1700 | 0.5315 | 0.5288 | 0.512% | 0.1888 | 0.1882 | 0.334% |
18 | 450 | 1320 | 1750 | 0.5257 | 0.5264 | 0.127% | 0.1922 | 0.1928 | 0.323% |
19 | 450 | 1320 | 1800 | 0.5217 | 0.5238 | 0.397% | 0.1962 | 0.1974 | 0.587% |
20 | 450 | 1320 | 1850 | 0.5203 | 0.521 | 0.131% | 0.2011 | 0.2018 | 0.325% |
21 | 450 | 1320 | 1900 | 0.5168 | 0.518 | 0.231% | 0.2052 | 0.206 | 0.398% |
22 | 450 | 1320 | 1950 | 0.5137 | 0.5148 | 0.215% | 0.2093 | 0.2101 | 0.400% |
23 | 450 | 1320 | 2000 | 0.5099 | 0.5114 | 0.297% | 0.2131 | 0.2141 | 0.472% |
24 | 450 | 1320 | 2050 | 0.5066 | 0.5078 | 0.242% | 0.217 | 0.2179 | 0.423% |
No. | s, mm | a, mm | b, mm | $F_{0 \to W}^\text{ref}$ | $F_{0 \to W}^\text{calc}$ | Rel. Error | $F_{W \to 0}^\text{ref}$ | $F_{W \to 0}^\text{calc}$ | Rel. Error |
---|---|---|---|---|---|---|---|---|---|
25 | 450 | 1320 | 2100 | 0.5027 | 0.504 | 0.267% | 0.2205 | 0.2216 | 0.485% |
26 | 450 | 1370 | 2100 | 0.4952 | 0.4982 | 0.597% | 0.2255 | 0.2273 | 0.788% |
27 | 450 | 1420 | 2100 | 0.4889 | 0.4921 | 0.651% | 0.2307 | 0.2327 | 0.867% |
28 | 450 | 1470 | 2100 | 0.4831 | 0.4859 | 0.571% | 0.2361 | 0.2378 | 0.740% |
29 | 450 | 1520 | 2100 | 0.4771 | 0.4795 | 0.506% | 0.241 | 0.2427 | 0.716% |
30 | 350 | 1320 | 2100 | 0.576 | 0.5773 | 0.226% | 0.2527 | 0.2538 | 0.425% |
31 | 400 | 1320 | 2100 | 0.538 | 0.5388 | 0.154% | 0.2361 | 0.2369 | 0.322% |
32 | 450 | 1320 | 2100 | 0.5027 | 0.504 | 0.267% | 0.2205 | 0.2216 | 0.485% |
33 | 500 | 1320 | 2100 | 0.4704 | 0.4725 | 0.444% | 0.2064 | 0.2077 | 0.630% |
34 | 550 | 1320 | 2100 | 0.4415 | 0.4437 | 0.491% | 0.1937 | 0.195 | 0.686% |
The material properties in every simulation:
All plates are $10 \: m \times 10 \: m \times 1 \: m$
All plates are discretized by $40 \times 40 \times 4$ elementes
$Q_\text{gen} = A t q'''$
$Q_\text{rad} = A \sigma T_\text{rad, surf}^4$
$\implies T_\text{rad, surf} = \left( \frac{t q'''}{\sigma} \right)^{1/4}$
$T_\text{rad, surf} = 648.0329 \: K$
$-\frac{\partial^2 T}{\partial z^2} = q'''$
left BC: $\left. \frac{\partial T}{\partial z} \right|_{z=0} = 0$
right BC: $T(z=1) = T_\text{rad, surf}$
$\implies T(x, y, z) = T_\text{rad, surf} + \frac{q'''}{2} \left( 1 - z^2 \right)$
$T(x, y, 0) = 5,648.0329 \: K$