Calculating the air venting flow rate needed during CIP of a tank

Click For Summary
SUMMARY

This discussion focuses on calculating the air venting flow rate required during the Clean-In-Place (CIP) process of a tank using Python's CoolProp module. Three methods were employed to determine the venting flow rate, yielding significantly different results: Method 1 produced -3.6722 kg/sec, Method 2 -0.4986 kg/sec, and Method 3 -0.5431 kg/sec. The discrepancies stem from variations in how the time value was calculated and the parameters used for enthalpy and specific heat. The correct use of parameters is crucial for accurate calculations.

PREREQUISITES
  • Understanding of thermodynamic properties of air and water
  • Familiarity with Python programming and libraries, specifically CoolProp
  • Knowledge of heat transfer principles, particularly in CIP processes
  • Ability to interpret and manipulate fluid dynamics equations
NEXT STEPS
  • Review Python's CoolProp documentation for accurate thermodynamic property calculations
  • Learn about the principles of heat transfer in fluid systems
  • Investigate the implications of using specific heat versus internal energy in thermodynamic calculations
  • Explore best practices for validating results in computational fluid dynamics simulations
USEFUL FOR

Engineers, process technicians, and researchers involved in tank CIP processes, thermodynamic analysis, and fluid dynamics calculations will benefit from this discussion.

Remusco
Messages
30
Reaction score
3
I have an application where I must calculate the venting flowrate of air required due to temperature change when hot tank is rinsed with cool water. The tank has spray nozzles inside so it can be cleaned in place. For the properties of the air in the tank I used the CoolProps module in Python.

I used three different methods to calculate the venting flowrate, as shown below:

METHOD 1:
Python:
from CoolProp.HumidAirProp import HAPropsSI
import numpy as np
import matplotlib.pyplot as plt


tank_height=(251/12)/3.281[/ICODE]
tank_diam=(104/12)/3.281[/ICODE]
tank_volume=tank_height*np.pi*0.25*tank_diam**2[/ICODE]

#tank air state before cooling
initial_air_pressure=100594
initial_air_temp=335.928
initial_air_specific_vol=HAPropsSI('Vha','T',initial_air_temp,'P',initial_air_pressure,'R',1)

#tank air state after cooling
final_air_pressure=100594
final_air_temp=285.928
final_air_specific_vol=HAPropsSI('Vha','T',final_air_temp,'P',final_air_pressure,'R',1)

#calculating the volume displaced by the cooling
air_mass=tank_volume/initial_air_specific_vol
volume_displaced=air_mass*(final_air_specific_vol-initial_air_specific_vol)

#heat lost by the water = heat gained by the air
vdot_CIP=.0053
rho_CIP=998
C_p_water=4184
mdot_CIP=rho_CIP*vdot_CIP
deltaT=final_air_temp-initial_air_temp
Qdot=mdot_CIP*C_p_water*deltaT

#time to cool the air
C_v_air=HAPropsSI('C','T',initial_air_temp,'P',final_air_pressure,'R',1)
time=air_mass*C_v_air/(mdot_CIP*C_p_water)
print(time)

#venting flowrate
vdot_air=volume_displaced/time
print(vdot_air)

METHOD 2:
Python:
from CoolProp.HumidAirProp import HAPropsSI
import numpy as np
import matplotlib.pyplot as plt

tank_height=(251/12)/3.281
tank_diam=(104/12)/3.281
tank_volume=tank_height*np.pi*0.25*tank_diam**2

#tank air state before cooling
initial_air_pressure=100594
initial_air_temp=335.928
initial_air_specific_vol=HAPropsSI('Vha','T',initial_air_temp,'P',initial_air_pressure,'R',1)

#tank air state after cooling
final_air_pressure=100594
final_air_temp=285.928
final_air_specific_vol=HAPropsSI('Vha','T',final_air_temp,'P',final_air_pressure,'R',1)

#calculating the volume displaced by the cooling
air_mass=tank_volume/initial_air_specific_vol
volume_displaced=air_mass*(final_air_specific_vol-initial_air_specific_vol)

#heat lost by the water = heat gained by the air
vdot_CIP=.0053
rho_CIP=998
C_p_water=4184
mdot_CIP=rho_CIP*vdot_CIP
deltaT=final_air_temp-initial_air_temp
Qdot=mdot_CIP*C_p_water*deltaT

