Bug #25474
Bad Convection Occlusion Calculations (Heatshields)
80%
Description
KSP 1.9.1, Breaking Ground. Only mod is HyperEdit.
BLUF: Heatshields can shield parts from almost directly behind them. You can re-enter with the heatshield behind a nearby part and protect it, as long as your travel direction is not perfectly prograde/retrograde.
Detail:
The calculations for the convection occlusion cone are incorrect for any velocity not aligned with a primary axis (prograde/radial/normal and anti-prograde/radial/normal).
Test craft (pictured) is the 1.25m guidance unit (probeStackSmall) and a 3.75m heatshield. Parts are placed in stack attachment, no rotation or offset. Hyperedit / cheat into any orbit, begin re-entry, and observe convection flux at different orientations.
Direction of travel is to the left in all pics.
With travel aligned to any primary axis, convection occlusion area is valid. The control unit has convective flux:
At travel slightly off-axis in any direction, convection area goes to 0. Pictured: the heatshield is occluding the guidance unit even from almost directly behind:
Any relatively thin part attached directly to the heatshield will essentially always be occluded, except for a very narrow range of orientations aligned with the primary axes.
Adding space between the part and the shield reduces this issue, but does not eliminate; orientations further off-axis will still result in occlusion from behind. The field of "correct convection occlusion" is just larger. Pictured: Greater off-axis orientation producing no convective flux on more distant leading part.
I believe that when the FlightIntegrator is attempting to translate/re-orient the plane for the heatshield's convection occlusion cone origin [interpolating the drag cube depth for each face?], it is doing this awkwardly and starting the cone projection at an inappropriate plane. This allows the bounds of parts that should not be occluded to intersect with the misplaced convection occlusion cone.
History
#1 Updated by Technicalfool over 4 years ago
- Status changed from New to Investigating
- Assignee set to Technicalfool
- % Done changed from 0 to 20
#4 Updated by victorr over 3 years ago
- Status changed from Investigating to Ready to Test
- Target version set to 1.12.0
- % Done changed from 20 to 80
We have made some changes in this last 1.12.0 release and would like some feedback on this issue. Thanks.