Granular Activated Carbon (GAC)
 This is an empirical, performancebased granular activated carbon (GAC) model that works under the following criteria and assumptions:
simulation of this unit model is only supported with the MultiComponent Aqueous Solution (MCAS) property package
supports a single liquid phase only
supports adsorption of a single solute species only while other species are considered inert
supports steadystate only
assumes isothermal conditions
model performance is independent of a gravityfed or pressurized GAC unit, therefore assumes isobaric conditions
Introduction
The implemented model for estimating GAC performance is adapted from a simplified model originally presented in Hand, 1984 and further elaborated in Crittenden, 2012. This formulation is denoted as the constantpattern homogeneous surface diffusion model (CPHSDM). As a GAC system is operated as a batch process, a mass transfer zone (MTZ) is formed in the bed where a concentration profile, or breakthrough curve, develops as a function of the adsorption properties. This MTZ is bounded by saturated GAC upstream and fresh GAC downstream. The CPHSDM is valid under the assumption that the shape of the MTZ is constant as it travels through the bed and a constant pattern solution (CPS) may be determined. The CPS is calculated through a multistep procedure utilizing common dimensionless groups applied in polynomial fits to determine performance. Therefore, coefficients used in the polynomial must be derived from experimental data of the intended system to produce valid results. Coefficients for common compounds treated by GAC may be found in both Hand, 1984 and Crittenden, 2012. The model is estimated to have within 10% error and therefore may be applied to bed lengths shorter than the minimum length determined by the CPHSDM within the error threshold (in addition to being applicable to bed lengths greater than the minimum length determined by the CPHSDM).
The batch operation results of the CPS are converted to approximate steadystate results for intuitive use of the model
for flowsheet purposes. A visualization of the transformation is provided in Figure 1. For a traditional breakthrough
curve the CPHSDM method calculates the single point, single conc_ratio_replace
and operational_time
, highlighted on the
breakthrough curve. This operational time is the amount of elapsed time after startup that the bed is refreshed with new
GAC adsorbent. Steady state concentration can be analogous to all of the effluent in this operational time being stored
as holdup, therefore the average concentration ratio is significantly less than concentration ratio at the time of
bed replacement, as many days pass before the start of the breakthrough. To approximate the average effluent
concentration in this time frame, the breakthrough curve is numerically integrated with the trapezoid rule. The curve is
discretized with respect to the concentration ratio instead of the (traditionally done ‘x’ variable) operational time
due to simplicity of solving the model equations.
Degrees of Freedom
In the default configuration of the GAC unit model there are 17 degrees of freedom in addition to the inlet state variables (i.e., temperature, pressure, component flowrates) that should be fixed for the model to be fully specified. In association with using the Freundlich adsorption isotherm and empirical model, the following 9 variables are almost always fixed and may be derived from experimental data:
Freundlich isotherm \(k\) parameter
Freundlich isotherm \(\frac{1}{n}\) parameter
Stanton number equation parameters \(a_0\) and \(a_1\) (Hand, 1984), (Crittenden, 1987)
throughput ratio equation parameters \(b_0\), \(b_1\), \(b_2\), \(b_3\) and \(b_4\) (Hand, 1984)
Additionally, the following 9 variables are traditionally fixed:
particle apparent density
particle diameter
empty bed contact time
bed voidage or particle bulk density
superficial velocity or bed length
effluent to inlet concentration ratio at operational time or steady state approximation of average effluent to inlet concentration ratio in operational time by trapezoid rule or bed volumes treated
surface diffusion coefficient
liquid phase film transfer coefficient
When setting the configuration options to calculate the surface diffusion coefficient and liquid phase film transfer coefficient, these respective variables are no longer specified and 4 newly introduced variables must be fixed. This excludes new variables or parameters that may be required to be specified within the property package when called by the GAC model. This is a net result of 19 degrees of freedom. Newly utilized variables that must be fixed include:
shape correction factor
particle porosity
tortuosity of the path that the adsorbate must take as compared to the radius
surfacetopore diffusion flux ratio
Model Structure
The GAC model consists of 1 ControlVolume0DBlock (process_flow) for the process flow of the water treatment train. The process flow includes 2 StateBlocks (inlet and outlet) which are used for mass and momentum balances. It also includes 1 StateBlock (adsorbed) for the solute that is adsorbed into the GAC particles. The material removed in the adsorbed state block is simulated as liquid phase solute but should be interpreted as solute that has adsorbed into the solid phase GAC particles. The steady state mass removal and replacement rate of the GAC itself is provided as a unit model variable and excluded from flowsheet material balances. Therefore, GAC is never included as a component in property package specifications.
Sets
Description 
Symbol 
Indices 

