ComputeReflectingZ has icoherent control flow
The control flow is broken here:
if (physic.adiabatic->radiative) { // OK....
real zTemperature = physic.adiabatic->radiative->zBoundaryTemperature();
real specificHeat = disk.physic().adiabatic->specificHeat();
energy[top0] = zTemperature*specificHeat*cdens[top0];
if (physic.adiabatic->radiative) { // So this still apply
reals& energrad = disk.radiativeEnergy()->values();
energrad[top0] = physic.adiabatic->radiative->zBoundaryEnergy();
}
And here:
if (physic.adiabatic->radiative) { / SO RADIATIVE
if(!disk.physic().shape.gas.half){ // SO NOT HALF
real zTemperature = physic.adiabatic->radiative->zBoundaryTemperature();
real specificHeat = disk.physic().adiabatic->specificHeat();
energy[bot0] = specificHeat*zTemperature*cdens[bot0];
}
if (physic.adiabatic->radiative) { // SO STILL RADIATIVE
reals& energrad = disk.radiativeEnergy()->values();
if(disk.physic().shape.gas.half){
energrad[bot0]= energrad[bot1];
} else { // SO THIS MERGE WITH NOT HALF ABOVE
energrad[bot0] = physic.adiabatic->radiative->zBoundaryEnergy();
}
}
}