#time to cool the air
initial_air_enthalpy=HAPropsSI('H','T',initial_air_temp,'P',initial_air_pressure,'R',1)
final_air_enthalpy=HAPropsSI('H','T',final_air_temp,'P',final_air_pressure,'R',1)
time=air_mass*(final_air_enthalpy-initial_air_enthalpy)/Qdot
print(time)

#venting flowrate
vdot_air=volume_displaced/time
print(vdot_air)

METHOD 3:
Python:
from CoolProp.HumidAirProp import HAPropsSI
import numpy as np
import matplotlib.pyplot as plt

tank_height=(251/12)/3.281
tank_diam=(104/12)/3.281
tank_volume=tank_height*np.pi*0.25*tank_diam**2

#tank air state before cooling
initial_air_pressure=100594
initial_air_temp=335.928
initial_air_specific_vol=HAPropsSI('Vha','T',initial_air_temp,'P',initial_air_pressure,'R',1)

#tank air state after cooling
final_air_pressure=100594
final_air_temp=285.928
final_air_specific_vol=HAPropsSI('Vha','T',final_air_temp,'P',final_air_pressure,'R',1)

#calculating the volume displaced by the cooling
air_mass=tank_volume/initial_air_specific_vol
volume_displaced=air_mass*(final_air_specific_vol-initial_air_specific_vol)

#heat lost by the water = heat gained by the air
vdot_CIP=.0053
rho_CIP=998
C_p_water=4184
mdot_CIP=rho_CIP*vdot_CIP
deltaT=final_air_temp-initial_air_temp
Qdot=mdot_CIP*C_p_water*deltaT

#time to cool the air
initial_air_enthalpy=HAPropsSI('U','T',initial_air_temp,'P',initial_air_pressure,'R',1)
final_air_enthalpy=HAPropsSI('U','T',final_air_temp,'P',final_air_pressure,'R',1)
time=air_mass*(final_air_enthalpy-initial_air_enthalpy)/Qdot
print(time)

#venting flowrate
vdot_air=volume_displaced/time
print(vdot_air)

My result for the vdot_air on each method is as follows:

METHOD 1:
-3.6722 kg/sec

METHOD 2:
-0.4986 kg/sec

METHOD 3:
-0.5431 kg/sec

I'm not sure why I am getting such different values for each. I know the difference lies in how I am calculating my time value; however, I would think all the methods would provide similar results.
 
Last edited by a moderator:
Engineering news on Phys.org
The calculated "tank_volume" is not shown in METHOD 1:.

METHOD 3: seems to use "tank_volume" as calculated in METHOD 2:

These may or may not be part of the problem.

Have Fun!
Tom
 
Tom.G said:
The calculated "tank_volume" is not shown in METHOD 1:.

METHOD 3: seems to use "tank_volume" as calculated in METHOD 2:

These may or may not be part of the problem.

Have Fun!
Tom
The tank volume is the same for all three.
 
Method 1:
Remusco said:
C_v_air=HAPropsSI('C','T',initial_air_temp,'P',final_air_pressure,'R',1)
This will give C_p_air. Use CV instead of C for C_v_air. (Reference)

Method 2:
Remusco said:
initial_air_enthalpy=HAPropsSI('H','T',initial_air_temp,'P',initial_air_pressure,'R',1)
final_air_enthalpy=HAPropsSI('H','T',final_air_temp,'P',final_air_pressure,'R',1)
You are using the correct parameter H to get the enthalpy here.

Method 3:

Remusco said:
initial_air_enthalpy=HAPropsSI('U','T',initial_air_temp,'P',initial_air_pressure,'R',1)
final_air_enthalpy=HAPropsSI('U','T',final_air_temp,'P',final_air_pressure,'R',1)
U is not listed in the parameter's list but I can only assume it means internal energy and not enthalpy.

You seem to want to evaluate heat lost by the water = heat gained by the air. What motivates you to use either of these methods for this purpose?
 
How was the temperature differential considered in method #1?

Specific-Heat.jpg
 
jack action said:
Method 1:

This will give C_p_air. Use CV instead of C for C_v_air. (Reference)

Method 2:

You are using the correct parameter H to get the enthalpy here.

Method 3:

U is not listed in the parameter's list but I can only assume it means internal energy and not enthalpy.

You seem to want to evaluate heat lost by the water = heat gained by the air. What motivates you to use either of these methods for this purpose?
The cold rinse water will heat the cold air and cause it to contract. The vent needs to be able to suck in that displaced volume.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 109 ·
4
Replies
109
Views
8K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 5 ·
Replies
5
Views
6K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 8 ·
Replies
8
Views
9K
  • · Replies 6 ·
Replies
6
Views
4K