time 
\(t\) 
[0] 
phases 
\(p\) 
[‘Liq’] 
components 
\(j\) 
[‘H2O’, target_species, background solutes]* 
species adsorbed 
\(\text{target_species}\) 
[target_species] 
inert species 
\(\text{inert_species}\) 
[‘H2O’, target_species, background solutes]  [target_species] 
number of discretized operational time elements used for steady state approximation 
\(\text{ele_disc}\) 
[0:elements_ss_approx] 
number of discretized trapezoidal area terms for steady state approximation 
\(\text{ele_index}\) 
[1:elements_ss_approx] 
target_species
argument of the unit model and corresponds to the single solute which is adsorbed.inert_species
are the difference in component_list  target_species
.Variables
Supporting only a single solute, variables concerning the adsorption of a species are respective to the target species although not explicitly indexed. All other species are inert from a mass balance perspective, but effects of background species to the adsorption of the target species may be modeled by adjusting the Freundlich isotherm parameters and other variables in the model.
Description 
Symbol 
Variable Name 
Index 
Units 

Freundlich isotherm k parameter 
\(k\) 
freund_k 
None 
\(\left(\text{m}^3\text{/kg}\right)^\left( \frac{1}{n} \right)\) 
Freundlich isotherm 1/n parameter 
\(\frac{1}{n}\) 
freund_ninv 
None 
\(\text{dimensionless}\) 
surface diffusion coefficient 
\(D_s\) 
ds 
None 
\(\text{m}^2\text{/s}\) 
liquid phase film transfer coefficient 
\(k_f\) 
kf 
None 
\(\text{m/s}\) 
equilibrium concentration of adsorbed phase with liquid phase 
\(q_e\) 
equil_conc 
None 
\(\left( \text{kg}_\text{adsorbate}\text{/kg}_\text{adsorbent} \right)\) 
solute distribution parameter 
\(D_g\) 
dg 
None 
\(\text{dimensionless}\) 
Biot number 
\(Bi\) 
N_Bi 
None 
\(\text{dimensionless}\) 
superficial velocity 
\(u_s\) 
velocity_sup 
None 
\(\text{m/s}\) 
interstitial velocity 
\(u_i\) 
velocity_int 
None 
\(\text{m/s}\) 
bed void fraction 
\(\epsilon\) 
bed_voidage 
None 
\(\text{dimensionless}\) 
bed length 
\(L\) 
bed_length 
None 
\(\text{m}\) 
bed diameter 
\(D\) 
bed_diameter 
None 
\(\text{m}\) 
bed area 
\(A\) 
bed_area 
None 
\(\text{m}^2\) 
bed volume 
\(V\) 
bed_volume 
None 
\(\text{m}^3\) 
empty bed contact time 
\(EBCT\) 
ebct 
None 
\(\text{s}\) 
fluid residence time in the bed 
\(\tau\) 
residence_time 
None 
\(\text{s}\) 
mass of fresh gac in the bed 
\(M_{GAC}\) 
bed_mass_gac 
None 
\(\text{kg}\) 
gac apparent density 
\(\rho_a\) 
particle_dens_app 
None 
\(\text{kg/}\text{m}^3\) 
gac bulk density 
\(\rho_b\) 
particle_dens_bulk 
None 
\(\text{kg/}\text{m}^3\) 
gac particle diameter 
\(d_p\) 
particle_dia 
None 
\(\text{m}\) 
Stanton equation parameter 0 
\(a_0\) 
a0 
None 
\(\text{dimensionless}\) 
Stanton equation parameter 1 
\(a_1\) 
a1 
None 
\(\text{dimensionless}\) 
throughput equation parameter 0 
\(b_0\) 
b0 
None 
\(\text{dimensionless}\) 
throughput equation parameter 1 
\(b_1\) 
b1 
None 
\(\text{dimensionless}\) 
throughput equation parameter 2 
\(b_2\) 
b2 
None 
\(\text{dimensionless}\) 
throughput equation parameter 3 
\(b_3\) 
b3 
None 
\(\text{dimensionless}\) 
throughput equation parameter 4 
\(b_4\) 
b4 
None 
\(\text{dimensionless}\) 
minimum Stanton number to achieve a constant pattern solution 
\(St_{min}\) 
min_N_St 
None 
\(\text{dimensionless}\) 
minimum empty bed contact time to achieve a constant pattern solution 
\(EBCT_{min}\) 
min_ebct 
None 
\(\text{s}\) 
specific throughput from empirical equation 
\(T\) 
throughput 
None 
\(\text{dimensionless}\) 
minimum fluid residence time in the bed to achieve a constant pattern solution 
\(\tau_{min}\) 
min_residence_time 
None 
\(\text{s}\) 
minimum operational time of the bed from fresh to achieve a constant pattern solution 
\(t_{min}\) 
min_operational_time 
None 
\(\text{s}\) 
effluent to inlet concentration ratio at operational time 
\(\frac{C}{C_{0}}\bigg{}_{z=L,/,t=t_{op}}\) 
conc_ratio_replace 
None 
\(\text{dimensionless}\) 
operational time of the bed from fresh 
\(t_{op}\) 
operational_time 
None 
\(\text{s}\) 
bed volumes treated at operational time 
\(BVT\) 
bed_volumes_treated 
None 
\(\text{dimensionless}\) 
specific throughput from empirical equation by discrete element 
\(T_{ele}\) 
ele_throughput 
None 
\(x\) 
minimum operational time of the bed from fresh to achieve a constant pattern solution by discrete element 
\(t_{min, ele}\) 
ele_min_operational_time 
ele_index 
\(\text{s}\) 
effluent to inlet concentration ratio at operational time by discrete element 
\(\left(\frac{C}{C_{0}}\right)_{ele}\bigg{}_{z=L,/,t=t_{op_ e}}\) 
ele_conc_ratio_replace 
ele_index 
\(\text{dimensionless}\) 
operational time of the bed from fresh by discrete element 
\(t_{op, ele}\) 
ele_operational_time 
ele_disc 
\(\text{s}\) 
trapezoid rule of elements for numerical integration of average concentration ratio 
\(term_{ele}\) 
ele_conc_ratio_avg 
ele_disc 
\(\text{dimensionless}\) 
steady state approximation of average effluent to inlet concentration ratio in operational time by trapezoid rule 
\(\left(\frac{C}{C_{0}}\right)_{avg}\) 
conc_ratio_avg 
None 
\(\text{dimensionless}\) 
total mass of adsorbed species at operational time 
\(M\) 
mass_adsorbed 
None 
\(\text{kg}\) 
gac usage/replacement/regeneration rate 
\(\dot{m}_{GAC}\) 
gac_usage_rate 
None 
\(\text{m/s}\) 
The following variables are only built when specific configuration options are selected.
if film_transfer_coefficient_type
is set to calculated
:
Description 
Symbol 
Variable Name 
Index 
Units 

