float idealGasConstant = 8.314f; float pressureOfGas = myCurrentCrewGroup.getAirConsumerDefinition().getEnvironments()[0].getO2Store().getPressure(); float resultInMoles = (resultInLiters * pressureOfGas) / (idealGasConstant * 298);
float moleOfAirPerLiterAtSTP = 22.4f; float resultInMoles = resultInLiters / moleOfAirPerLiterAtSTP ;
    private float calculateO2Needed(int currentActivityIntensity) {        if (currentActivityIntensity < 0)            return 0f;        float heartRate = (currentActivityIntensity * 30f) + 15f;        float a = 0.223804f;        float b = 5.64f * pow(10f, -7f);        float kludgeFactor = 5f; // added to give sensible results        float resultInLiters = (a + (b * pow(heartRate, 3f) * 60f)) * kludgeFactor; //liters per hour, 5        myLogger.debug("resultInLiters "+resultInLiters);        float idealGasConstant = 8.314f; //8.314 J K-1 mol-1        float pressureOfGas = myCurrentCrewGroup.getAirConsumerDefinition().getEnvironments()[0].getO2Store().getPressure();        float resultInMoles = (resultInLiters * pressureOfGas) / (idealGasConstant * 298); //moles per hour        float adjustForTickLength = resultInMoles * getCurrentCrewGroup().getTickLength();        myLogger.debug("resultInMoles "+resultInMoles);        myLogger.debug("adjustForTickLength "+adjustForTickLength);        return myBaseCrewGroupImpl.randomFilter(adjustForTickLength); //Liters/tick    }