Granular Activated Carbon (GAC)

This is an empirical, performance-based granular activated carbon (GAC) model that works under the following criteria and assumptions:
  • simulation of this unit model is only supported with the Multi-Component 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 steady-state only

  • assumes isothermal conditions

  • model performance is independent of a gravity-fed 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 constant-pattern 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 steady-state 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.

../../_images/gac.png

Figure 1. Discretization of the breakthrough curve for the steady state approximation. The ratio of the shaded area to the area left of the vertical dotted line corresponding to operational_time is the calculated conc_ratio_avg. Expected values of conc_ratio_avg are often less than 0.25 depending on the conc_ratio_replace setpoint.

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

  • surface-to-pore 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 is provided in the 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}\)

surface-to-pore 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 5-parameter 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 5-parameter 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+(ele-1)*\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, (ele-1)}}{t_{op}}\right)\frac{\left(\frac{C}{C_{0}}\bigg{|}_{t=t_{op, ele}}+{C_{0}}\bigg{|}_{t=t_{op, (ele-1)}}\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 off-line 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.25311e-5

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.09926e-4

8.70577e-4

0

energy_consumption_coeff_data

gravity

0.123782

0.132403

-1.41512e-5

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 pseudo-steady 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 pressure-fed vessels or concrete gravity-fed 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( 1-f_{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 fixed-bed adsorption systems. Journal of Environmental Engineering, 110(2), 440-456.

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 Structure-Based Cost Model for Granular Activated Carbon Drinking Water Treatment. https://www.epa.gov/system/files/documents/2022-03/gac-documentation-.pdf_0.pdf