Skip to content

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();
            }
          }
        }