HeatConduction Process should treat heat flux as a 3D vector
Description
The HeatConduction process treats the heat flux vector component-wise as secondary variable. In the output we get heat_flux_x, heat_flux_y, heat_flux_z
depending on the dimension of the mesh. See HeatConductionProcess.cpp (L. 67):
if (mesh.getDimension() > 2)
{
_secondary_variables.addSecondaryVariable(
"heat_flux_z",
makeExtrapolator(
1, getExtrapolator(), _local_assemblers,
&HeatConductionLocalAssemblerInterface::getIntPtHeatFluxZ));
}
Problem
This has some disadvantages when we simulate 2D slices from some 3D domain. Then, the mesh is considered 2D (see code above) and there is no output of heat_flux_z
. Thus, the heat flux vector cannot be analyzed/visualized properly.
Suggestion
The heat flux vector should also be treated as a vector quantity as secondary variable (just like the darcy_velocity is a vector in the LiquidFlow process).
Specifications
- Version: latest
- Platform: Linux (Ubuntu)