Rapid mix - AguaClara/SWOT GitHub Wiki

<title>Rapid Mix</title>
  <link rel="stylesheet" href="file:///C:\Users\mw24\.atom\packages\markdown-preview-enhanced\node_modules\@shd101wyy\mume\dependencies\katex\katex.min.css">
  
  
  
  
  
  
  
  
  
  

  <style> 
  /**
  • prism.js Github theme based on GitHub's theme.
  • @author Sam Clarke / code[class="language-"], pre[class*="language-"] { color: #333; background: none; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; text-align: left; white-space: pre; word-spacing: normal; word-break: normal; word-wrap: normal; line-height: 1.4;

-moz-tab-size: 8; -o-tab-size: 8; tab-size: 8;

-webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; }

/* Code blocks / pre[class="language-"] { padding: .8em; overflow: auto; /* border: 1px solid #ddd; / border-radius: 3px; / background: #fff; */ background: #f5f5f5; }

/* Inline code / :not(pre) > code[class="language-"] { padding: .1em; border-radius: .3em; white-space: normal; background: #f5f5f5; }

.token.comment, .token.blockquote { color: #969896; }

.token.cdata { color: #183691; }

.token.doctype, .token.punctuation, .token.variable, .token.macro.property { color: #333; }

.token.operator, .token.important, .token.keyword, .token.rule, .token.builtin { color: #a71d5d; }

.token.string, .token.url, .token.regex, .token.attr-value { color: #183691; }

.token.property, .token.number, .token.boolean, .token.entity, .token.atrule, .token.constant, .token.symbol, .token.command, .token.code { color: #0086b3; }

.token.tag, .token.selector, .token.prolog { color: #63a35c; }

.token.function, .token.namespace, .token.pseudo-element, .token.class, .token.class-name, .token.pseudo-class, .token.id, .token.url-reference .token.variable, .token.attr-name { color: #795da3; }

.token.entity { cursor: help; }

.token.title, .token.title .token.punctuation { font-weight: bold; color: #1d3e81; }

.token.list { color: #ed6a43; }

.token.inserted { background-color: #eaffea; color: #55a532; }

.token.deleted { background-color: #ffecec; color: #bd2c00; }

.token.bold { font-weight: bold; }

.token.italic { font-style: italic; }

/* JSON */ .language-json .token.property { color: #183691; }

.language-markup .token.tag .token.punctuation { color: #333; }

/* CSS */ code.language-css, .language-css .token.function { color: #0086b3; }

/* YAML */ .language-yaml .token.atrule { color: #63a35c; }

code.language-yaml { color: #183691; }

/* Ruby */ .language-ruby .token.function { color: #333; }

/* Markdown */ .language-markdown .token.url { color: #795da3; }

/* Makefile */ .language-makefile .token.symbol { color: #795da3; }

.language-makefile .token.variable { color: #183691; }

.language-makefile .token.builtin { color: #0086b3; }

/* Bash / .language-bash .token.keyword { color: #0086b3; }html body{font-family:"Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ul,html body>ol{margin-bottom:16px}html body ul,html body ol{padding-left:2em}html body ul.no-list,html body ol.no-list{padding:0;list-style-type:none}html body ul ul,html body ul ol,html body ol ol,html body ol ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:bold;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em !important;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::before,html body code::after{letter-spacing:-0.2em;content:"\00a0"}html body pre>code{padding:0;margin:0;font-size:.85em !important;word-break:normal;white-space:pre;background:transparent;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;font-size:.85em !important;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:before,html body pre tt:before,html body pre code:after,html body pre tt:after{content:normal}html body p,html body blockquote,html body ul,html body ol,html body dl,html body pre{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body pre,html body code{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for="preview"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for="preview"]) .code-chunk .status{display:none}.markdown-preview:not([for="preview"]) .code-chunk .output-div{margin-bottom:16px}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px)}}@media screen and (max-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{padding:0 1.6em;margin-top:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li{margin-bottom:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{list-style-type:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% - 300px);padding:2em calc(50% - 457px - 150px);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none} / Please visit the URL below for more information: / / https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */

  </style>
</head>
<body for="html-export">
  <div class="mume markdown-preview   ">
  <pre data-role="codeBlock" data-info="python" class="language-python"><span class="token comment"># %% importing</span>

from aide_design.play import from aguaclara_research.play import import aguaclara_research.floc_model as fm import matplotlib.pyplot as plt

Nanoparticle application

Rapid mix is where aggregation of both suspended particles and dissolved substances begins.

Nanoparticle application: The process of adding a sticky solid phase material (adhesive nanoparticles) that attaches to raw water particles as well as to some dissolved species (the topic of these notes)
Flocculation: The process of producing collisions between particles to create flocs (aggregates) (next set of notes)

Nanoparticle application includes multiple steps that must occur before the raw water particles can begin to aggregate. The sticky nanoparticles can be aluminum (Al+3)(Al^{+3})(Al+3) or iron (Fe+3)(Fe^{+3})(Fe+3) based and in either case the nanoparticles are formed from precipitated hydroxide species (Al(OH)3)(Al(OH)_3)(Al(OH)3) or (Fe(OH)3)(Fe(OH)_3)(Fe(OH)3).

  1. Liquid coagulant with a low pH is injected into the raw water
  2. Large scale eddies mix the coagulant with the raw water by creating large fluid deformations. This stretching and turning of the raw water and coagulant is analogous to shuffling a deck of cards. The cards are randomized, but the cards maintain their identity. The original liquids retain their chemical composition.
  3. Molecular diffusion causes true blending of the two fluids
  4. The coagulant is diluted by the raw water, the pH of the mixture is higher and the higher pH causes the coagulant to begin to precipitate as Al12AlO4(OH)24(H2O)127+Al_{12}AlO_4(OH)_{24}(H_2O)_{12}^{7+}Al12AlO4(OH)24(H2O)127+, an Al13Al_{13}Al13 nanoparticle.
  5. The precipitating Al13Al_{13}Al13 molecules aggregates with other nearby Al13Al_{13}Al13 molecules to form aluminum hydroxide nanoparticles.
  6. The Al nanoparticles collide with dissolved species that may attach to the Al nanoparticles and the Al nanoparticles attach to inorganic particles such as clay.

Let's begin by describing the coagulant injection for a 60 L/s plant. We will use a linear flow orifice meter with 20 cm of head loss.

Q_plant = 60 * u.L/u.s
HL_LFOM = 20 * u.cm
Pi_LFOM_safety = 1.2
SDR_LFOM = 26
from aide_design.unit_process_design.prefab import lfom_prefab_functional as lfom
ND_LFOM = lfom.nom_diam_lfom_pipe(Q_plant,HL_LFOM,Pi_LFOM_safety,SDR_LFOM)
print(ND_LFOM, '(',ND_LFOM.to(u.cm), ')')

The LFOM requires a 16 inch diameter pipe. Next we will determine a typical flow rate of coagulant. Aluminum concentrations for polyaluminum chloride (PACl) typically range from 1 to 10 mg/L. The maximum PACl stock solution concentration is about 70 g/L.

C_PACl_stock = 70 *u.g/u.L
C_PACl_dose_max = 10 * u.mg/u.L
Q_PACl_max = (Q_plant*C_PACl_dose_max/C_PACl_stock).to(u.mL/u.s)
print(Q_PACl_max)

We can estimate the diameter of the injection port by setting the kinetic energy loss where the coagulant is injected into the main flow to be 10 cm. The amount of energy we invest in injecting the coagulant into the raw water is a compromise between having to raise the entire chemical feed system including the stock tanks to increase the potential energy and a goal of not having pressure fluctuations inside the LFOM pipe cause flow oscillations in the chemical dosing tube. Thus our goal is to have the kinetic energy at the injection point be large compared with the expected pressure fluctuations in the LFOM.

HL_Coag_injection = 10 * u.cm
V_Coag_injection = ((2 * pc.gravity * HL_Coag_injection)**0.5).to(u.m/u.s)
print(V_Coag_injection)
D_Coag_injection_min = pc.diam_circle(Q_PACl_max/V_Coag_injection)
print(D_Coag_injection_min.to(u.mm))

Conventional Rapid Mix

Conventional rapid mix units use mechanical or potential energy to generate intense turbulence to begin the mixing process. Conventional design is based on the use of G (an average velocity gradient) as a design parameter. We don’t yet know what the design objective is for rapid mix and thus it isn’t clear which parameters matter. We hypothesize that both velocity gradients that cause deformation of the fluid and time for molecular diffusion are required to ultimately transport coagulant nanoparticles to the surfaces of clay particles.

The velocity gradient can be obtained from the rate at which mechanical energy is being dissipated and converted to heat by viscosity.

ϵ=G2ν\epsilon = G^2 \nuϵ=G2ν

where ϵ\epsilonϵ is the energy dissipation rate, GGG is the velocity gradient, and ν\nuν is the kinematic viscosity of water.
We can estimate the power input required to create a target energy dissipation rate for a conventional design by noting that power is simple the energy dissipation rate times the mass of water in the rapid mix unit.

P=ϵ–VρP = \epsilon \rlap{--}V \rhoP=ϵVρ

P=G2ν–VρP = G^2 \nu \rlap{--}V \rhoP=G2νVρ

We can relate reactor volume to a hydraulic residence time, θ\thetaθ, and volumetric flow rate, Q.

P=ρG2νQθP = \rho G^2 \nu Q \thetaP=ρG2νQθ

This equation is perfectly useful for estimating electrical motor sizing requirements for mechanical rapid mix units. For gravity powered hydraulic rapid mix units it would be more intuitive to use the change in water surface elevation, Δh\Delta hΔh instead of power input.

P=ρgQΔhP = \rho g Q \Delta hP=ρgQΔh

Combining the two equations we obtain.

Δh=G2νθg\Delta h = \frac{G^2 \nu \theta}{g}Δh=gG2νθ

Typical values for residence time and average velocity gradient are given below.

Residence Time (s) Velocity gradient, G (1/s) Energy dissipation rate (W/kg) Equivalent height (m)*
0.5 4000 16 0.8
10 - 20 1500 2.25 2.3 - 4.6
20 - 30 950 0.9 1.8 - 2.8
30 - 40 850 0.72 2.2 - 2.9
40 - 130 750 0.56 2.3 - 7.5

From Environmental Engineering: A Design Approach by Sincero and Sincero. 1996. page 267.

Mix_HRT = np.array([0.5,15,25,35,85])*u.s
Mix_G = np.array([4000,1500,950,850,750])/u.s
Mix_CP = np.multiply(Mix_HRT, np.sqrt(Mix_G))
Mix_Gt = np.multiply(Mix_HRT, Mix_G)
Mix_CP
plt.plot(Mix_HRT.to(u.s),Mix_G.to(1/u.s),'o')
plt.ylabel('Velocity Gradient (Hz)')
plt.xlabel('Residence time (s)')
plt.savefig('AguaClara Water Treatment Plant Design\Chapter 3_Rapid Mix\Images\Mechanical_RM_Gt')

plt.show()

Mixing length scale and transport mechanisms

The next step is turbulent eddy shuffling of the fluid packets. Turbulent eddies distort the fluid such that the coagulant is mixed with the raw water. There are three critical goals of this shuffling.

  1. If the plant design calls for the flow to be split between several flocculators, then it is critical that the coagulant be sufficiently mixed with the raw water prior to the splitting of the flow so that each flocculator receives the same coagulant dose.
  2. The turbulent eddies shuffle the fluid packets down to the scale of the smallest eddies. (We need to figure out what this scale is!)
  3. Fluid deformation (shear) and molecular diffusion cause Al nanoparticles to collide with inorganic particles

Turbulence occurs when fluid inertia is too large to be damped by viscosity. The ratio of inertia to viscosity is given by the Reynolds number.

Re=VDν{\rm{Re}} = \frac{VD}{\nu}Re=νVD
Flows with high Reynolds numbers are turbulent (inertia dominated) and with low Reynolds
are laminar (viscosity dominated). The transition Reynolds number is a function of the flow geometry and the velocity and length scale that are used to characterize the flow. In all turbulent flows there is a length scale at which inertia finally loses to viscosity. The scale where viscosity wins is some multiple of the Kolmogorov length scale, which is defined as:

ηK=(ν3ε)14\eta_K = \left( \frac{\nu^3}{\varepsilon} \right)^{\frac{1}{4}}ηK=(εν3)41

where ηK\eta_KηK is the Kolmogorov length scale. At the Kolmogorov length scale viscosity completely dampens the inertia of the eddies and effectively "kills" the turbulence.

The length scale at which most of the kinetic energy contained in the small eddies is dissipated by viscosity is the inner viscous length scale, λv\lambda_vλv, which is about 50 times larger than the Kolmogorov length scale. Thus we have

λν=ΠKν(ν3ε)14\lambda_\nu = \Pi_{K\nu}\left( \frac{\nu^3}{\varepsilon} \right)^{\frac{1}{4}}λν=ΠKν(εν3)41
where ΠKν=50\Pi_{K\nu} = 50ΠKν=50

EDR = np.logspace(0,4,num=50)*u.mW/u.kg
Temperature = 20*u.degC
fm.RATIO_KOLMOGOROV
Inner_viscous = fm.RATIO_KOLMOGOROV * fm.eta_kolmogorov(EDR, Temperature)

plt.plot(EDR.to(u.mW/u.kg),Inner_viscous.to(u.mm)) plt.xscale('log') plt.ylabel('Inner viscous length scale (mm)') plt.xlabel('Energy dissipation rate (W/kg)') plt.text(30, 6, 'Eddies cause mixing', fontsize=12,rotation=-30) plt.text(1, 5, 'Shear and diffusion cause mixing', fontsize=12,rotation=-30) plt.savefig('AguaClara Water Treatment Plant Design\Chapter 3_Rapid Mix\Images\Inner_viscous_vs_EDR')

plt.show()

Figure x. Eddies can cause fluid mixing down to the scale of a few millimeters for energy dissipation rates used in rapid mix units and flocculators.

The coagulant nanoparticles eventually will attach to clay particles. The clay particles have a diameter of approximately 5μm5 \mu m5μm and thus it is clear from the length scale in the figure above that turbulent eddies aren't able to transport all the way to attachment to clay.

Diffusion or Shear as the transport to the clay

PACl_nano_density = fm.PACl.Density*u.kg/(u.m**3)
PACl_diameter = fm.PACl.Diameter * u.m
fm.dens_alum_nanocluster(fm.PACl)
k_boltzmann = (1*u.boltzmann_constant).to(u.J/(u.K))
print(k_boltzmann.dimensionality)
Temperature
(k_boltzmann*Temperature/(pc.viscosity_kinematic(Temperature)*PACl_nano_density*PACl_diameter**3)).dimensionality

The time required for diffusion to transport coagulant nanoparticles the last

  • Diffusion blends the coagulant with the raw water sufficiently so that the coagulant precipitates and forms nanoparticles.
  • Dissolved organic molecules diffuse to the coagulant nanoparticles and adhere to the nanoparticle surface.
  • The coagulant nanoparticles are transported to suspended particle surfaces by a combination of diffusion and fluid shear.

The following is a very preliminary estimate of the time required for attachment of the nanoparticles to the clay particles
This analysis includes multiple simplifying assumptions and there is a reasonable possibility that some of those assumptions are wrong
Volume cleared is proportional to a collision area defined by a ring around the clay particle with width of the diameter of the nanoparticle diffusion band
∝πdClayLDiffNC\propto \pi \, d_{Clay} \, L_{Diff_{NC}}πdClayLDiffNC
Volume cleared is proportional to time
∝t\propto tt
Volume cleared is proportional to the relative velocity between clay and nanoparticles
∝vr\propto v_rvr

VClearedπdClayLDiffNCvrtV_{\rm{Cleared}} \pi d_{Clay} \, L_{Diff_{NC}} v_r tVClearedπdClayLDiffNCvrt

Use dimensional analysis to get a relative velocity
vr=f(ε,ν,ΛClay)v_r = f \left( \varepsilon ,\nu ,\Lambda_{Clay} \right)vr=f(ε,ν,ΛClay)

vr=ΛClayf(ε,ν)v_r = \Lambda_{Clay} f \left( \varepsilon ,\nu \right)vr=ΛClayf(ε,ν)
vr≈ΛClayGv_r \approx \Lambda_{Clay} GvrΛClayG

ΛClay=[L]ε=[L2T3]ν=[L2T]\Lambda_{Clay} = \left[ {\rm{L}} \right] \, \, \, \, \, \, \, \varepsilon = \left[ \frac{{\rm{L}}^2}{{\rm{T}}^3} \right] \, \, \, \, \, \, \, \nu = \left[ \frac{{\rm{L}}^2}{{\rm{T}}} \right]ΛClay=[L]ε=[T3L2]ν=[TL2]

Diffusion band thickness

DDiffusion=kBT3πνρdPD_{Diffusion} = \frac{k_B T}{3 \pi \, \nu \rho \, d_P}DDiffusion=3πνρdPkBT

LD≈DDiffusiontDiffusionL_D \approx \sqrt{D_{Diffusion} t_{Diffusion}}LDDDiffusiontDiffusion

tDiffusion=dClay2GdClay2=1Gt_{Diffusion} = \frac{ \frac{d_{Clay}}{2}} {G \frac{d_{Clay}}{2}} = \frac{1}{G}tDiffusion=G2dClay2dClay=G1

LDiffNC≈kBT3πνρNCdNCGL_{Diff_{NC}} \approx \sqrt{ \frac{k_B T}{3 \pi \,\nu \rho_{NC} \, d_{NC} G}}LDiffNC3πνρNCdNCGkBT

Collision Rates

-VCleared∝πdClayLDiffNCvrt{\rlap{-} V_{\rm{Cleared}}} \propto \pi d_{Clay} L_{Diff_{NC}} v_r t-VClearedπdClayLDiffNCvrt

tc=ΛNC3πdClayLDiffNCvrt_c = \frac{\Lambda_{NC}^3}{\pi d_{Clay} L_{Diff_{NC} v_r}}tc=πdClayLDiffNCvrΛNC3

vr≈ΛClayGv_r \approx \Lambda_{Clay} GvrΛClayG

-VOccupied=ΛNC3\rlap{-} V_{Occupied} = \Lambda_{NC}^3-VOccupied=ΛNC3

tc=ΛNC3πdClayLDiffNCΛClayGt_c = \frac{\Lambda_{NC}^3}{\pi d_{Clay} L_{Diff_{NC}} \Lambda_{Clay} G}tc=πdClayLDiffNCΛClayGΛNC3

dNc=πdClayLDiffNCΛClayGΛNC3dtdN_c = \frac{\pi d_{Clay} L_{Diff_{NC}} \Lambda_{Clay} G}{\Lambda_{NC}^3} dtdNc=ΛNC3πdClayLDiffNCΛClayGdt

Collision Rate and Particle Removal

dNc=πdClayLDiffNCΛClayGΛNC3dtdN_c = \frac{\pi d_{Clay} L_{Diff_{NC}}{\Lambda_{Clay} G}}{\Lambda_{NC}^3}dtdNc=ΛNC3πdClayLDiffNCΛClayGdt

ΛNC3=1nNC\Lambda_{NC}^3 = \frac{1}{n_{NC}}ΛNC3=nNC1

dNc=πdClayLDiffNCΛClayGnNCdtdN_c = \pi d_{Clay} L_{Diff_{NC}}{\Lambda_{Clay}} G \, n_{NC}dtdNc=πdClayLDiffNCΛClayGnNCdt

dnNC−knClay=dNc\frac{dn_{NC}}{ - k \, n_{Clay}} = dN_cknClaydnNC=dNc

dnNC−knClay=πdClayLDiffNCΛClayGnNCdt\frac{dn_{NC}}{ - k \, n_{Clay}} = \pi d_{Clay} L_{Diff_{NC}} \Lambda_{Clay} G \, n_{NC} dtknClaydnNC=πdClayLDiffNCΛClayGnNCdt

Integrate

dnNC−knClay=πdClayLDiffNCΛClayGnNCdt\frac{dn_{NC}}{ - k \, n_{Clay}} = \pi d_{Clay} L_{Diff_{NC}} \Lambda_{Clay} G \, n_{NC} dtknClaydnNC=πdClayLDiffNCΛClayGnNCdt

∫nNC0nNCnNC−1dnNC=−πdClayLDiffNCΛClayGknClay∫0tdt\int \limits_{n_{NC_0}}^{n_{NC}} n_{NC}^{- 1} \, dn_{NC} = - \pi d_{Clay} L_{Diff_{NC}} \Lambda_{Clay} G \, k \, n_{Clay} \int \limits_0^t {dt}nNC0nNCnNC1dnNC=πdClayLDiffNCΛClayGknClay0tdt

2.3pCNC=πdClayLDiffNCΛClayGknClayt2.3 p C_{NC} = \pi d_{Clay} L_{Diff_{NC}} \Lambda_{Clay} G k n_{Clay} t2.3pCNC=πdClayLDiffNCΛClayGknClayt

t=2.3pCNCΛClay2πdClayLDiffNCGkt = \frac{2.3p C_{NC} \Lambda_{Clay}^2}{\pi d_{Clay} L_{Diff_{NC}} G k}t=πdClayLDiffNCGk2.3pCNCΛClay2

now substitute for the diffusion length scale, LDiffNCL_{Diff_{NC}}LDiffNC
t=2.3pCNCΛClay2πdClayk3πνρNCdNCGkBTt = \frac{2.3p C_{NC} \Lambda_{Clay}^2}{\pi d_{Clay} k}\sqrt{ \frac{3 \pi \,\nu \rho_{NC} \, d_{NC} }{Gk_B T}}t=πdClayk2.3pCNCΛClay2GkBT3πνρNCdNC

C_Al = 2 * u.mg/u.L
fm.conc_precipitate(C_Al, fm.PACl)
def Nano_coag_attach_time(pC,C_clay,C_Alk,G,Temp):

t=2.3pCfm.conc_precipitate(C_Al, fm.PACl)

Coagulant attachment mechanism

  • Surface charge neutralization hypothesis
    • coagulant nanoparticles attach to each other
  • Polar bonds
    • Electronegativity reveals that the aluminum - oxygen bond is more polar than the hydrogen - oxygen bond
    • The bond between a coagulant nanoparticle and a clay surface can potentially be stronger than the bond between a water molecule and the clay surface.

Transport steps

  • Einstein's diffusion equation
  • Estimate diffusion time scale
  • Kolmogorov length scale
  • Possibly introduce model for shear-diffusion transport of coagulant nanoparticles to clay
  • Provide estimates of the time scales for each of the processes
  </div>
  
  
</body>
⚠️ **GitHub.com Fallback** ⚠️