π¬
Solver Purpose & Physical Scope
Size continuous rotary vacuum drum filters, computing dry cake production rate (kg/h), filtrate volumetric capacity (mΒ³/h), cake thickness, and cycle times.
π Discipline: Masstransfer
β‘ Precision: IEEE-754 64-bit Real(`real(8)`)
π₯ Total Downloads: 339 times
π Source File:
rotary_vacuum_drum_filter.f90
π calcul/MassTransfer /
rotary_vacuum_drum_filter.f90
program rotary_vacuum_drum_filter
implicit none
integer :: iostat_val
double precision :: D_drum_m, L_drum_m, N_rpm, sub_frac, dP_kPa
double precision :: alpha_mkg, Rm_m1, w_kgm3, mu_cP, rho_cake_kgm3
double precision :: A_tot_m2, t_cycle_s, t_form_s, dP_Pa, mu_Pas
double precision :: V_cycle_m3, Q_filtrate_m3h, M_cake_kgh, L_cake_mm
double precision, parameter :: PI = 3.141592653589793d0
! Read inputs
read(*,*,iostat=iostat_val) D_drum_m ! Drum Diameter [m] (e.g. 2.0)
read(*,*,iostat=iostat_val) L_drum_m ! Drum Length [m] (e.g. 3.0)
read(*,*,iostat=iostat_val) N_rpm ! Drum Speed [RPM] (e.g. 1.5)
read(*,*,iostat=iostat_val) sub_frac ! Submergence Fraction (e.g. 0.35)
read(*,*,iostat=iostat_val) dP_kPa ! Vacuum Delta-P [kPa] (e.g. 60.0)
read(*,*,iostat=iostat_val) alpha_mkg ! Specific Cake Resistance [m/kg] (e.g. 2.5e11)
read(*,*,iostat=iostat_val) Rm_m1 ! Filter Medium Resistance [1/m] (e.g. 1.0e10)
read(*,*,iostat=iostat_val) w_kgm3 ! Dry Solids per m3 Filtrate [kg/m3] (e.g. 120.0)
read(*,*,iostat=iostat_val) mu_cP ! Liquid Viscosity [cP] (e.g. 1.0)
read(*,*,iostat=iostat_val) rho_cake_kgm3 ! Wet Cake Bulk Density [kg/m3] (e.g. 1400.0)
if (iostat_val /= 0) then
write(*,*) 'ERROR: Invalid input data for rotary vacuum drum filter calculation.'
stop
end if
if (D_drum_m <= 0.0d0 .or. L_drum_m <= 0.0d0 .or. N_rpm <= 0.0d0 .or. dP_kPa <= 0.0d0) then
write(*,*) 'ERROR: Drum dimensions, speed, and pressure must be positive.'
stop
end if
A_tot_m2 = PI * D_drum_m * L_drum_m
t_cycle_s = 60.0d0 / N_rpm
t_form_s = sub_frac * t_cycle_s
dP_Pa = dP_kPa * 1000.0d0
mu_Pas = mu_cP * 1.0d-3
! Ruth Continuous Filtration Equation
V_cycle_m3 = (A_tot_m2 * sub_frac) * &
(sqrt((Rm_m1 / (alpha_mkg * w_kgm3))**2 + (2.0d0 * dP_Pa * t_form_s) / (mu_Pas * alpha_mkg * w_kgm3)) - &
(Rm_m1 / (alpha_mkg * w_kgm3)))
Q_filtrate_m3h = (V_cycle_m3 / t_cycle_s) * 3600.0d0
M_cake_kgh = w_kgm3 * Q_filtrate_m3h
L_cake_mm = ((w_kgm3 * V_cycle_m3) / ((A_tot_m2 * sub_frac) * rho_cake_kgm3)) * 1000.0d0
! Output Results
write(*,'(A)') '============================================================'
write(*,'(A)') ' THERMOFLUIDCALC β ROTARY VACUUM DRUM FILTER ENGINE'
write(*,'(A)') '============================================================'
write(*,'(A,F10.2,A,F10.2,A)') 'Drum Diam / Length = ', D_drum_m, ' m / ', L_drum_m, ' m'
write(*,'(A,F10.2,A,F10.2,A)') 'Total Filter Surface Area = ', A_tot_m2, ' m2 (Submergence = ', sub_frac*100.0d0, ' %)'
write(*,'(A,F10.2,A,F10.2,A)') 'Drum Speed / Cycle Time = ', N_rpm, ' RPM / ', t_cycle_s, ' s'
write(*,'(A,F10.1,A)') 'Operating Vacuum Delta-P = ', dP_kPa, ' kPa'
write(*,'(A)') '------------------------------------------------------------'
write(*,'(A,F10.2,A)') 'Filtrate Volumetric Rate = ', Q_filtrate_m3h, ' m3/h'
write(*,'(A,F10.1,A)') 'Dry Cake Production Rate = ', M_cake_kgh, ' kg/h'
write(*,'(A,F10.2,A)') 'Formed Cake Thickness = ', L_cake_mm, ' mm'
write(*,'(A,F10.2,A)') 'Specific Area Capacity = ', M_cake_kgh / A_tot_m2, ' kg/(m2.h)'
write(*,'(A)') '============================================================'
end program rotary_vacuum_drum_filter
π» How to Compile & Run Locally
1. Compilation (GNU Fortran / Intel oneAPI):
gfortran -O3 rotary_vacuum_drum_filter.f90 -o rotary_vacuum_drum_filter
2. Execution with input.txt redirection:
rotary_vacuum_drum_filter < input.txt
π Sample input.txt File Structure
Sample Data:
2.0 3.0 1.5 0.35 60.0 2.5e11 1.0e10 120.0 1.0 1400.0
Parameter Description:
Drum Diameter D [m]\nDrum Length L [m]\nDrum Rotational Speed [RPM]\nSubmergence Fraction\nOperating Vacuum Delta-P [kPa]\nSpecific Cake Resistance [m/kg]\nFilter Medium Resistance [mβ»ΒΉ]\nDry Solids per mΒ³ Filtrate [kg/mΒ³]\nFiltrate Viscosity [cP]\nWet Cake Density [kg/mΒ³]