Reynolds number 
\(Re\) 
N_Re 
None 
\(\text{dimensionless}\) 
Schmidt number 
\(Sc\) 
N_Sc 
None 
\(\text{dimensionless}\) 
shape correction factor 
\(SCF\) 
shape_correction_factor 
None 
\(\text{dimensionless}\) 
if surface_diffusion_coefficient_type
is set to calculated
:
Description 
Symbol 
Variable Name 
Index 
Units 

gac particle porosity 
\(\epsilon_p\) 
particle_porosity 
None 
\(\text{dimensionless}\) 
tortuosity of the path that the adsorbate must take as compared to the radius 
\(\tau_p\) 
tort 
None 
\(\text{dimensionless}\) 
surfacetopore diffusion flux ratio 
\(S\!P\!D\!F\!R\) 
spdfr 
None 
\(\text{dimensionless}\) 
Equations
Description 
Equation 

equilibrium concentration 
\(q_e = kC_0^{1/n}\) 
solute distribution parameter 
\(D_g=\frac{\rho_aq_e\left( 1\epsilon \right)}{\epsilon C_0}\) 
Biot number 
\(Bi=\frac{k_fd_p\left( 1\epsilon \right)}{2D_sD_g\epsilon}\) 
bed void fraction based on gac particle densities 
\(\epsilon=1\frac{\rho_b}{\rho_a}\) 
relating velocities based on bed voidage 
\(u_i=\frac{u_s}{\epsilon}\) 
bed length based on velocity and ebct 
\(L=(EBCT)u_s\) 
bed diameter and area relation 
\(A=\pi\left(\frac{D}{2}\right)^2\) 
bed area based on velocity and volumetric flow 
\(A=\frac{Q}{u_s}\) 
bed volume based on cylindrical dimensions 
\(V=AL\) 
fluid residence time in the bed 
\(\tau=(EBCT)\epsilon\) 
total mass of gac in the bed 
\(M_{GAC}=V\rho_b\) 
minimum Stanton number to achieve constant pattern solution 
\(St_{min}=a_0Bi+a_1\) 
minimum empty bed contact time to achieve constant pattern solution 
\(EBCT_{min}=\frac{St_{min}d_p}{2k_f\left( 1\epsilon \right)}\) 
throughput based on empirical 5parameter regression 
\(T=b_0+b_1\left( \frac{C}{C_0} \right)^{b_2}+\frac{b_3}{1.01\left( \frac{C}{C_0} \right)^{b_4}}\) 
minimum fluid residence time in the bed to achieve a constant pattern solution 
\(\tau_{min}=EBCT_{min}\epsilon\) 
minimum operational time of the bed from fresh to achieve a constant pattern solution 
\(t_{min}=\tau_{min}\left( D_g+1 \right)T\) 
elapsed operational time between a fresh bed and the theoretical bed replacement 
\(t_{op}=t_{min}+\left( \tau\tau_{min} \right)\left( D_g+1 \right)\) 
bed volumes treated 
\(BVT=\frac{t_{op}\epsilon}{\tau}\) 
throughput based on empirical 5parameter regression by discretized element 
\(T_{ele}=b_0+b_1\left(\frac{C}{C_{0}}\right)_{ele}^{b_2}+\frac{b_3}{1.01\left(\frac{C}{C_{0}}\right)_{ele}^{b_4}}\) 
minimum operational time of the bed from fresh to achieve a constant pattern solution by discretized element 
\(t_{min, ele}=\tau_{min}\left( D_g+1 \right)T\) 
creating evenly spaced discretized elements 
\(\frac{C}{C_{0}}\bigg{}_{t=t_{op, ele}}=0.01+(ele1)*\frac{\left(\frac{C}{C_{0}}\bigg{}_{t=t_{op}}0.01\right)}{num\text{_}ele}\) 
finite element discretization of concentration ratios over time 
\(term_{ele}=\left(\frac{t_{op, ele}t_{op, (ele1)}}{t_{op}}\right)\frac{\left(\frac{C}{C_{0}}\bigg{}_{t=t_{op, ele}}+{C_{0}}\bigg{}_{t=t_{op, (ele1)}}\right)}{2}\) 
summation of finite elements for average concentration during operating time 
\(\left(\frac{C}{C_{0}}\right)_{avg}=\sum_{ele\text{_}index}term_{ele}\) 
mass adsorbed in the operational time 
\(M=\frac{\dot{m}_{j}}{t_{op}}\) 
steady state rate of new gac mass required 
\(\dot{m}_{GAC}=\frac{M_{GAC}}{t_{op}}\) 
if film_transfer_coefficient_type
is set to calculated
:
Description 
Equation 

