SpECTRE
v2022.05.05
|
Compute norms of tensors in the DataBox and write them to disk. More...
Compute norms of tensors in the DataBox and write them to disk.
The L2 norm is computed as the RMS, so
\begin{align*} L_2(u)=\sqrt{\frac{1}{N}\sum_{i=0}^{N} u_i^2} \end{align*}
where \(N\) is the number of grid points.
The norm can be taken for each individual component, or summed over components. For the max/min it is then the max/min over all components, while for the L2 norm we have (for a 3d vector, 2d and 1d are similar)
\begin{align*} L_2(v^k)=\sqrt{\frac{1}{N}\sum_{i=0}^{N} \left[(v^x_i)^2 + (v^y_i)^2 + (v^z_i)^2\right]} \end{align*}
The L2 integral norm is:
\begin{equation} L_{2,\mathrm{int}}(v^k) = \sqrt{\frac{1}{V}\int_\Omega \left[ (v^x_i)^2 + (v^y_i)^2 + (v^z_i)^2\right] \mathrm{d}V} \end{equation}
where \(V=\int_\Omega\) is the volume of the entire domain in inertial coordinates.
Here is an example of an input file:
NonTensorComputeTags
are intended to be used for Variables
compute tags like Tags::DerivCompute
Parallel::Section
). Set the ArraySectionIdTag
template parameter to split up observations into subsets of elements. The observers::Tags::ObservationKey<ArraySectionIdTag>
must be available in the DataBox. It identifies the section and is used as a suffix for the path in the output file.