Reynolds number calculation* 
\(Re=\frac{\rho_ld_pu_i}{\mu_l}\) 
Schmidt number calculation* 
\(Sc=\frac{\mu_l}{\rho_sD_l}\) 
liquid phase film transfer rate from the Gnielinshi correlation* 
\(k_f=(SCF)\frac{\left[ 1+1.5\left( 1\epsilon \right) \right]D_l}{d_p}\left( 2+0.644Re^{\frac{1}{2}}Sc^{\frac{1}{3}} \right)\) 
*Subscript \(l\) denotes bulk liquid phase properties, here those are supplied by the property package.
if surface_diffusion_coefficient_type
is set to calculated
:
Description 
Equation 

surface diffusion parameter (Crittenden, 1987) 
\(D_s=\left( S\!P\!D\!F\!R \right)\left( \frac{\epsilon_pC_0D_l}{\rho_aq_e\tau_p} \right)\) 
Costing Method
Costing Method Variables
The following parameters are constructed when applying the GAC costing method in the watertap_costing_package
:
Description 
Symbol 
Variable Name 
Default Value 
Units 

Number of GAC contactors in operation in parallel 
\(N_{op}\) 
num_contactors_op 
1 
\(\text{dimensionless}\) 
Number of offline redundant GAC contactors in parallel 
\(N_{red}\) 
num_contactors_redundant 
1 
\(\text{dimensionless}\) 
Fraction of spent GAC adsorbent that can be regenerated for reuse 
\(f_{regen}\) 
regen_frac 
0.70 
\(\text{dimensionless}\) 
Reference maximum value of GAC mass needed for initial charge where economy of scale no longer discounts the unit price (U.S. EPA, 2021) 
\(M_{GAC}^{ref}\) 
bed_mass_gac_max_ref 
18143.7 
\(kg\) 
Contactor polynomial cost coefficients 
\(x\) 
contactor_cost_coeff 
tabulated 
\(\text{dimensionless}\) 
Adsorbent exponential cost coefficients 
\(y\) 
adsorbent_unit_cost_coeff 
tabulated 
\(\text{dimensionless}\) 
Other process costs power law coefficients 
\(z\) 
other_cost_param 
tabulated 
\(\text{dimensionless}\) 
Unit cost to regenerate spent GAC adsorbent by an offsite regeneration facility 
\(C_{regen}\) 
regen_unit_cost 
4.28352 
\($/kg\) 
Unit cost to makeup spent GAC adsorbent with fresh adsorbent 
\(C_{makeup}\) 
makeup_unit_cost 
4.58223 
\($/kg\) 
Energy consumption polynomial coefficients 
\(alpha\) 
energy_consumption_coeff 
tabulated 
\(\text{dimensionless}\) 
Costing methods are available for steel pressure vessel contactors (default) and concrete gravity basin contactors. Given that the form of the costing component equations are different (polynomial, exponential, and power law), the units associated with the parameters are embedded in the constraints and not directly applied to the variable. Additionally, the index is generalized to its position ([0:len(parameter_data)])
in the list, although some parameters are coefficients while others are exponents (see equations below for details). Variables with the (U.S. EPA, 2021) citation are directly taken from previously determined expressions. Other variables are regressed from higher detailed costing methods in (U.S. EPA, 2021). The variations in costing parameters are tabulated below:
Variable Name 
Contactor Type 
Index 0 
Index 1 
Index 2 
Index 3 

adsorbent_unit_cost_coeff (U.S. EPA, 2021) 
n/a 
4.58342 
1.25311e5 

contactor_cost_coeff (U.S. EPA, 2021) 
pressure 
10010.9 
2204.95 
15.9378 
0.110592 
contactor_cost_coeff 
gravity 
75131.3 
735.550 
1.01827 
0 
other_cost_param 
pressure 
16660.7 
0.552207 

other_cost_param 
gravity 
38846.9 
0.490571 

energy_consumption_coeff_data 
pressure 
8.09926e4 
8.70577e4 
0 

energy_consumption_coeff_data 
gravity 
0.123782 
0.132403 
1.41512e5 
Costing GAC contactors is defaulted to purchasing 1 operational and 1 redundant contactor for alternating operation. For large systems this may be a poor
assumption considering vessel sizing and achieving pseudosteady state. The number of contactors input by the user should justify reasonable
(commercially available) dimensions of identical modular contactors in parallel. When costing several operational vessels, the area reported
in the unit model should be interpreted as the sum of the areas across all operating GAC contactors. The costing
parameters may be selected from either steel pressurefed vessels or concrete gravityfed basins by the
contactor_type
argument. Note this only affects costing calculations. Volume dimensions calculations
within the model remain assuming a cylindrical bed.
The following variables are constructed when applying the GAC costing method in the watertap_costing_package
:
Description 
Symbol 
Variable Name 
Units 

Unit contactor(s) capital cost 
\(C_{cap,bed}\) 
contactor_cost 
\($\) 
GAC adsorbent cost per unit mass 
\(C_{carbon}\) 
adsorbent_unit_cost 
\($/kg\) 
Unit adsorbent capital cost 
\(C_{cap,carbon}\) 
adsorbent_cost 
\($\) 
Unit other process capital cost 
\(C_{cap,other}\) 
other_process_cost 
\($\) 
Cost to regenerate spent GAC adsorbent by an offsite regeneration facility 
\(C_{op,regen}\) 
gac_regen_cost 
\($/year\) 
Cost to makeup spent GAC adsorbent with fresh adsorbent 
\(C_{op,makeup}\) 
gac_makeup_cost 
\($/year\) 
Approximate GAC system energy consumption* 
\(P\) 
energy_consumption 
\(kW\) 
*Energy consumption is the sum of energy required to operate booster, backwash, and residual pumps.
Capital Cost Calculations
Capital costs are determined by the summation of three costing terms. Each term is is calculated by a one parameter (different for each term) function considering economy of scale.
\[C_{cap,tot} = C_{cap,bed}+C_{cap,carbon}+C_{cap,other}\]
Contactor and GAC adsorbent capital costs are estimated using functions and parameters reported in US EPA, 2021. Contactors are assumed to be carbon steel pressure vessels with plastic internals and are determined as a polynomial function of individual contactor volume. The unit cost per kilogram of GAC adsorbent needed is calculated using an exponential function. A maximum reference mass is imposed in the costing method to define a best available price where above this required charge, the price would no longer be discounted. Other process costs (vessels, pipes, instrumentation, and controls) included in the US EPA, 2021 model are aggregated into a separate term. The parameters for the power law function with respect to the total system contactor volume were regressed using results from the US EPA, 2021 model.
\[\begin{split}& C_{cap,bed} = \left( N_{op}+N_{red} \right)\left( x_0+x_1\left( \frac{V}{N_{op}} \right)+x_2\left( \frac{V}{N_{op}} \right)^2+x_3\left( \frac{V}{N_{op}} \right)^3 \right) \\\\ & C_{carbon} = y_0e^{y_1M_{GAC}^{ref}} \\\\ & C_{cap,carbon} = C_{carbon}M_{GAC} \\\\ & C_{cap,other} = z_0\left( \left( N_{op}+N_{red} \right)\frac{V}{N_{op}} \right)^{z_1}\end{split}\]
Note that given the the ability to alter the parameters in these correlations, GAC adsorbent unit costs (\(C_{carbon}\)) may be fixed to a value (\(y_0\)) by setting \(y_1=0\).
Operating Cost Calculations
Operating costs are calculated as the cost to replace spent GAC adsorbent in the contactor beds. Energy is costed as a flow term by the WaterTAP costing method. Since the replacement adsorbent purchases are expected to be purchased in bulk at smaller quantities than the initial charge, the cost of fresh GAC adsorbent for makeup has an independent cost per unit mass variable, expected to be higher than the initial charge unit cost.
\[\begin{split}& C_{op,tot} = C_{op,regen}+C_{op,makeup} \\\\ & C_{op,regen} = f_{regen}C_{regen}\dot{m}_{GAC} \\\\ & C_{op,makeup} = \left( 1f_{regen} \right)C_{makeup}\dot{m}_{GAC} \\\\ & P = \alpha_0+\alpha_1V+\alpha_2V^2\end{split}\]
Code Documentation
References
Hand, D. W., Crittenden, J. C., & Thacker, W. E. (1984). Simplified models for design of fixedbed adsorption systems. Journal of Environmental Engineering, 110(2), 440456.
Crittenden, J., Rhodes, R., Hand, D., Howe, K., & Tchobanoglous, G. (2012). MWHs Water Treatment. Principles and Design. John Wiley & Sons.
Crittenden, J. C., Berrigan, J. K., Hand, D. W., & Lykins, B. (1987). Design of Rapid Fixed‐Bed Adsorption Tests for Nonconstant Diffusivities. Journal of Environmental Engineering, 113(2), 243–259.
United States Environmental Protection Agency. (2021). Work Breakdown StructureBased Cost Model for Granular Activated Carbon Drinking Water Treatment. https://www.epa.gov/system/files/documents/202203/gacdocumentation.pdf_0.pdf