SlideShare une entreprise Scribd logo
1  sur  85
Télécharger pour lire hors ligne
Computational Electrokinetics
Roman Zeyde
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Computational Electrokinetics
Research Thesis
Submitted in partial fulfillment of the requirements
for the degree of Master of Science in Computer Science
Roman Zeyde
Submitted to the Senate of
the Technion — Israel Institute of Technology
Adar 5773 Haifa March 2013
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
The research thesis was done under the supervision of Prof. Irad Yavneh in the Computer Science Depart-
ment.
Acknowledgment
I would like to thank my adviser, Prof. Irad Yavneh for his outstanding guidance, helpful discussions and
valuable advice. I am deeply grateful to my family, and especially to my wife, Galit, for their love and
support.
The generous financial support of the Technion is gratefully acknowledged.
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Contents
Abstract 1
Abbreviations and Notations 2
1 Introduction 3
1.1 The Physical Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Electrokinetic Phenomena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Governing Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Nondimensionalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Boundary conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 Separation of scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.4 Bulk-scale effective boundary conditions . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.5 Steady-state velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Summary of achievements in this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Numerical Scheme 10
2.1 Numerical Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 Finite Volume Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.2 Flux Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3 Ghost Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.4 Newton’s Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.5 Richardson Extrapolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
i
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
2.2 Algorithm Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Spherical Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Computational Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.3 Operator Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.4 System Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.5 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Solver Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1 Operator Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.2 Steady-state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.3 Continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Solver Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Operator Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.2 Handling the Singularity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.3 Iterative Newton solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 Source code overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.1 Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.2 Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.3 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.4 Sample source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Results and Discussion 29
3.1 Asymptotic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.1 First-Order (linear in β) Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.2 Second-Order (quadratic in β) Solution . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.3 Third-Order (cubic in β) Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.1 Ion-exchanger results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.2 Electrophoresis results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.3 Electrophoresis for large β . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
ii
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
3.4 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
A Effective Boundary Conditions 54
A.1 Debye layer scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
A.2 Ion Fluxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
A.3 Electric Potential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
A.4 Radial Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
A.5 Tangential Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
B Differential operators in spherical coordinates 58
B.1 Scalar Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
B.2 Vector Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Bibliography 62
Abstract in Hebrew
iii
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
List of Figures
1.1 Schematic structure of the double layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Spherical coordinate system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Computational grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Variable class source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4 Grid class source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Operator interface source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6 Constant operator source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.7 Pointwise function source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8 Linear operator source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.9 Join operator source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.10 Sample problem source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1 Ion exchanger steady-state velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Ion exchanger streamlines – numerical results . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Ion exchanger streamlines – analytical results . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Quadratic convergence of steady-state velocity . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5 Highly-charged surface particle steady-state velocity . . . . . . . . . . . . . . . . . . . . . . 38
3.6 Highly-charged surface particle steady-state velocity . . . . . . . . . . . . . . . . . . . . . . 39
3.7 Large β results for U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.8 Large β results for U – difference from linear regime . . . . . . . . . . . . . . . . . . . . . . 41
3.9 Rate of convergence estimation for U at large β . . . . . . . . . . . . . . . . . . . . . . . . 41
3.10 β = 0.1 results for C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.11 β = 0.8 results for C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
iv
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
3.12 β = 5.0 results for C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.13 β = 0.1 results for Φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.14 β = 0.8 results for Φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.15 β = 5.0 results for Φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.16 Streamfunction results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.17 Streamfunction results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.18 Streamfunction asymmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.19 Electric field boundary layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.20 Ionic concentration boundary layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.21 The product of C(r = 1, θ = 0)Er(r = 1, θ = 0)/β as a function of β. . . . . . . . . . . . . . 52
v
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
vi
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Abstract
In this work we study the electrokinetic migration of particles in an electrolyte solution due to the appli-
cation of an external electric field, and propose a numerical framework for the iterative solution of such
problems. The electrokinetic transport process can be used for transporting and manipulating micro-
and nanoscale objects in many nanotechnology applications, nano-fluidic devices, packed-bed separation,
desalination processes and various electrophoresis applications. Due to strong electrostatic forces, a thin
boundary layer forms near the particle surface. This results in scale disparity of the boundary layer, which
makes a full numerical solution challenging. We employ nonlinear macroscale effective boundary condi-
tions that have been derived using the specific chemical properties of the particle (for an ion-exchanger
particle by Yariv in [1] and for a surface charged inert particle by Schnitzer and Yariv in [2]). The resulting
macroscale nonlinear partial differential system is discretized and an iterative Newton solver is constructed
automatically from the discrete equations. Numerical results are obtained for an ion-exchanger and for a
surface charged inert particle. An asymptotic analytical solution is used for the validation of the solver.
The numerical results are compared to the asymptotic solutions, and good correspondence is achieved.
Finally, the new solver is applied in the regime of moderately large values of the external field, where no
analytical results are known. The numerical results uncover the strong-field scaling behavior, including a
new boundary layer at the front of the particle that scales exponentially with respect to the external field,
and also a well-defined dependence of the particle steady-state velocity on this field.
1
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Abbreviations and Notations
Φ — Electric potential
C — Ionic concentration
V — Fluid velocity
P — Fluid pressure
T — Stress tensor
F — Force vector
ˆn — Surface normal
O — Operator
β — Dimensionless electric field magnitude
δ — Dimensionless Debye layer width
U — Dimensionless steady-state velocity
2
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Chapter 1
Introduction
1.1 The Physical Problem
1.1.1 Electrokinetic Phenomena
Electrokinetic theory describes the dynamics of charged particles in ionic fluids [3, 4]. When a particle
acquires surface charge, a layer of ions of opposite charge is attracted to the surface via electric forces,
creating a double-layer structure around the particle (see Figure 1.1). This structure, called “Debye layer”,
electrically screens the surface charge, creating a potential difference between the particle and the outer
layer of the fluid bulk. In cases where the layer width is much smaller than the particle size, an analytical
asymptotic solution for the Debye layer dynamics can be derived [5].
The variables of the electrokinetic flow equations are the electrostatic potential ϕ, fluid velocity v and its
pressure p, and ionic concentration c. The boundary conditions are determined by the specific problem
under consideration and defined by the particle’s geometry, chemical characteristics, and the fluid dynamics.
The partial differential equations that describe the system dynamics under an external electric field, are
coupled and nonlinear, and in general have no analytic solution. Moreover, any numerical solver must
handle the scale disparity caused by the Debye layer width being much smaller than the particle size. An
effective boundary condition outside the Debye layer has been developed for spherical particles, yielding a
macroscale model in [1, 2]. The model is solved for weak electric field in an axisymmetric setting but it
is hard to extend this analytic solution to more general systems. Once the electric field becomes stronger,
significant nonlinear phenomena emerge. This interesting regime has not yet been explored extensively.
1.1.2 Applications
Recently, it has been conceived that such type of phenomena can be very useful in microfluidics devices and
methods for controlling and manipulating fluid flows in micro- and nanoscale. Many different components
are used in microfluidics such as valves, pumps, sensors, mixers, filters, separators, heaters etc., and are
combined into lab-on-a-chip systems.
3
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
(1) (2) (3)
Figure 1.1: Schematic structure of the double layer: (1) charged particle surface, (2) Debye layer, (3)
fluid bulk. If the particle surface has positive (black) surface charge, it attracts negative (white) ions from
the fluid making the Debye layer negatively charged (as opposed to the rest of the fluid bulk, which is
electrically neutral). The zeta potential is defined as the voltage drop across the Debye layer (2).
The manipulation can be achieved by either applying the external field at inlets and outlets, or it can be
applied locally in the microchannel by integrated components. A typical microchannel is produced with
lithographic techniques. Normally the Reynolds number is very low (on the order of unity or smaller) which
means that viscosity dominates and the convective term of the Navier-Stokes equations is insignificant. This
also means that microflows most often are laminar.
In the last decade there has been an increase in microfluidics research, due to the spread of tools for
microfluidic systems fabrication, production of cheap and portable devices for fast medical analysis, and
fundamental research of physical, chemical and biological processes. Various applications are [6, 7, 8, 9]:
1. DNA separation and sequencing [10].
2. Cell analysis and forensic identification [11, 12, 13].
3. Integrated microchemical systems [14].
4. Packed-bed separation [15, 16].
5. Desalination processes [17].
6. Drug delivery and pathogen detection [18].
Because the nonlinear macroscale model for these electrokinetic phenomena has no closed-form analytic
solution, a numerical solver for this system is of importance.
4
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
1.2 Governing Equations
1.2.1 Nondimensionalization
We follow the derivation presented by Yariv in [5]. Spatial coordinates r are normalized by a∗ (the
characteristic size of the particle). Positive and negative ionic concentrations are denoted by c+ and c−,
respectively, and are normalized by the ambient ionic concentration c∗. The ionic valences are ±z. The
dimensional ionic fluxes, j±, are given by the Nernst-Plank equation (using the Einstein relation for the
electric mobility, µ∗
q = D∗/k∗
BT∗, where D∗ is the ionic diffusivity):
j∗
± = −D∗
∇c∗
± + v∗
c∗
± ∓
ze∗D∗
k∗
BT∗
c∗
±∇ϕ∗
, (1.1)
The electric potential ϕ is normalized by the thermal voltage: ϕ∗ = k∗
BT∗/ze∗ = R∗T∗/zF∗, where
R∗ = k∗
BNA, F∗ = e∗NA is the Faraday number and NA is the Avogadro constant.
The dimensional Stokes equations with electrostatic forces are given by:
∇ · v = 0, −∇p∗ + µ∗∇2
v∗ + ǫ∗∇2ϕ∗∇ϕ∗ = 0. (1.2)
The velocity v is normalized by v∗ = ǫ∗(ϕ∗)2/a∗µ∗, and the pressure p is normalized by p∗ = µ∗v∗/a∗ =
ǫ∗(ϕ∗)2/(a∗)2. The fluxes j∗
± are normalized by j∗ = D∗c∗/a∗.
The dimensional Poisson equation can be written as
(c∗
+ − c∗
−)ze∗
= −ǫ∗
∇2
ϕ∗
, (1.3)
After nondimensionalization, the Nernst-Plank, Stokes and Poisson equations read:
j± = −∇c± + αvc± ∓ c±∇ϕ, (1.4)
∇ · v = 0, −∇p + ∇2
v + ∇2ϕ∇ϕ = 0, (1.5)
c+ − c− = −2δ2
∇2
ϕ, (1.6)
where δ = δ∗/a∗ is the dimensionless Debye thickness (δ∗ = ǫ∗ϕ∗/2c∗e∗z) and α = v∗a∗/D∗ =
ǫ∗(ϕ∗)2/µ∗D∗ is the dimensionless Peclet number. The force on the particle is denoted by F normal-
ized by µ∗v∗a∗ = ǫ∗(ϕ∗)2. The stress tensor is denoted by T and normalized by p∗ = µ∗v∗/a∗. The electric
field is denoted by E and normalized by E∗ = ϕ∗/a∗. The surface charge is denoted by σ and normalized
by σ∗ = ǫ∗ϕ∗/δ∗.
The ionic fluxes are given by ion diffusion, electrostatic forces and ion advection by the fluid in (1.4). Due
to conservation of ion concentrations, the fluxes are divergence-free:
∇ · j± = 0.
5
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
These equations may be re-written by using salt c = (c+ + c−)/2 and charge q = (c+ − c−)/2. Thus, salt
and charge fluxes are defined by:
j =
j++j−
2 = −∇c − q∇ϕ + αvc, i =
j+−j−
2 = −∇q − c∇ϕ + αvq, (1.7)
and are divergence-free as well:
∇ · j = 0, ∇ · i = 0. (1.8)
In addition, the charge concentration is governed by the Poisson equation (1.6)
q = −δ2
∇2
ϕ. (1.9)
1.2.2 Boundary conditions
We assume that a constant electric field of nondimensional magnitude β, is applied to the system, in the
direction denoted by the unit vector ˆı. As a result, the particle will equilibrate at a non-zero steady-state
velocity U ˆı, which is a function of the applied field, and is not known a priori.
We employ the reference frame of the particle. Far away from the particle, we have a uniform applied
electrostatic field, uniform flow, and ambient ionic concentrations:
v → −U ˆı, ∇ϕ → −βˆı, c± → 1. (1.10)
We consider a spherical particle. The chemical properties of the particle’s surface S (defined at r = 1 with
normal ˆn = ˆr), determine the boundary conditions on S. We consider the following scenarios:
Ion-exchanger
We follow the microscale model presented at [1] and assume high conductance of the particle (yielding a
uniform electric potential), zero slip, anion impermeability, cation selectivity (with fast Butler-Volmer[19]
kinetics ˆn · j+ = k(1 − c+/γ), where k → ∞):
ϕ = V , v = 0, ˆn · j− = 0, c+ = γ, (1.11)
where γ is the ratio between the cationic concentration on the surface and the cationic concentration in
the fluid bulk and V is an unknown constant electric potential at the ion-exchanger surface.
Inert particle
We follow the microscale model presented at [2] and assume constant surface charge zero slip and ion
impermeability:
ˆn · (∇ϕ − χ∇ϕs) = δ−1σ, v = 0, ˆn · j± = 0, (1.12)
where χ is the ratio between the dielectric constants of the particle and the fluid.
6
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
1.2.3 Separation of scales
When δ ≪ 1, the fluid remains electroneutral (q ≈ 0, thus c+ ≈ c−), except inside a thin boundary layer
of width O(δ) surrounding the particle (the “Debye layer”). This boundary layer makes it very hard to
construct a direct numerical solver for the full electrokinetic problem. However, the scale disparity at the
Debye layer can be exploited (as shown by Yariv in [5]), which allows the PDE system to be rewritten in
the “inner” region as an ODE system using the asymptotic limit of δ → 0. This system can be integrated
and solved analytically, yielding “effective” boundary conditions near the particle surface for the “outer”
bulk region equations.
Bulk-scale equations
The Nernst-Planck equations above (1.7) for the fluid bulk outside the boundary layer [5], using bulk
variables denoted by uppercase letters, read:
Q = 0, C = C+ = C−, J = −∇C + αV C, I = −C∇Φ. (1.13)
Because the flow is incompressible (∇ · V = 0), ion conservation results in the following salt and charge
conservation equations – the salt and charge fluxes above (1.13) are divergence-free (1.8):
∇2C − αV · ∇C = 0, ∇ · (C∇Φ) = 0. (1.14)
The macroscale Stokes flow equations have the same form as before (1.5):
∇ · V = 0, ∇2V − ∇P + ∇Φ∇2Φ = 0. (1.15)
1.2.4 Bulk-scale effective boundary conditions
By integrating the equations across the Debye layer, the effective boundary conditions at the particle
surface are:
Ion-exchanger
See [1] for full derivation of the nonlinear effective boundary conditions (and also Appendix A):
0 = Φ + log C,
0 =
∂
∂n
(Φ − log C) , (1.16)
V = ζ · ∇SΦ + 2 log 1 − tanh2 ζ
4
· ∇S log C,
where ζ = V − Φ = log(C/γ) is the zeta potential.
7
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Highly charged inert particle
See [2] for full derivation of the nonlinear effective boundary conditions. Note that due to surface conduc-
tion, the resulting boundary conditions are:
0 =
∂C
∂n
− Du∇2
s (Φ − log C),
0 =
∂C
∂n
+ C
∂Φ
∂n
, (1.17)
V = ζ · ∇S (Φ − log C) + 4 log 2 · ∇S log C,
where ζ = ¯ζ − log C is the zeta potential and ¯ζ = 2 log σ.
1.2.5 Steady-state velocity
The stress tensor in the fluid is composed of Newtonian and Maxwel stresses:
T = ∇V + (∇V )†
− PI + ∇Φ∇Φ −
1
2
(∇Φ · ∇Φ). (1.18)
In steady state (constant particle drift velocity U ), the total force acting on the particle (computed by
the following surface integral) must vanish:
F (β, U ) =
S
T · ˆndA = 0. (1.19)
The total force F (β, U ) is a function of the applied electric field β and the velocity U . For any given
electric field β, the force-free constraint above can be solved numerically for U to yield the corresponding
steady-state velocity.
1.3 Summary of achievements in this work
In this work, we develop and implement a novel software framework, that enables the generation of iterative
numerical solvers for nonlinear macroscale electrokinetic problems. A novel feature is the combination of
a numerical framework with an analytical solution of the thin Debye layer, that is available from the
literature and provides effective boundary conditions. Therefore, the Debye layer does not need to be
resolved by the computational grid, saving a tremendous amount of numerical resources.
We apply this framework to the study of systems that have no closed-form solutions, such as ion-exchanger
migration [1] and the electrophoresis problem [2] for a spherical particle in an infinite domain. The
numerical results can be used to gain insight into the chemical and physical behavior in far more general
regimes than are currently well-understood, and also to possibly lead to further analytical developments,
based on new scaling behavior that is discovered numerically. We have also discovered interesting physical
phenomena that may be observed experimentally. One such phenomenon is nonlinear electrokinetic vortex
flow, which is useful for microfluidic mixing applications [20, 21].
8
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
In addition, we develop and present an asymptotic derivation for the ion-exchanger migration problem up
to third order terms. This new analytical result is also used to verify the numerical framework and the
numerical results.
9
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Chapter 2
Numerical Scheme
2.1 Numerical Framework
We start by presenting the numerical framework that is used for the construction of the nonlinear solver.
2.1.1 Finite Volume Method
Finite Volume methods [22] are used to define a discretization of the conservation equations’ integral forms.
The simulation domain is divided into a set of discrete non-overlapping control volumes. Each conservation
equation is discretized over the control volumes, such that the integral form of the conservation law is
satisfied using an approximation of the fluxes over the control volume faces. This method ensures that the
discretization is conservative in the discrete sense.
2.1.2 Flux Discretization
In order to define the fluxes on the boundaries of each control volume, we employ the conservative for-
mulation of the governing equations above. The flux terms are defined using finite differences and linear
interpolation of the discrete variables (defined at the centroid of each cell), except for the advection flux
which should not be discretized using linear interpolation – due to a numerical instability for large cell
Peclet numbers [23].
2.1.3 Ghost Points
In order to discretize boundary condtions for Φ, C and V , “ghost” points are employed. The grid is
extended to include points outside the domain interior, and the variables at the “ghost” points are set
to satisfy the discretized boundary conditions on the grid boundaries. Note that P has no boundary
conditions – so the pressure variable is defined only in the domain interior.
10
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
2.1.4 Newton’s Method
Newton’s method is used to solve a nonlinear system of equations of the form O(x) = 0. For small step
∆x, we can linearize the operator by
O(x + ∆x) ≈ O(x) + ∇O(x)∆x (2.1)
Thus, we use the following iteration, starting from an initial solution x0:
∆xn = − [∇O(xn)]−1
· O(xn) (2.2)
xn+1 = xn + ∆xn (2.3)
Then, a sparse linear system A∆x = b needs to be solved to yield the update ∆x. When the method
converges, xn → x∞, the asymptotic convergence is in general quadratic:
xn+1 − x∞ ≤ k xn − x∞
2
. (2.4)
Thus, when the initial guess is close enough to the solution, the solver will typically converge in very few
steps.
2.1.5 Richardson Extrapolation
In order to achieve higher numerical accuracy, we employ Richardson extrapolation [24] on the resulting
steady-state velocity U (h), as a scalar function of the grid spacing h. This method enables us to detect
and analyze nonlinear effects for β ≪ 1, where a higher-order discretization is required because otherwise
the numerical error becomes comparable to the difference between the linear analytical regime and the
numerical results.
2.2 Algorithm Description
The numerical solver first requires constructing a discrete approximation for the nonlinear PDE system,
for a given electric field β and assumed velocity U . The resulting nonlinear discrete system is solved
numerically using Newton’s Method, so the total force on the particle can be computed. We seek the
steady-state velocity U , which corresponds to zero total force, F(β, U ) = 0, which we solve by the
standard secant method.
2.2.1 Spherical Coordinates
Because the system is axisymmetric and the particle is a sphere, we employ spherical coordinates (r, θ, φ),
as shown in Figure 2.1.
11
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
The scalar gradient and the divergence can be written as:
∇f =
∂f
∂r
ˆr +
1
r
∂f
∂θ
ˆθ, (2.5)
∇ · F =
1
r2
∂
∂r
Frr2
+
1
r sin θ
∂
∂θ
(Fθ sin θ) . (2.6)
The scalar Laplacian can be written as:
∇2
f = ∇ · (∇f) =
1
r2
∂
∂r
r2 ∂f
∂r
+
1
r2 sin θ
∂
∂θ
sin θ
∂f
∂θ
. (2.7)
The vector gradient and vector Laplacian can be written as:
∇F =
∂Fr
∂r
ˆrˆr +
∂Fθ
∂r
ˆrˆθ +
1
r
∂Fr
∂θ
− Fθ
ˆθˆr +
1
r
∂Fθ
∂θ
+ Fr
ˆθˆθ,
ˆr · ∇2
F = ∇2
Fr −
2Fr
r2
−
2
r2 sin θ
∂ (Fθ sin θ)
∂θ
(2.8)
ˆθ · ∇2
F = ∇2
Fθ −
Fθ
r2 sin2
θ
+
2
r2
∂Fr
∂θ
.
Note that in the spherical coordinate system, the vector Laplacian operator cannot be computed in a de-
coupled manner as in the Cartesian system, because the unit vectors ˆr, ˆθ, ˆφ are functions of the coordinates
in a curvilinear coordinate system. See Appendix B for the full derivation of the identities above.
2.2.2 Computational Grid
A regular grid of size nr × nθ is defined, with:
(ri, θj) ∈ [1, ∞) × [0, π],
ri = (1 + ∆r)i
, (2.9)
θj = ∆θ · j,
where a logarithmic grid spacing has been chosen for r and a uniform grid for θ. Note that r0 = 1 and
Rmax = (1 + ∆r)nr
, where ∆r = (Rmax)1/nr
− 1 and ∆θ = π/nθ.
Because the grid is finite, the choice of Rmax must be large enough so as to have a negligible effect on the
solution. On the other hand, in order to have a high resolution grid near the particle surface, ∆r should
be minimized. It should be noted that for a given grid size nr, these requirements cannot be satisfied
simultaneously – thus, a compromise is required between large Rmax and small ∆r.
This grid induces a disjoint subdivision of the domain Ω = [1, Rmax] × [0, π] = ij Ωij into cells. A specific
cell Ωij and its center (¯ri, ¯θj) are defined by (2.9):
Ωij = [ri−1, ri] × [θj−1, θj],
¯ri = (ri−1 + ri)/2, (2.10)
¯θj = (θj−1 + θj)/2.
12
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Each discrete variable is located with respect to its cell as shown at Figure 2.2. Φ, C and P are represented
by their value at the center of each cell, using an all-centered grid, whereas V is represented by its values
at cell boundaries, using a staggered grid:
Φh
[i,j] = Φ(¯ri, ¯θj),
Ch
[i,j] = C(¯ri, ¯θj),
Ph
[i,j] = P(¯ri, ¯θj), (2.11)
V h
r [i,j] = Vr(ri, ¯θj),
V h
θ [i,j] = Vθ(¯ri, θj).
2.2.3 Operator Discretization
A finite-volume method with linear interpolation is used for flux discretization. Define the following discrete
central difference operators:
Dr(fh
)[i+ 1
2
,j] =
fh
[i+1,j] − fh
[i,j]
r[i+1,j] − r[i,j]
, (2.12)
Dθ(fh
)[i,j+ 1
2 ] =
fh
[i,j+1] − fh
[i,j]
θ[i,j+1] − θ[i,j]
. (2.13)
Define the following linear interpolation operators:
Ir(fh
)[i+ 1
2
,j] =
r[i+ 1
2
,j] − r[i,j]
r[i+1,j] − r[i,j]
fh
[i+1,j] +
r[i+1,j] − r[i+ 1
2
,j]
r[i+1,j] − r[i,j]
fh
[i,j], (2.14)
Iθ(fh
)[i,j+ 1
2 ] =
r[i,j+ 1
2 ] − r[i,j]
r[i,j+1] − r[i,j]
fh
[i,j+1] +
r[i,j+1] − r[i,j+ 1
2 ]
r[i,j+1] − r[i,j]
fh
[i,j]. (2.15)
If the total flux of a cell is equal to zero (∇ · f = 0), then using (2.12), we have
1
r2
Dr fh
r r2
+
1
r sin θ
Dθ fh
θ sin θ = 0. (2.16)
13
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
x
r
θ
φ
ı
Figure 2.1: Spherical coordinate system is employed for computational grid construction.
Φ, C, P
Φ, C, P
Φ, C, P
Φ, C, P
Φ, C, P
Vr
Vr
Vr
Vr
Vr
Vr
Vr
Vr
Vr
Vr
Vr
Vr
VθVθVθ
Vθ
Vθ
Vθ
Vθ
Vθ
Vθ
Vθ
Vθ
Vθ Φ, C, P
Φ, C, P
Φ, C, P
Φ, C, P
Figure 2.2: The computational grid is defined using a spherical coordinate system, due to axisymmetry of
the physical problem and boundary conditions discretization on the particle surface.
14
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
2.2.4 System Equations
Charge and salt fluxes (1.13) are discretized on grid cell boundaries (using an upwind scheme U for
numerical stability at large cell Peclet number) using (2.12) and (2.14):
Ih
r = −Ir(Ch
) · Dr(Φh
),
Ih
θ = −Iθ(Ch
) ·
Dθ(Φh)
r
,
Jh
r = −Dr(Ch
) + αV h
r · UV h
r (Ch
),
Jh
θ = −
Dθ(Ch)
r
+ αV h
θ · UV h
θ (Ch
), (2.17)
UV h
r (Ch
)[i, j] = Ch
i −
sign(V h
r )
2
, j ,
UV h
θ (Ch
)[i, j] = Ch
i, j −
sign(V h
θ )
2
.
Mass flux V is discretized on grid cells boundaries, using the staggered velocity grid. Force components
(F = −∇P + ∇2
V + ∇Φ∇2Φ) are discretized on the staggered velocity grid using the finite difference
method, where linear interpolation is used for the Coulomb force and for vector Laplacian components.
Fh
r = −Dr(Ph
) + L(V h
r ) −
2
r2
V h
r −
2
r2 sin θ
Ir(Dθ(V h
θ sin θ)) + Dr(Φh
) · Ir(L(Φh
)),
Fh
θ = −
Dθ(Ph)
r
+ L(V h
θ ) −
Fh
θ
r2 sin2
θ
+
2
r2
Iθ(Dθ(Fh
r )) +
Dθ(Φh)
r
· Iθ(L(Φh
)),
L(fh
) =
1
r2
Dr Dr(fh
)r2
+
1
r2 sin θ
Dθ Dθ(fh
) · sin θ . (2.18)
2.2.5 Boundary Conditions
Far away from the particle boundary (1.10), we have:
Dr Φh = −β cos ¯θ, Ir Ch = 1 V h
r = −U cos θ, V h
θ = U sin θ. (2.19)
For θ = 0 and θ = π, the “ghost” points are defined by axial symmetry considerations:
Dθ Φh = 0, Dθ Ch = 0, Dθ V h
r = 0, V h
θ = 0 (2.20)
The specific boundary conditions at r = 1 depend on the chemical properties of particle surface.
15
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Ion-exchanger
The boundary conditions (1.16) are implemented by:
0 = Ir(Φh + log Ch),
0 = Dr(Φh − log Ch),
V h
r = 0,
V h
θ = 4 log 1
2 1 + exp Iθ(ζh)/2 · Dθ(ζh),
ζh = − log γ − Ir(Φh).
(2.21)
Highly charged inert particle
The boundary conditions (1.17) are implemented by:
0 = Dr(Ch) − Du · Dθ sin θ · DθIr Φh − log C /sin θ,
0 = Dr(Ch) + Ir(Ch)Dr(Φh),
V h
r = 0,
V h
θ = Iθ(ζh) · Dθ(IrΦh − log IrCh) + 4 log 2 · Dθ(log IrCh),
ζh = ¯ζ − log IrC.
(2.22)
2.3 Solver Design
Let O : RN → RN be a nonlinear operator. In order to solve the equation O(x) = 0, Newton’s method is
applied, given an initial solution x0. Each step requires the computation of the residual vector, r = O(x),
the gradient matrix of the operator, G = ∇O(x) (given the current solution x) and the solution of the
sparse linear system G∆x = −r.
2.3.1 Operator Representation
The system variable x is defined as the concatenation x = [ Φ, C, Vr, Vθ, P ]. Thus, each problem variable
can be computed by applying an appropriate projection operator on x. The system can be written as a
nonlinear operator O(x) = 0 acting on the system variable x, where O is the system equations operator,
derived by concatenation of the system equations (described in Subsection 2.2.4) and the boundary con-
ditions operators (described in Subsection 2.2.5). This way, the same numerical solver handles both the
nonlinear system equations and nonlinear boundary conditions.
2.3.2 Steady-state
Let β be a given nondimensional electric field. Assume that U ˆı is the drift velocity of the particle (given
that the fluid is at rest far away from it). After the convergence of the solver, once the residual norm
is below a prescribed threshold O(xn) < ǫ, the total force acting on the particle can be computed by
integrating T · ˆn over the particle surface.
16
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Due to symmetry considerations, the total force F is aligned with ˆı and it vanishes iff ˆı · F = 0.
Fı = ˆı · F =
S
(ˆı · T · ˆn) dA =
π
0
fı(θ)2π sin θdθ,
fı = ˆı · T · ˆr = −P + 2Dr(Vr) +
1
2
(Dr(Φ))2
−
1
2r2
(Dθ(Φ))2
cos θ (2.23)
− Dr(Vθ) −
Vθ
r
+
1
r
Dr(Φ)Dθ(Φ) sin θ.
The integral above is approximated by 1D numerical quadrature (using the mid-point rule)
Fh
ı (β, U h
) =
nθ
i=1
fh
(¯θi) · 2π sin ¯θi · ∆θi, (2.24)
to yield the total force Fh
ı (β, U h) as a function of the drift velocity U h. Since the goal is to find the steady-
state solution, Fh
ı is required to be zero – and the appropriate U h is found by a simple 1D root-finding
algorithm, applied as an outer loop:
Fh
ı (β, U h
(β)) = 0 (2.25)
2.3.3 Continuation
The iterative solver above can in principle be used to compute the steady-state solution for any given β.
For β ≪ 1, the linear terms are the dominant ones, so the solution is approximately linear in β (as derived
in [1]), and the solver convergence is fast. However, this is no longer true for β 1, because the nonlinear
terms become dominant and the iterative solver may not converge at all if we start with an arbitrary initial
guess. In order to find a solution for such β, a continuation method is used: the solver is applied to a
sequence of {βi}n
i=0 such that β0 = 0, βn = β and the solution xi for βi is used as the solver initializer for
the problem of βi+1.
2.4 Solver Implementation
Object-Oriented Design methodology is used for implementation. The MATLAB programming language
is chosen due to strong numerical capabilities and high-level language features. The source code of the
solver is provided in [25].
MATLAB direct solver is applied to solve the sparse linear system for each Newton step, using the backslash
operator. The library used for solving the linear system is UMFPACK 5.0 [26] (Unsymmetric MultiFrontal
Sparse LU Factorization Package), as reported by MATLAB function call, spparms(’spumoni’, 2).
2.4.1 Operator Interface
The base Operator interface is defined by supporting the computation of a residual vector Operator.res()
and a gradient matrix Operator.grad(), given an input vector x. This interface is implemented by specific
17
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
operator classes, which are used to construct the system operator O, so that the Newton solver (that
requires computing the residual and the gradient) can be applied automatically. Each such operator may
have other operators as its inputs, so the residual and the gradient are computed recursively, using the
chain rule (applied to operators).
Linear operator
If O is linear, it can be represented by a matrix L, such that:
O(x) = Lx, ∇O = L. (2.26)
Note that finite difference D, interpolation I and upwind selection U operators can be implemented as
linear sparse operators, by constructing an appropriate sparse matrix L, having O(dim x) non-zeroes. This
way, the computation of the residual is very fast, taking O(dim x) time, and the gradient does not depend
on x.
Pointwise scalar function
Let f : R → R be a differentiable 1D function, whose derivative is denoted by f′ : R → R. The operator
F can be defined to represent a pointwise application of f:
F(x) = [f(x1); . . . ; f(xn)], ∇F(x) = diag{f′(x1), . . . , f′(xn)}. (2.27)
f is defined and differentiated automatically using the MATLAB symbolic toolbox.
Constant value
A constant operator C is defined by the constant vector c (which does not depend on x):
C(x) = c, ∇C = 0. (2.28)
Binary operators
Let O1 and O2 be two operators, so that their pointwise addition, subtraction, and multiplication, are
defined as follows:
(O1 ± O2)(x) = O1(x) ± O2(x), (2.29)
∇(O1 ± O2)(x) = ∇O1(x) ± ∇O2(x),
(O1 · O2)(x) = O1(x) · O2(x), (2.30)
∇(O1 · O2)(x) = diag(O2(x))∇O1(x) + diag(O1(x))∇O2(x).
18
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
N-ary operators
Given N operators {Oi}N
i=1, their concatenation O is defined as:
O(x) = [O1(x); . . . ; ON (x)], (2.31)
(∇O)(x) = [(∇O1)(x); . . . ; (∇ON )(x)].
2.4.2 Handling the Singularity
The electric potential Φ (in electrophoresis case) and the pressure P (in both cases) are defined up to an
additive constant, since the system equations and the boundary conditions contain only their derivatives.
In order to overcome the singularity of the linear system G∆x = −r, we set the variable at a specific grid
point to be 0. In order to retain a square system, we remove one conservation equation at this grid point
too. In the case of pressure P, we remove one mass conservation equation, ∇ · V = 0, at this grid point.
In the case of electric potential, we remove the charge conservation equation, ∇ · (C∇Φ) = 0, at this grid
point. For r = O(x) and G = ∇O(x), the new square linear system reads:
RGP · δx = −Rr, (2.32)
where P matrix is used to remove the columns and R matrix is used to remove the rows of G, where the
update step is ∆x = P · δx.
2.4.3 Iterative Newton solver
Given an initial solution x0 and prescribed values for β and U , we apply the following algorithm until
convergence ( rn < ǫ):
1. Update the system operator: op = System(xn)
2. Compute the gradient: Gn = op.grad()
3. Compute the right-hand side: rn = op.res()
4. Solve sparse linear system: RGnP∆xn = −Rrn
5. Update solution: xn+1 = xn + P∆xn
2.5 Source code overview
In the following section we present the source code of the numerical framework and demonstrate its usage
for solving a boundary-value problem.
19
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
2.5.1 Variable
We define the variable vector x as Variable operator (Figure 2.3).
1 classdef Variable < handle
2 properties
3 value;
4 end
5 methods
6 function self = Variable(varargin)
7 self.value = col(varargin{:});
8 end
9 function r = res(self)
10 r = self.value(:);
11 end
12 function G = grad(self)
13 G = speye(numel(self.value));
14 end
15 function update(self, dv)
16 self.value = self.value + dv;
17 end
18 end
Figure 2.3: Variable class source code.
Then the initial solution for the solver is set using x = Variable(Φ, C, Vr, Vt, P) from the initial conditions
of the solver.
2.5.2 Grid
Most of the operators are using a Grid object (Figure 2.4), enabling validation of operators compatibility
and convenient interpolation between grids. Note that each operator must define its res() and grad()
functions, for residual and gradient computation, respectively. An Operator interface is used (Figure 2.5)
to support operator overloading MATLAB syntax.
Thus, various computations can be applied on simple operators, creating more complex operators, such as
op4 = op1 * exp(op2 + tanh(op3)). Since each operator can compute its residual and gradient, we can
compute automatically the residual and gradient of op4 from these of op1, op2, op3 using the derivation
rules described at 2.4.1.
2.5.3 Operators
An operator can be created with n existing operators as input. Const is an operator that corresponds to
n = 0, whose residual value is constant and gradient matrix is zero (see Figure 2.6).
20
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
1 % Regular structured grid class
2 classdef Grid < handle
3 properties
4 x, y;
5 X, Y;
6 size;
7 numel;
8 end
9 methods
10 function self = Grid(x, y)
11 self.x = x(:);
12 self.y = y(:);
13 [self.X, self.Y] = ndgrid(self.x, self.y);
14 self.size = [numel(self.x), numel(self.y)];
15 self.numel = prod(self.size);
16 end
17 end
Figure 2.4: Grid class source code.
Unary operators
Unary operators have one existing operator as input. Func operator implements point-wise analytic func-
tion application (whose derivative is computed using the symbolic differentiation toolbox) on the same grid
of the input operator (Figure 2.7). Linear operator is implemented using multiplication by a constant
sparse matrix L, which is also the gradient of the operator (Figure 2.8). Deriv and Interp operators
(implementing discrete differentiation and grid interpolation) derive from Linear base class operator and
specify L sparse matrix accordingly.
Binary operators
Binary operators such as addition, subtraction and point-wise multiplication are implemented as operators
whose output grid is the same as the grid of their inputs. The implementation is used by operator
overloading in the base class Operator.
N-ary operators
All equations and boundary condition operators are defined as operators {op1, op2, ... opN}. Then,
they are combined using the N-ary operator op = Join(op1, op2, ... opN), creating the system oper-
ator op (Figure 2.9).
21
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
2.5.4 Sample source code
The following example shows how to define the following boundary-value problem:
∇2
F(x, y) = 1 (x, y) ∈ [0, 1]2
(2.33)
F(0, y) = F(1, y) = 0 y ∈ [0, 1] (2.34)
∂F
∂y
(x, 0) =
∂F
∂y
(x, 1) = 0 x ∈ [0, 1] (2.35)
and solve it using one Newton method step. The source code is presented at Figure 2.10.
22
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
1 classdef Operator < handle
2 properties
3 grid; % a grid object for the output
4 end
5 methods
6 function op = Operator(grid)
7 op.grid = grid;
8 end
9 function op = plus(op1, op2)
10 op = Sum(op1, op2);
11 end
12 function op = minus(op1, op2)
13 op = Minus(op1, op2);
14 end
15 function op = uminus(op)
16 op = Product(-1, op);
17 end
18 function op = mtimes(op1, op2)
19 op = Product(op1, op2);
20 end
21 function op = log(op)
22 op = Func(op, ’log(x)’);
23 end
24 function op = exp(op)
25 op = Func(op, ’exp(x)’);
26 end
27 function op = sinh(op)
28 op = Func(op, ’sinh(x)’);
29 end
30 function op = cosh(op)
31 op = Func(op, ’cosh(x)’);
32 end
33 function op = tanh(op)
34 op = Func(op, ’tanh(x)’);
35 end
36 end
Figure 2.5: Operator interface source code.
23
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
1 classdef Const < Operator
2 properties
3 val;
4 end
5 methods
6 function self = Const(grid, val)
7 self = self@Operator(grid);
8 if isa(val, ’float’)
9 if numel(val) == 1
10 val = repmat(val, grid.size);
11 end
12 self.val = val;
13 else % function handle evaluated point-wise
14 if isa(val, ’char’)
15 val = str2func([’@(r,t) ’ val]);
16 end
17 self.val = arrayfun(val, grid.R, grid.T);
18 end
19 end
20 function r = res(self)
21 r = self.val(:);
22 end
23 function G = grad(self)
24 G = sparse(0); % [0]
25 end
26 end
Figure 2.6: Constant operator source code.
24
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
1 classdef Func < Operator
2 properties
3 op; % Input operator
4 func; % y = f(x)
5 deriv; % dy/dx = f’(x)
6 end
7 methods
8 function self = Func(op, func)
9 grid = op.grid; % Reuse operator’s grid
10 self = self@Operator(grid);
11 self.op = op;
12 if isa(func, ’char’)
13 func = sym(func);
14 end
15 self.func = matlabFunction(func);
16 self.deriv = matlabFunction(diff(func));
17 end
18 function r = res(self)
19 r = self.func( self.op.res() );
20 end
21 function G = grad(self)
22 r = self.op.res();
23 G = spdiag( self.deriv(r) ) * self.op.grad();
24 end
25 end
Figure 2.7: Pointwise function source code.
25
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
1 classdef Linear < Operator
2 properties
3 L;
4 op;
5 end
6 methods
7 function self = Linear(grid, op, L)
8 self = self@Operator(grid);
9 self.op = op;
10 self.L = L;
11 end
12 function r = res(self)
13 r = self.L * self.op.res();
14 end
15 function G = grad(self)
16 G = self.L * self.op.grad();
17 end
18 end
Figure 2.8: Linear operator source code.
26
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
1 classdef Join < handle
2 properties
3 ops;
4 end
5 methods
6 function self = Join(operators)
7 self.ops = operators;
8 for k = 1:numel(self.ops)
9 op = self.ops{k};
10 end
11 end
12 function r = res(self)
13 r = cell(numel(self.ops), 1);
14 for k = 1:numel(self.ops)
15 r{k} = self.ops{k}.res();
16 end
17 r = cat(1, r{:});
18 end
19 function G = grad(self)
20 G = cell(numel(self.ops), 1);
21 for k = 1:numel(self.ops)
22 G{k} = self.ops{k}.grad();
23 end
24 G = cat(1, G{:});
25 end
26 end
Figure 2.9: Join operator source code.
27
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
1 x = linspace(0, 1);
2 y = linspace(0, 1);
3 g = Grid(x, y); % Grid definition
4 x_ = (x(1:end-1) + x(2:end)) * 0.5;
5 y_ = (y(1:end-1) + y(2:end)) * 0.5;
6 xi = x(2:end-1);
7 yi = y(2:end-1);
8 v = Variable(zeros(g.size));
9 F = Linear(g, v, speye(g.numel)); % Variable Definition
10 Fx = Deriv(Grid(x_, y), F, 1);
11 Fy = Deriv(Grid(x, y_), F, 2);
12 Fxx = Deriv(Grid(xi, yi), Fx, 1);
13 Fyy = Deriv(Grid(xi, yi), Fy, 2);
14 eq = {(Fxx + Fyy) - Const(1)}; % Laplacian(F) = 1
15 bnd = {Interp(Grid(0.0, y(2:end-1)), F); ... % F(0, y) = 0
16 Interp(Grid(1.0, y(2:end-1)), F); ... % F(1, y) = 0
17 Interp(Grid(x, 0.0), Fy); ... % dF/dy(x, 0) = 0
18 Interp(Grid(x, 1.0), Fy)} % dF/dy(x, 1) = 0
19 op = Join([eq; bnd]); % System operator
20 r = op.res()
21 G = op.grad()
22 v.update(-(Gr)) % Solve by Newton iteration
Figure 2.10: Sample problem source code.
28
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Chapter 3
Results and Discussion
3.1 Asymptotic Analysis
In order to validate the numerical results, an asymptotic analysis has been applied to the nonlinear systems
of ion-exchanger migration and highly charged particle electrophoresis. We present here the asymptotic
analysis for the ion-exchanger case [1], while the asymptotic analysis for the electrophoresis case [2] is
derived by Schnitzer and Yariv in [27].
The derivation is performed as follows. The nonlinear system (composed of the governing equations and
the boundary conditions) is written as O(x; β) = 0. For small β, the solution to the nonlinear system can
be expanded in an asymptotic series in β:
x = x(β) ≈
n
xnβn
. (3.1)
The nonlinear terms are expanded around β = 0:
0 = O(x) =
i
Oi(x0, . . . xi)βi
. (3.2)
Thus, the O(βk) term xk can be found recursively by solving Ok(x0, x1, . . . , xk) = 0, given the previous
solutions for x0, . . . , xk−1. The derivation is validated using the MATLAB symbolic toolbox by the code
at symbolic/asymp.m [25].
3.1.1 First-Order (linear in β) Solution
For β = 0 (no electric field is applied), the steady-state solution is U = 0:
Φ0(r, θ) = 0, C0(r, θ) = 1, V 0(r, θ) = 0, P0(r, θ) = 0. (3.3)
29
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Assuming β ≪ 1, the linearized equations and boundary conditions are
∇2Φ1 = 0, ∇2C1 = 0, ∇2
V 1 − ∇P1 = 0. (3.4)
The first-order terms x1 are given by (see [1] for full derivation)
Φ1 = 1
4r2 − r cos θ, C1 = 3
4r2 cos θ, Ψ1 = U1
1
r − r2 sin2 θ
2 , P1 = 0, (3.5)
and the linear velocity term is:
V 1 = U1 ˆr −1 +
1
r3
cos θ + ˆθ 1 +
1
2r3
sin θ (3.6)
U1(γ) = 2 log
1 + γ− 1
2
2
. (3.7)
For γ > 1, the Debye layer has a positive charge, corresponding to a negative particle charge – yielding
negative drift velocity, U < 0. For γ < 1, we have U > 0.
3.1.2 Second-Order (quadratic in β) Solution
The quadratic terms x2 are computed by solving a linear PDE system with a right-hand side determined
by the linear terms x1, yielding
Φ2 =
U1 α
32
−
1
16
3 cos2 θ − 1
r3
−
3 + 3 sin2
θ 4 r3 − 1
32 r4
−
3 U1 α − 6
32 r
, (3.8)
C2 =
5 U1 α
32
+
1
16
3 cos2 θ − 1
r3
−
3 U1 α − 6
32 r
+
3 U1 α 2 r3 sin2
θ + sin2
θ − 1
16 r4
, (3.9)
Ψ2 =
9
16(
√
γ + 1)
−
3
16
U1(U1α + 1)
1
r2
− 1 sin2
θ cos θ. (3.10)
Note that the quadratic term does not contribute to the total force and steady-state velocity terms, but it
does change the fluid flow, the electric potential and the ionic concentration.
3.1.3 Third-Order (cubic in β) Solution
Note that, due to symmetry considerations, U (β) is an anti-symmetric function. Therefore, U2 = 0 and
the next velocity term is the cubic one:
U (β) ≈ βU1 + β3
U3 + O(β5
). (3.11)
The cubic terms x3 are computed by solving a linear PDE system with a right-hand side determined by
the linear terms x1 and the quadratic terms x2.
30
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Φ3 =
15U1α + 6
64
cos θ −
3U1α
32
cos3
θ +
183U1
2
α2 − 839U1α − 470
2560r2
cos θ
+
3 cos θ 5U1α − 6cos2 θ − 4U1αcos2 θ + 4
64r3
+
(2U1α − 1) cos θ − 3cos3θ
64r5
+ cos3
θ
15U1α
64
+
3
32
r−2
− 3 cos θ − 5cos3
θ −
19U1
2
α2
5120
+
97U1α
5120
+
3U2α
320
+
21
1280
r−4
+ cos3
θ
U1α
64
+
3
64
r−6
,
C3 =
3U1
2
α2cos3 θ
32
+
cos θ 797U1
2
α2 + 419U1α − 512U2α + 174
2560r2
−
3U1α cos θ (5U1α + 2)
64
− 3 cos θ − 5cos3
θ
59U1
2
α2
5120
+
103U1α
5120
+
69U2α
320
+
3
1280
r−4
+
α cos θ − 3cos3 θ 5αU1
2
+ 2U1 + 16U2
128r5
−
3α cos θ −8αU1
2
cos2 θ + 7αU1
2
+ 2U1 + 32U2cos2 θ − 32U2
128r3
+
U1
2
α2cos3 θ
32r6
−
3U1αcos3 θ (5U1α + 2)
64r2
,
Ψ3 = r2
sin2
θ
W2
15
−
W1
3
+
209
3360
− sin2
θ
5W2
3
−
W1
3
+
35
264
r−1
+ sin4
θ 2W2 +
761
5632
r−1
−
sin2
θ 1848r6sin2
θ − 2079r3sin2
θ + 924r3 − 7sin2
θ + 10
19712r5
4sin2
θ − 5sin4
θ
r3
+
U1α
16
−
1
8
2r3 − 3r2 + 1
4r
sin2
θ,
W1 =
69
512
√
γ + 1
−
1407α2log
√
γ+1
2
√
γ
3
1280
−
123 log
√
γ+1
2
√
γ
1280
−
27
512
√
γ + 1
2
−
1899αlog
√
γ+1
2
√
γ
2
2560
−
α log
√
γ+1
2
√
γ
81
16(
√
γ+1)
− log
√
γ+1
2
√
γ
27α log
√
γ+1
2
√
γ
4 + 27
8
320
+
21α log
√
γ+1
2
√
γ
128
√
γ + 1
,
31
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
W2 =
9 log
√
γ+1
2
√
γ
256
+
21α2log
√
γ+1
2
√
γ
3
+ 15αlog
√
γ+1
2
√
γ
2
64
−
27
512
√
γ + 1
2
−
297α log
√
γ+1
2
√
γ + 54
1024
√
γ + 1
.
The cubic solution satisfies the boundary conditions only when αU1 = 0, due to boundary conditions
mismatch for C at r → ∞, when the diffusion and the advection terms become of the same order of
magnitude. The cubic correction velocity terms (for α = 0) turn out to be:
U3(γ) =
31
320(
√
γ + 1)
−
9
320(
√
γ + 1)2
+
1
1680
−
11
160
log
1 + γ− 1
2
2
. (3.12)
The cubic term becomes dominant for small β when γ ≈ 1. Note that, for γ = 1, the linear term vanishes
and the cubic term of the velocity is U (β) = 1129
26880 β3.
Observe that a U = 0 solution may exist for a critical βc > 0 and α = 0, if it satisfies:
β2
c = −
U1(γ)
U3(γ)
. (3.13)
Specifically, for γ = 1 + ǫ, where 0 < ǫ ≪ 1, βc = O (
√
ǫ):
βc ≈ −U ′
1 (1)ǫ/U3(1) = 13440ǫ/1129 ≈ 3.45
√
ǫ. (3.14)
That is, there may be a specific nonzero external field for which the particle remains at rest. The physical
viability of this solution has yet to be explored.
3.2 Numerical Results
The numerical solver is applied to the nonlinear problem of an ion-exchanger migration driven by an electric
field [1] and the electrophoresis of highly charged surface inert particle [2]. The solver is applied to a series
of values of the electric field β, ranging from β ≪ 1 to β ∼ 1. For each β value, the Newton solver is
initialized with the linear solution and is iterated K times. Secant method iteration is applied M times
to find the steady-state velocity by finding U such that Fı(U , β) = 0, thus computing the steady-state
velocity U (β). The resulting U (β) is plotted on a log-log scale, so that the asymptotic behaviour of the
solution may be examined for a wide range of β values.
In order to validate the numerical solver, we employ the results of the asymptotic analysis of the nonlinear
system. The numerical results are compared to the asymptotic solutions, and a good correspondence is
observed.
32
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
3.2.1 Ion-exchanger results
For β ≪ 1, the linear regime [5] is dominant. However, when γ ≈ 1, the cubic regime, where U = O(β3),
dominates the linear one, even for weak electric fields. This phenomenon is confirmed both by the numerical
results and by asymptotic expansion of the nonlinear system (for α = 0). The switch from the linear regime
to the cubic regime occurs at an electric field value of β = O( |γ − 1|). The numerical results U h, as well
as the analytical ones (3.11), are given in Figure 3.1. The numerical solver uses Nr × Nθ = (400 × 50),
Rmax = 107 (∆r ≈ 0.041), K = 3, M = 5 and β = 10t for t = −2 : 0.1 : 0.5.
The linear solution for γ ≈ 1, yields a sign change of the zeta potential ζ = log(C/γ), when | log γ| ≈ 3β/4.
This results in a sign change in the slip velocity, which can be approximated for small |ζ| ≪ 1 as Vθ ≈
ζ · ∇SΦ. This sign change creates a vortex at the downstream end of the ion-exchanger, as demonstrated
by the numerical solution and the asymptotic analysis results in Figures 3.2 and 3.3. Note that there is a
good correspondence between the numerical results and the analytical solution for β < 1, validating the
vortex formation.
3.2.2 Electrophoresis results
For β ≪ 1, the linear regime [2] is dominant. In order to verify the solver, the numerical steady-state
velocity is compared to the analytical solution [27], derived by Schnitzer and Yariv. Since the cubic
correction is much smaller than the linear solution for β ≪ 1, the difference between numerical results and
the linear solution is compared to the cubic correction term.
Because the leading order of the solution U (β) is linear for β ≪ 1, the numerical discretization error is
O(β) as well. In order to reduce the discretization error of the numerical solution (2.25) and after verifying
that the discretization error converges as O(h2) (Figure 3.4), we employ Richardson extrapolation to U h
and U 2h:
ˆU =
4
3
U h
−
1
3
U 2h
. (3.15)
The results of the extrapolation ˆU and the analytical results are given at Figures 3.5 and 3.6. The
numerical solver uses Rmax = 102, K = 3, M = 5 and β = 0.1 · 2t for t = −2 : 0.5 : 5. The solver is applied
to 2 grids of Nr × Nθ = (128 × 128) as the coarse grid (with ∆r ≈ 0.037), and Nr × Nθ = (256 × 256) as
the fine grid (with ∆r ≈ 0.018), in order to use Richardson extrapolation for ˆU .
3.2.3 Electrophoresis for large β
When the electric field is large, nonlinear effects dominate the solution. In order to investigate the solution
for strong electric fields, we have run the solver on the TAMNUN HPC cluster [28]. Large grid sizes are used
to verify that the numerical solution converges when the grid becomes finer and that no numerical artifacts
are present in the solution. Moreover, several Rmax ∈ {10, 30, 100} values are used, to make sure it has no
major impact on the solution. The results are shown in the following figures. The steady-state velocity
results are shown for several grid resolutions and several Rmax values in Figure 3.7, and the differences
between the numerical results for steady-state velocity and the linear regime are shown in Figure 3.8. The
estimated rate of convergence is shown in Figure 3.9.
33
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
10
−2
10
−1
10
0
10
−7
10
−6
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
10
1
Electric field magnitude (β)
Steady−statevelocitymagnitude
γ = 0.9999
γ = 0.9990
γ = 0.9900
γ = 0.9000
10
−2
10
−1
10
0
10
−9
10
−8
10
−7
10
−6
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
10
1
Electric field magnitude (β)
Steady−statevelocitymagnitude
γ = 1.0001
γ = 1.0010
γ = 1.0100
γ = 1.1000
Figure 3.1: Steady-state velocity U as a function of the electric field magnitude β, for γ < 1 (top) and
γ > 1 (bottom). The analytic cubic solution (3.11) is represented by curves (solid for U > 0, dashed for
U < 0), and the numerical results are represented by symbols (circles for U > 0, squares for U < 0).
Note that linear and cubic regimes match well the numerical results, including the critical β behaviour
(3.13).
34
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Numerical: β = 0.10
Numerical: β = 0.20
Numerical: β = 0.50
Numerical: β = 1.00
Figure 3.2: Streamlines of the flow for various electric field β values: numerical results for γ = 0.9. The
steady-state velocity U is positive, so the ion-exchanger drifts to the right.
35
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Analytical: β = 0.10
Analytical: β = 0.20
Analytical: β = 0.50
Analytical: β = 1.00
Figure 3.3: Streamlines of the flow for various electric field β values: analytical approximation for γ = 0.9
(see Section 3.1). The steady-state velocity U is positive, so the ion-exchanger drifts to the right.
36
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
10
−1
10
−5
10
−4
10
−3
10
−2
10
−1
Electric field magnitude (β)
Discretizationerror
Quadratic convergence of steady−state velocity
32x32
64x64
128x128
256x256
Figure 3.4: The discretization error ˆU h − U1 between the numerical results and the linear asymptotic
solutions for α = 0, Du = 0.5, ¯ζ = 6 and Rmax = 100. The symbols represent the discretization errors for
various grid sizes, and the dotted lines correspond to linear functions of β, scaled by 4n. The graph shows
that, as the number of grid points in each dimension increases by a factor of 2, the discretization error
decreases by a factor of 4.
37
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
10
−1
10
0
10
−1
10
0
10
1
α = 0.0, Du = 0.5, ζ = 6.0
Electric field magnitude (β)
Steady−statevelocity
Analytical
Numerical
10
−1
10
0
10
−4
10
−2
10
0
α = 0.0, Du = 0.5, ζ = 6.0
Electric field magnitude (β)
Departurefromlinearanalyticsolution
Analytical
Numerical
Figure 3.5: Steady-state velocity U as a function of the electric field magnitude β, for highly-charged
surface particle electrophoresis (with α = 0, Du = 0.5, ¯ζ = 6). The analytic solution velocity is represented
by solid lines, and the numerical results are represented by symbols. The top figure shows the full numerical
solution compared to the analytical one (3.11), and the bottom figure compares the analytic cubic correction
[27] to the difference between the numerical results and the linear regime.
38
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
10
−1
10
0
10
−1
10
0
10
1
α = 0.5, Du = 1.0, ζ = 10.0
Electric field magnitude (β)
Steady−statevelocity
Analytical
Numerical
10
−1
10
0
10
−4
10
−2
10
0
α = 0.5, Du = 1.0, ζ = 10.0
Electric field magnitude (β)
Departurefromlinearanalyticsolution
Analytical
Numerical
Figure 3.6: Steady-state velocity U as a function of the electric field magnitude β, for highly-charged
surface particle electrophoresis (with α = 0.5, Du = 1, ¯ζ = 10). The analytic solution velocity is represented
by solid lines, and the numerical results are represented by symbols. The top figure shows the full numerical
solution compared to the analytical one (3.11), and the bottom figure compares the analytic cubic correction
[27] to the difference between the numerical results and the linear regime. When β is large, the analytical
cubic solution loses its validity because higher-order terms become significant.
39
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
0 1 2 3 4 5 6
0
5
10
15
20
25
30
β
Steady−statevelocity
[128x128] R
max
=10
[256x256] R
max
=10
[512x512] R
max
=10
Linear Solution (small β): 4.258 β
Linear Fit (moderate β): 5.193 β −0.850
0 1 2 3 4 5 6
0
5
10
15
20
25
30
β
Steady−statevelocity
[512x512] R
max
=100
[512x512] R
max
=30
[512x512] R
max
=10
Linear Solution (small β): 4.258 β
Linear Fit (moderate β): 5.193 β −0.850
Figure 3.7: Large β results for U (β) (Du = 1, ¯ζ = 10, α = 0.5). The left figure shows the numerical
results of U (β) for Rmax = 10 and the following grid sizes: 128 × 128, 256 × 256, 512 × 512. The right
figure shows the numerical results of U (β) for 512 × 512 grid for Rmax = 100, 30, 10. For small values of
β, the linear regime of U (β) is dominant. For moderate β values, the steady state velocity is very close to
an affine function of β. However, for larger values of β, the numerical solution deviates significantly from
the linear regime, due to convergence problems at β > 6, and for β ∼ 7, the solver fails to converge. The
numerical convergence depends on the grid resolution near the particle surface – as it becomes finer (when
Nr increases or Rmax decreases), the solver convergence improves.
The numerical solver converges well for β < 5 and the resulting steady-state velocity for moderate β values
is very close to being an affine function of β. When β becomes large, the salt concentration C near the
front of the particle (at θ ≈ 0) approaches zero, while creating a wake behind the particle (at θ ≈ π) as
shown in Figures 3.10, 3.11 and 3.12. This results in high gradients in log C near the front of the particle
and, therefore, a strong electric field E forms near the particle surface (Figures 3.13, 3.14 and 3.15) due
to effective boundary conditions in (1.17). From Figs. 3.7-3.8 we conclude that even our most accurate
numerical solution is valid only up to β = 5 approximately, and therefore we only further examine solutions
in this range.
The streamline pattern does not change drastically for different electric field magnitudes. The resulting
fluid flow is nearly proportional to that of the Stokes creeping flow, as shown in Figure 3.16 and 3.17. The
difference between Ψ(r, θ) and Ψ(r, π − θ) is shown in Figure 3.18, demonstrating that the flow is almost
symmetric (with relative difference up to approximately 0.5%) for β < 5.
The numerical results show that a boundary layer starts to form near the front of the particle for strong
electric fields (see Figures 3.19 and 3.20). The width of the boundary layer with respect to the electric
field scales, to a good approximation, as: ¯ρ(β) ≈ 0.2e−0.5β. This causes numerical problems for the current
solver at large β, due to insufficient grid resolution at the boundary layer of C and E.
40
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
β
Differenceofsteady−statevelocityfromthelinearregime
[128x128] R
max
=10
[256x256] Rmax
=10
[512x512] Rmax
=10
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
β
Differenceofsteady−statevelocityfromthelinearregime
[512x512] R
max
=100
[512x512] Rmax
=30
[512x512] Rmax
=10
Figure 3.8: Large β results for U (β) − βU1 (Du = 1, ¯ζ = 10, α = 0.5 and U1 ≈ 4.258 is the linear regime
coefficient). The left figure shows the numerical results of U (β) for Rmax = 10 and the following grid sizes:
128 × 128, 256 × 256, 512 × 512. The right figure shows the numerical results of U (β) for 512 × 512 grid
for Rmax = 100, 30, 10. It is seen that the difference is indeed nearly an affine function of β in the large-β
regime, so long as the numerical solution remains sufficiently accurate.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
β
(V128x128
−V256x256
)/(V256x256
−V512x512
)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
−1
−0.5
0
0.5
1
1.5
2
2.5
β
Convergenceorder
Figure 3.9: Rate of convergence estimation for U at large β (Du = 1, ¯ζ = 10, α = 0.5), based on the
numerical results of U (β), for the grid sizes of 128 × 128, 256 × 256, 512 × 512. The rate of convergence
r(β) is estimated by r(β) U 4h(β) − U 2h(β) / U 2h(β) − U h(β) (left). The order of convergence is
estimated by p(β) log2 r(β) (right). For small β, p(β) → 2, showing quadratic convergence for the linear
regime. For moderate β, the convergence rate slows down, and it deteriorates for large β values.
41
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
−3 −2 −1 0 1 2 3
−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Salt concentration (C): β = 0.10
0.95
0.96
0.97
0.98
0.99
1
1.01
1.02
1.03
1.04
Figure 3.10: β = 0.1 results for C: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. Here the
linear regime dominates the solution for Cβ(r, θ) ≈ 1 − β cos θ
2r2 .
42
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
−3 −2 −1 0 1 2 3
−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Salt concentration (C): β = 0.80
0.7
0.8
0.9
1
1.1
1.2
1.3
Figure 3.11: β = 0.8 results for C: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. For moderate
β values, the salt concentration starts to form a wake behind the particle (θ ≈ π).
43
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
−3 −2 −1 0 1 2 3
−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Salt concentration (C): β = 5.00
0.5
1
1.5
2
2.5
3
Figure 3.12: β = 5.0 results for C: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. For large
values of β, there is a significant drop in salt concentration at the front of the particle – C approaches zero
at θ ≈ 0, such that ∂C
∂r becomes large (since the change in C happens on a small length scale). Due to the
boundary conditions of the electrophoresis problem (given by (1.17)), the electric field radial component
given by Er = −∂Φ
∂r = − 1
C
∂C
∂r , becomes singular where C → 0.
44
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
Electric potential (φ) and field at the surface (E): β = 0.10
Figure 3.13: β = 0.1 results for Φ: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. The electric
potential and the electric field results are multiplied by β−1, so the linear regime appears unchanged for
different values of β. Here the linear regime dominates the solution for Φβ(r, θ) ≈ −βr cos θ, hence the
electric field is constant for weak electric fields: E ≈ βˆı.
45
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
Electric potential (φ) and field at the surface (E): β = 0.80
Figure 3.14: β = 0.8 results for Φ: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. The electric
potential and the electric field results are multiplied by β−1, so the linear regime appears unchanged for
different values of β. For moderate values of β, the symmetry breaks and the electric field becomes stronger
near the front of the particle than at the back.
46
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
Electric potential (φ) and field at the surface (E): β = 5.00
Figure 3.15: β = 5.0 results for Φ: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. The electric
potential and the electric field results are multiplied by β−1, so the linear regime appears unchanged for
different values of β. For large values of β, the electric field radial component Er = −∂Φ
∂r at the particle
front becomes much larger than the electric field at the particle back.
47
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
−3 −2 −1 0 1 2 3
−3
−2
−1
0
1
2
3
Streamlines (Ψ): β = 0.10
−3 −2 −1 0 1 2 3
−3
−2
−1
0
1
2
3
Streamlines (Ψ): β = 0.80
−3 −2 −1 0 1 2 3
−3
−2
−1
0
1
2
3
Streamlines (Ψ): β = 5.00
−3 −2 −1 0 1 2 3
−3
−2
−1
0
1
2
3
Streamlines (Ψ): β = 0.10
Figure 3.16: β = 0.1, 0.8, 5.0 and Stokes streamlines results: grid size 512 × 512, Rmax = 30, Du = 1,
¯ζ = 10, α = 0.5. The numerical results for Ψ are scaled by β−1, so the linear regime will appear the
same for different β values. Note that the numerical results show a flow pattern very similar to that of the
analytical Stokes flow.
48
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Streamlines (Ψ): β = 0.10
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Streamlines (Ψ): β = 0.80
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Streamlines (Ψ): β = 5.00
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Streamlines (Ψ): β = 0.10
Figure 3.17: β = 0.1, 0.8, 5.0 and Stokes streamlines results after subtraction of the uniform flow stream-
function (U
2 r2 sin2
θ): grid size 512 × 512, Rmax = 30, Du = 1, ¯ζ = 10, α = 0.5. The numerical results for
Ψ are scaled by β−1, so the linear regime will appear the same for different β values. Even for the largest
beta we could compute, the velocity remains fairly symmetric and “uneventful” also in the framework of
the “laboratory” rather than that of the particle.
49
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.001
0.002
0.003
0.004
0.005
0.006
0.007
0.008
0.009
0.01
β
Relativestreamlinesasymmetry
Figure 3.18: Streamline results: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. The relative
streamline asymmetry is computed by Ψ(r, θ) − Ψ(r, π − θ) / Ψ(r, θ) as a function of β. The results
show that the streamline pattern is almost symmetric, even for moderately large β values.
50
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Radial distance from particle surface
Normalizedelectricfieldradialcomponent
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Radial distance from particle surface (scaled by e
β/2
)Normalizedelectricfieldradialcomponent
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
10
−2
10
−1
β
E
r
boudarylayerwidth
Numerical results
Points to fit
Exponential fit
0.192 e
−0.498 β
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
10
0
10
1
β
E
r
(r=1,θ=0)/β
Numerical results
Points to fit
Exponential fit
1.237 e
0.417 β
Figure 3.19: Electric field boundary layer formation: grid size 512 × 512, Rmax = 30, Du = 1, ¯ζ = 10, α =
0.5. The upper left graph shows normalized electric field radial component Er near the particle front (θ =
0). The numerical results for e(ρ) = Er(r = 1 + ρ, θ = 0) are normalized by ˆe(ρ) = (e(ρ) − β) / (e(0) − β),
where e(ρ = ∞) = β. The normalized electric field satisfies ˆe(ρ) ∈ [0, 1] and is shown as function of
ρ = r − 1 at the upper left graph and as function of ρe0.5β at the upper right graph. In order to estimate
the width of the boundary layer, for each β, we compute the value of ¯ρ(β) = minρ{ρ : ˆe(ρ) < 0.5}. Each
such ¯ρ(β) is plotted at the left graph as a solid dot on the corresponding line. In addition, ¯ρ(β) is plotted
as a function of β using logarithmic y axis at the lower left graph to show that ¯ρ(β) ≈ 0.2e−0.5β. Moreover,
Er(β; r = 1, θ = 0)/β grows exponentially as a function of β, as shown at the lower right graph. Thus, a
boundary layer is indeed forming near the front of the particle.
51
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Radial distance from particle surface
Ionconcentration(C)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
10
−1
10
0
Electric field magnitude (β)
C(r=1,θ=0)
Numerical results
Points to fit
Exponential fit
0.937 e−0.445 β
Figure 3.20: Ionic concentration boundary layer formation: grid size 512 × 512, Rmax = 30, Du = 1,
¯ζ = 10, α = 0.5. The left graph shows the ionic concentration C near the particle front (θ = 0). In
addition, Cβ(r = 1, θ = 0) is plotted as a function of β using logarithmic y axis at the right graph to show
that Cβ(r = 1, θ = 0) ≈ 0.94e−0.45β . The ionic concentration becomes very close to zero for β ≈ 7 at r = 1,
creating a singularity near the particle front.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0.98
1
1.02
1.04
1.06
1.08
1.1
1.12
1.14
β
C⋅E
r
/βatr=1,θ=0
Figure 3.21: The product of C(r = 1, θ = 0)Er(r = 1, θ = 0)/β as a function of β.
52
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
3.3 Discussion
A numerical framework for a nonlinear electrokinetic transport system is developed. The framework is
used to construct numerical solvers for two electrokinetic problems: the migration of ion-exchangers and
surface-charged inert particle electrophoresis. The numerical results for weak electric field exhibit a good
correspondence to the asymptotic models as shown above. Two interesting phenomena (cubic regime and
downstream vortex) were predicted for the ion-exchanger using the numerical results, and were verified
using an asymptotic expansion of the nonlinear system. The electrophoresis problem was solved on a
high-resolution grid to confirm the asymptotic cubic correction of the steady-state velocity, as well as to
provide insights into the solution behavior for moderately strong electric fields. For strong electric field,
the nonlinear effects become dominant and a boundary-layer structure begins to form. Due to diminishing
ion concentration C at the front of the particle, a boundary layer of thickness approximately 0.2e−0.5β is
formed with respect to the electric field E at the front of the particle. The value of Er/β at (r = 1, θ = 0) is
given approximately by eβ/2, while the value of C(r = 1, θ = 0) is given approximately by e−β/2, and their
product remains close to 1 for all β that we could compute (as shown in Figure 3.21). However, the velocity
of the particle remains nearly linear with β and the velocity field is very close to being symmetric. Finally,
we emphasize the importance of the analytical asymptotic derivation. This approach provides effective
boundary conditions for the macroscale problem and thus eliminates the inherent physical scale disparity.
This elimination enables the construction of the numerical scheme. Furthermore, the analytical asymptotic
solutions for the weak field regime enable important mutual verification of the numerical results.
3.4 Future Work
Future work may include using the numerical results described in this work to develop an analytical
solution for the strong field regime of the electrophoresis problem, which is of interest. The solver may
be used to investigate how the solution (and the evolving boundary layer, in particular) depends on the
problem parameters. Optimizing the direct sparse linear solver can be done by using the ordering data from
previous calls, or replacing the full Newton step by an iterative linear solver (e.g., using preconditioned
Krylov subspace methods [29] or Multigrid), allowing finer grids to be used. In order to achieve high
numerical accuracy, the grid discretization should be made finer near the particle surface (at r = 1), while
Rmax can be made smaller. Moreover, a different discretization scheme may be used for the r coordinate,
to have higher grid resolution near the particles. In addition, the continuation of the solution between
different β values should advance in finer steps, to ensure Newton method convergence. The discretization
of boundary conditions far away from the particle may be improved by including the linear correction from
the asymptotic solution, or reformulation of far-away boundary condition according to the asymptotic
behavior of the analytic solution far away from the particle. Moreover, the framework may be used for
automatic construction of Newton solvers for other nonlinear PDE systems, for example, for particles with
different surface properties, or different particle shape.
53
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Appendix A
Effective Boundary Conditions
A.1 Debye layer scaling
We define the scaled coordinate ρ (normal to ion-exchanger surface), where δ ≪ 1:
ρ =
r − 1
δ
. (A.1)
Thus, the electric potential and the ionic concentrations are O(1) at the Debye layer (r ≈ 1):
ϕ(ρ, θ) ∼ ϕ, (A.2)
c±(ρ, θ) ∼ c±, (A.3)
c(ρ, θ) ∼ c, (A.4)
q(ρ, θ) ∼ q. (A.5)
The radial fluxes at the Debye layer are O(δ−1), due to coordinate rescaling:
j±(ρ, θ) ∼ δ−1
j±. (A.6)
The pressure is O(δ−2), due to momentum balance equations:
p(ρ, θ) ∼ δ−2
p. (A.7)
The tangential velocity component is O(1) and the radial component is O(δ).
54
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
A.2 Ion Fluxes
In order to match bulk O(1) outer radial ionic flux, the O(δ−1) term of the inner ionic radial flux, j±(ρ, θ)
must vanish:
−
∂c±
∂ρ
∓ c±
∂ϕ
∂ρ
= 0,
(Φ − ϕ) ± (log C± − log c±) = 0, (A.8)
Φ − ϕ ± log
C±
c±
= 0.
This relation can be rewritten as a Boltzmann distribution of c±, where limρ→∞ c± = C,
c± = C exp [±(Φ − ϕ)] . (A.9)
A.3 Electric Potential
The leading-order Laplace equation in the Debye layer reads
∂2ϕ
∂ρ2
= −q = −
c+ − c−
2
= −
C
2
(exp [+(Φ − ϕ)] − exp [−(Φ − ϕ)]) = C sinh(ϕ − Φ). (A.10)
Denote ψ = ϕ − Φ, so that ψ(0) = V − Φ = ζ and ψ(ρ → ∞) = 0:
∂2ψ
∂ρ2
= C sinh(ψ) = 2C sinh
ψ
2
cosh
ψ
2
,
2
∂ψ
∂ρ
∂2ψ
∂ρ2
= 4C sinh
ψ
2
cosh
ψ
2
∂ψ
∂ρ
, (A.11)
∂
∂ρ
∂ψ
∂ρ
2
=
∂
∂ρ
2
√
C sinh
ψ
2
2
.
Integrating with respect to boundary condtions yields:
∂ψ
∂ρ
= −2
√
C sinh
ψ
2
= −4 sinh
ψ
4
cosh
ψ
4
√
C = −4 tanh
ψ
4
cosh2 ψ
4
√
C,
1/tanh ψ
4
4 cosh2 ψ
4
∂ψ
∂ρ
= −
√
C, (A.12)
∂
∂ρ
log tanh
ψ
4
=
∂
∂ρ
−ρ
√
C .
55
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Integrating with respect to boundary condtions yields:
log tanh
ψ
4
− log tanh
ζ
4
= −ρ
√
C,
ψ = ϕ − Φ = 4 tanh−1
tanh
ζ
4
· e−ρ
√
C
. (A.13)
A.4 Radial Momentum
Leading-order O(δ−3) radial momentum balance in the Debye layer yields:
−
∂p
∂ρ
+
∂ϕ
∂ρ
∂2ϕ
∂ρ2
= 0. (A.14)
One integration yields:
p =
1
2
∂ϕ
∂ρ
2
=
1
2
∂ψ
∂ρ
2
. (A.15)
A.5 Tangential Momentum
Leading-order O(δ−2) tangential momentum balance in the Debye layer yields:
0 =
∂2vθ
∂ρ2
−
∂p
∂θ
+
∂ϕ
∂θ
∂2ϕ
∂ρ2
,
∂2vθ
∂ρ2
=
1
2
∂
∂θ
∂ψ
∂ρ
2
−
∂(ψ + Φ)
∂θ
∂2ψ
∂ρ2
=
∂
∂θ
2C sinh2 ψ
2
−
∂ψ
∂θ
C sinh ψ −
∂Φ
∂θ
∂2ψ
∂ρ2
=
∂
∂θ
(C (cosh ψ − 1)) − C sinh ψ
∂ψ
∂θ
−
∂Φ
∂θ
∂2ψ
∂ρ2
(A.16)
=
∂C
∂θ
(cosh ψ − 1) −
∂Φ
∂θ
∂2ψ
∂ρ2
=
∂C
∂θ
2 sinh2 ψ
2
−
∂Φ
∂θ
∂2ψ
∂ρ2
= −
∂C
∂θ
2
√
C
1
2
sinh
ψ
2
∂ψ
∂ρ
−
∂Φ
∂θ
∂2ψ
∂ρ2
= −
∂C
∂θ
2
√
C
∂
∂ρ
cosh
ψ
2
−
∂Φ
∂θ
∂2ψ
∂ρ2
.
By integrating from specific ρ to ρ → ∞ (where ψ = 0):
∂vθ
∂ρ
= −
∂C
∂θ
2
√
C
cosh
ψ
2
− 1 −
∂Φ
∂θ
∂ψ
∂ρ
= −
∂C
∂θ
4
√
C
sinh2 ψ
4
−
∂Φ
∂θ
∂ψ
∂ρ
. (A.17)
Note that:
∂ψ
∂ρ
= −2
√
C sinh
ψ
2
= −4
√
C sinh
ψ
4
cosh
ψ
4
, (A.18)
−4 sinh
ψ
4
=
1/ cosh ψ
4√
C
∂ψ
∂ρ
. (A.19)
56
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Thus:
∂vθ
∂ρ
=
∂C
∂θ
1
C
·
sinh ψ
4
cosh ψ
4
∂ψ
∂ρ
−
∂Φ
∂θ
∂ψ
∂ρ
= 4
∂
∂ρ
log cosh
ψ
4
∂
∂θ
log C −
∂ψ
∂ρ
∂Φ
∂θ
, (A.20)
∂vθ
∂ρ
=
∂
∂ρ
4 log cosh
ψ
4
∂
∂θ
log C − ψ
∂Φ
∂θ
. (A.21)
By integrating from ρ = 0 to ρ → ∞, we have Dukhin-Derjaguin slip formula for tangential velocity
component Vθ (where the radial component is Vr = 0) for ζ = V − Φ:
Vθ = ζ ·
∂Φ
∂θ
− 4 log cosh
ζ
4
·
∂
∂θ
log C = ζ ·
∂Φ
∂θ
+ 2 log 1 − tanh2 ζ
4
·
∂
∂θ
log C. (A.22)
57
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Appendix B
Differential operators in spherical
coordinates
The following spherical coordinate system is used:
x = r sin θ cos φ
y = r sin θ sin φ (B.1)
z = r cos θ
Assume full symmetry around z axis – there is no dependence on φ:
∇f =
∂f
∂r
ˆr +
1
r
∂f
∂θ
ˆθ +
1
r sin θ
∂f
∂φ
ˆφ (B.2)
∇·F =
1
r2
∂
∂r
r2
· Fr +
1
r sin θ
∂
∂θ
(sin θ · Fθ) +
1
r sin θ
∂Fφ
∂φ
(B.3)
B.1 Scalar Operators
Scalar Laplacian derivation:
∇2
f = ∇·∇f =
1
r2
∂
∂r
r2 ∂f
∂r
+
1
r2 sin θ
∂
∂θ
sin θ ·
∂f
∂θ
+
1
r2 sin2
θ
∂2f
∂φ2
(B.4)
In conservative form:
r2
sin θ · ∇2
f =
∂
∂r
r2
sin θ
∂f
∂r
+
∂
∂θ
sin θ ·
∂f
∂θ
+
∂
∂φ
1
sin θ
·
∂f
∂φ
(B.5)
58
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
The unit vectors in spherical coordinate system are:
ˆr =
∂r
∂r
=



sin θ cos φ
sin θ sin φ
cos θ


 , ˆθ =
1
r
∂r
∂θ
=



cos θ cos φ
cos θ sin φ
− sin θ


 , ˆφ =
1
r sin θ
∂r
∂φ
=



− sin φ
cos φ
0


 (B.6)
Note that:
∂ˆr
∂r
= 0,
∂ˆθ
∂r
= 0,
∂ ˆφ
∂r
= 0,
∂ˆr
∂θ
= ˆθ,
∂ˆθ
∂θ
= −ˆr,
∂ ˆφ
∂θ
= 0, (B.7)
∂ˆr
∂φ
= sin θ · ˆφ,
∂ˆθ
∂φ
= cos θ · ˆφ,
∂ ˆφ
∂φ
= − sin θ · ˆr − cos θ · ˆθ.
B.2 Vector Operators
Vector gradient operator can be written by:
∇V = ˆr
∂
∂r
+ ˆθ
1
r
∂
∂θ
+ ˆφ
1
r sin θ
∂
∂φ
V = ˆr
∂
∂r
+ ˆθ
1
r
∂
∂θ
+ ˆφ
1
r sin θ
∂
∂φ
Vrˆr + Vθ
ˆθ + Vφ
ˆφ
∂V
∂r
=
∂Vr
∂r
ˆr +
∂Vθ
∂r
ˆθ +
∂Vφ
∂r
ˆφ
∂V
∂θ
=
∂Vr
∂θ
ˆr +
∂Vθ
∂θ
ˆθ +
∂Vφ
∂θ
ˆφ + Vr
ˆθ − Vθˆr (B.8)
∂V
∂φ
=
∂Vr
∂φ
ˆr +
∂Vθ
∂φ
ˆθ +
∂Vφ
∂φ
ˆφ + Vr sin θˆφ + Vθ cos θˆφ − Vφ ˆr sin θ + ˆθ cos θ
∇V =



1 0 0
0 1
r 0
0 0 1
r sin θ






∂Vr
∂r
∂Vθ
∂r
∂Vφ
∂r
∂Vr
∂θ − Vθ
∂Vθ
∂θ + Vr
∂Vφ
∂θ
∂Vr
∂φ − Vφ sin θ ∂Vθ
∂φ − Vφ cos θ
∂Vφ
∂φ + Vr sin θ + Vθ cos θ



Vector Laplacian components can be written as:
∇2
V = ∇ · ∇V =
1
r2
∂
∂r
r2 ∂V
∂r
+
1
r2 sin θ
∂
∂θ
sin θ
∂V
∂θ
+
1
r2 sin2
θ
∂
∂φ
∂V
∂φ
(B.9)
59
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
ˆr component:
∇2
(Vrˆr) =
1
r2
∂
∂r
r2 ∂Vr
∂r
ˆr
+
1
r2 sin θ
∂
∂θ
sin θ
∂Vr
∂θ
ˆr + Vr
ˆθ
+
1
r2 sin2
θ
∂
∂φ
∂Vr
∂φ
ˆr + Vr sin θˆφ
∇2
(Vrˆr) =
2
r
∂Vr
∂r
+
∂2Vr
∂r2
ˆr (B.10)
+
1
r2 sin θ
cos θ
∂Vr
∂θ
ˆr + Vr
ˆθ + sin θ
∂2Vr
∂θ2
ˆr +
∂Vr
∂θ
ˆθ +
∂Vr
∂θ
ˆθ − Vrˆr
+
1
r2 sin2
θ
∂2Vr
∂φ2
ˆr +
∂Vr
∂φ
sin θˆφ +
∂Vr
∂φ
ˆφ sin θ − Vr sin θ ˆr sin θ + ˆθ cos θ
∇2
(Vrˆr) =
2
r
∂Vr
∂r
+
∂2Vr
∂r2
−
2Vr
r2
+
1
r2
∂2Vr
∂θ2
+
cot θ
r2
∂Vr
∂θ
+
1
r2 sin2
θ
∂2Vr
∂φ2
ˆr
+
2
r2
∂Vr
∂θ
ˆθ +
2
r2 sin θ
∂Vr
∂φ
ˆφ
ˆθ component:
∇2
(Vθ
ˆθ) =
1
r2
∂
∂r
r2 ∂Vθ
∂r
ˆθ
+
1
r2 sin θ
∂
∂θ
sin θ
∂Vθ
∂θ
ˆθ − Vθˆr
+
1
r2 sin2
θ
∂
∂φ
∂Vθ
∂φ
ˆθ + Vθ cos θˆφ
∇2
(Vθ
ˆθ) =
2
r
∂Vθ
∂r
+
∂2Vθ
∂r2
ˆθ (B.11)
+
1
r2 sin θ
cos θ
∂Vθ
∂θ
ˆθ − Vθˆr + sin θ
∂2Vθ
∂θ2
ˆθ −
∂Vθ
∂θ
ˆr −
∂Vθ
∂θ
ˆr − Vθ
ˆθ
+
1
r2 sin2
θ
∂2Vθ
∂φ2
ˆθ +
∂Vθ
∂φ
cos θˆφ +
∂Vθ
∂φ
cos θˆφ − Vθ cos θ ˆr sin θ + ˆθ cos θ
∇2
(Vθ
ˆθ) = −
2 cot θ
r2
Vθ − 2
∂Vθ
∂θ
ˆr +
2
r
∂Vθ
∂r
+
∂2Vθ
∂r2
+
cot θ
r2
∂Vθ
∂θ
+
1
r2
∂2Vθ
∂θ2
ˆθ
+
1
r2 sin2
θ
∂2Vθ
∂φ2
− Vθ
ˆθ +
2 cot θ
r2 sin θ
∂Vθ
∂φ
ˆφ
60
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
ˆφ component:
∇2
(Vφ
ˆφ) =
1
r2
∂
∂r
r2 ∂Vφ
∂r
ˆφ +
1
r2 sin θ
∂
∂θ
sin θ
∂Vφ
∂θ
ˆφ
+
1
r2 sin2
θ
∂
∂φ
∂Vφ
∂φ
ˆφ − Vφ ˆr sin θ + ˆθ cos θ
∇2
(Vφ
ˆφ) =
1
r2
∂
∂r
r2 ∂Vφ
∂r
ˆφ +
1
r2 sin θ
∂
∂θ
sin θ
∂Vφ
∂θ
ˆφ (B.12)
+
1
r2 sin2
θ
∂
∂φ
∂Vφ
∂φ
ˆφ − Vφ ˆr sin θ + ˆθ cos θ
∇2
(Vφ
ˆφ) =
2
r
∂Vφ
∂r
+
∂2Vφ
∂r2
ˆφ +
1
r2 sin θ
cos θ
∂Vφ
∂θ
+ sin θ
∂2Vφ
∂θ2
ˆφ
+
1
r2 sin2
θ
∂2Vφ
∂φ2
ˆφ − 2
∂Vφ
∂φ
ˆr sin θ + ˆθ cos θ − Vφ
ˆφ
In summary:
∇2
V = ∇2
Vr −
2Vr
r2
ˆr +
2
r2
∂Vr
∂θ
ˆθ +
2
r2 sin θ
∂Vr
∂φ
ˆφ
−
2
r2 sin θ
∂ (Vθ sin θ)
∂θ
ˆr + ∇2
Vθ −
Vθ
r2 sin2
θ
ˆθ +
2 cot θ
r2 sin θ
∂Vθ
∂φ
ˆφ (B.13)
−
2
r2 sin θ
∂Vφ
∂φ
ˆr −
2 cot θ
r2 sin θ
∂Vφ
∂φ
ˆθ + ∇2
Vφ −
Vφ
r2 sin2
θ
ˆφ
Since Vφ = 0 and ∂
∂φ (·) = 0, we get:
∇2
V = ∇2
Vr −
2Vr
r2
−
2
r2 sin θ
∂ (Vθ sin θ)
∂θ
ˆr + ∇2
Vθ −
Vθ
r2 sin2
θ
+
2
r2
∂Vr
∂θ
ˆθ
∇2
V =
1
r2
∂
∂r
r2 ∂Vr
∂r
+
1
r2 sin θ
∂
∂θ
sin θ ·
∂Vr
∂θ
−
2Vr
r2
−
2
r2 sin θ
∂ (Vθ sin θ)
∂θ
ˆr (B.14)
+
1
r2
∂
∂r
r2 ∂Vθ
∂r
+
1
r2 sin θ
∂
∂θ
sin θ ·
∂Vθ
∂θ
−
Vθ
r2 sin2
θ
+
2
r2
∂Vr
∂θ
ˆθ
61
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Bibliography
[1] E. Yariv. Migration of ion-exchange particles driven by a uniform electric field. Journal of Fluid
Mechanics, 655:1–17, 2010.
[2] O. Schnitzer and E. Yariv. Macroscale description of electrokinetic flows at large zeta potentials:
Nonlinear surface conduction. Phys. Rev. E, 86:021503, Aug 2012.
[3] J. H. Masliyah and S. Bhattacharjee. Electrokinetic and Colloid Transport Phenomena. John
Wiley & Sons, Inc., 2005.
[4] B. Kirby. Micro- and Nanoscale Fluid Mechanics – Transport in Microfluidic Devices. Cambridge
Univ Press, 2010.
[5] E. Yariv. An asymptotic derivation of the thin-Debye-layer limit for electrokinetic phenomena.
Chemical Engineering Communications, 197(1):3–17, 2010.
[6] G.M. Whitesides. The origins and the future of microfluidics. Nature, 442(7101):368–373, 2006.
[7] D. Erickson and D. Li. Integrated microfluidic devices. Analytica Chimica Acta, 507(1):11–26,
2004.
[8] T.M. Squires and S.R. Quake. Microfluidics: Fluid physics at the nanoliter scale. Reviews of
modern physics, 77(3):977, 2005.
[9] S. Hardt and F. Sch¨onfeld. Microfluidic technologies for miniaturized analysis systems, vol-
ume 18. Springer, 2007.
[10] A. Wainright, U.T. Nguyen, T.L. Bjornson, and T.D. Boone. Preconcentration and separation of
double-stranded dna fragments by electrophoresis in plastic microfluidic devices. Electrophoresis,
24(21):3784–3792, 2003.
[11] H. Wu, A. Wheeler, and R.N. Zare. Chemical cytometry on a picoliter-scale integrated microflu-
idic chip. Proceedings of the National Academy of Sciences of the United States of America,
101(35):12809–12813, 2004.
[12] R. Weinberger. Practical capillary electrophoresis. Academic Press San Diego, CA:, 1993.
[13] K.M. Horsman, J.M. Bienvenue, K.R. Blasier, and J.P. Landers. Forensic dna analysis on
microfluidic devices: a review. Journal of forensic sciences, 52(4):784–799, 2007.
62
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
[14] MV Kothare. Dynamics and control of integrated microchemical systems with application to
micro-scale fuel processing. Computers & chemical engineering, 30(10):1725–1734, 2006.
[15] F. C. Leinweber and U. Tallarek. Nonequilibrium electrokinetic effects in beds of ion-
permselective particles. Langmuir, 20(26):11637–11648, 2004. PMID: 15595793.
[16] M.W. Losey, M.A. Schmidt, and K.F. Jensen. Microfabricated multiphase packed-bed reactors:
Characterization of mass transfer and reactions. Industrial & engineering chemistry research,
40(12):2555–2562, 2001.
[17] S.J. Kim, S.H. Ko, K.H. Kang, and J. Han. Direct seawater desalination by ion concentration
polarization. Nature Nanotechnology, 5(4):297–301, 2010.
[18] J.T. Santini Jr, A.C. Richards, R. Scheidt, M.J. Cima, and R. Langer. Microchips as controlled
drug-delivery devices. Angewandte Chemie International Edition, 39(14):2396–2407, 2000.
[19] A. Bard and L Faulkner. Electrochemical Methods - Fundamentals and Applications. Wiley,
2001.
[20] Shau-Chun Wang, Yi-Wen Lai, Yuxing Ben, and Hsueh-Chia Chang. Microfluidic mixing by
dc and ac nonlinear electrokinetic vortex flows. Industrial & Engineering Chemistry Research,
43(12):2902–2911, 2004.
[21] Y. Ben and H.-C. Chang. Nonlinear smoluchowski slip velocity and micro-vortex generation.
Journal of Fluid Mechanics, 461:229–238, 2002.
[22] J.H. Ferziger and J.H.F.M. Peri´c. Computational Methods for Fluid Dynamics. Springer-Verlag
GmbH, 2002.
[23] J. Strikwerda. Finite difference schemes and partial differential equations. Society for Industrial
Mathematics, 2004.
[24] A. Sidi. Practical extrapolation methods: theory and applications, volume 10. Cambridge Uni-
versity Press, 2003.
[25] R. Zeyde. Electrokinetic Solver Source Code. http://github.com/romanz/thesis.
[26] Timothy A. Davis. Algorithm 832: Umfpack v4.3—an unsymmetric-pattern multifrontal
method. ACM Trans. Math. Softw., 30(2):196–199, June 2004.
[27] O. Schnitzer, R. Zeyde, I. Yavneh, and E. Yariv. Non-linear electrophoresis of a highly charged
colloidal particle. Submitted to Phyiscs of fluids, 2013.
[28] Technion Taub Computer Center. TAMNUN HPC cluster. http://hpc.technion.ac.il/.
[29] Y. Saad. Iterative Methods for Sparse Linear Systems. SIAM, 2003.
63
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
64
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Þ Ý Û Ô Û Ü ÛÐ

 ÓÒ Ü
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Þ Ý Û Ô Û Ü ÛÐ
ÜÛ Ò ÐÖ Ü
Ü Þ ÞÐ ÛÐ Þ Ý Ü
 ÐÝ ÛÐ Ð Ò ÑÝÐ
Ý Ò Ö
Ò Ñ Ö
ÒÐ Ü Õ Ò

 ÓÒ Ü
Ð ÜÝ Ð Ð Ô Ó Ò ¹ Ó Ô ÔÕÐ Ý
¾¼½¿ ÙÜÒ Ø ÖÝÞ³ Ü
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
º Ý Ò Ö
ÒÐ Ð ÛØ Ô 
Ü Ö ³Ø ÜØ Þ Ô ÝÖÔ ÜÛ Ò
Þ 
 Þ
Ü Ü Ö Ñ Ð Ö Ò Ñ Ô 
 ¸ÐÐ ÓÒ Þ Ú Ô ÐÖ ¸ Ô 
Ü Ö ³Ø ÜØ ¸ ÐÝ ÔÒÐ Þ 
 Ð Ô ÚÜ
ºÑ Þ ÒÞÐ Ñ Þ ÐÖ ¸Þ Ð ¸ ÞÝ Ð 
 Ò ¸ Þ ØÝÒÐ Ó ¸ Ü
 Ð Ò
º Þ ÒÐÞÝ 
Ô Þ ØÕ ÒÞ ÐÖ Ó Ô Ð 
 Ò Ô
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
Ü ÚÛÞ
Ò

Ý ÐÝ ÖØÝ Þ Þ Ð Ü ÛÐ ÞÕ ÒÞ Ñ Û ÛÐ ÐÝ Þ Ô Û Ü ÛÐ Ö ÔÞ Þ Ñ ÜÛ Ô 
 Ö
Ñ Ð Þ Þ ÖÚÒ º ÕÒ Þ Ü Ô Ð¹ Ð Þ ÐÛ Ø Þ Ö ÐÝ Ü Ó ÜÞØÐ Þ ÜÒ Ô Þ ÞÝÞ Ñ ÞØÒ ¸ ÐÒÝ
Ò Ü ¸ Ð Ô ¹ ÔÔ Ó ¸Ñ Ô Ý Ñ Ò Þ Ñ Ü Ö Ñ Û ÛÐ Þ ÚÐ Ø ÔÒ ÖÚ Ð Ö Ô Ð ÓÞ Ô Ñ Ô Û Ü ÛÐ
ØÝ Þ Ý ÞÜÚ Ô ¸Ñ Û Ñ Õ Ü ÛÐ Þ ÐÝ º
 Ö Ü Ø Ü ÛÐ ¸Ñ Ò ÞÐØÞ ¸ Û Ô 
ÜØ ¸ Ü Ö
Ó ÜÞØÐ Ö Ð Ý Û ÜÚ Ô ¸ ØÝ Þ Ý ÞÐ ÛÕ Ó Ð Û ÛÐ ÞÐ ÛÕ Ó ÜÖØ ÛÖ ºÛ ÛÐ ÔØÐ ÜÛ Û
º ÐÒ Ö ÐÝ ÜÒ Ô
Þ Ò Þ Ô Þ ØÝ Þ Ý ÐÝ Þ ØÒ Õ ÐÔ Ò Ñ Ð ÛÞÒ Ñ ÛØ ØÝ ÔÞ Ý Ò Ý Ñ Ý Ö Ô
Ñ ÜÔ Ñ Û ÛÐ Ñ Ô Ø Ð Ò Ü Ö ÜÚ ÔÝ Ü Ü 
 ³Ø ÜØ 
 ÐÖ Þ Ø Ð ØÝ ÔÞ ºÛ ÛÐ ÐÝ
ºÛ ÛÐ ÞÐ ÛÕ Þ Ü Ô Ð¹ Ð Ö Ó ÜÞØÐ ÜÒ Ô ÜÞ Ø Þ Ô Ü ÚÐ Ñ ÝÒÞÝÒ Ô Ñ ¸ ØÝ ÓÖ Ò ÐÖ
Þ ÜÒ Ô Þ ÞÝÞ Ñ ÞØÒ ¸Ñ ÛØ ØÝ ÔÞ ÐÝ Þ Ð ÚÔÜØ 
 Þ ÝÒ ÐÝ Ú ÜÛÕ 
 Ñ ÖÚ Ò Ô
ÞÖ ÔÞÐ Þ ÜÒ Ô Þ Ú Þ ÞÐ Û ÜÝØ Ò ÜÞ Ø ºÓ Ô Þ Ý Ü ÜÞ Ø ÐÝ Þ Ò Ô ÞÜÝØ Ò ÜÝ

 ÐÖ ÞÒ Ñ ÝÐ Þ 
Ý Ü Ö Þ Ú Þ ºÐÖØ Ò ÐÒÝ 
Ý ÞÒÚ Ö ÓÞÔ ¸Ð ÖÐÝ Õ Ò Ñ Û ÛÐ
Þ 
Ý Þ Ô ÜÞØ Ô Ý ÜÐ ÜÒ Ô ÜÞ Ø Þ ÖÚÒ ÔÐ Û ¸Ó Ò º Ö ÐÝ Ñ ØÒ Õ Þ Ô ÜÞØÐ Ý
¸Ñ Û Þ 
Ý Þ ÜÖÒ Ø ÐÖ 
 ÒÐÐ ÓÞ Ô Ð Þ Ô ÜÞØÒ ºÑ ØÒ Õ Ñ Ü Û Ó 
Ö Ñ Ð Ó ÜÝ ¸Ñ Û
ºÛ ÛÐ Þ ÞÜÚ Ô ÜÝ ÞØÕ Ô ØÝ Þ Ý ÐÝ Þ ØÒ Õ Þ ÔÞ ÐÐ
Þ ÐÛ Ø Ö
ÜÝ ºÑ Ô ÞÕ ÒÞ Þ Þ ÐÒÝ Ñ Ô Ö Ñ Û ÛÐ ÐÝ Û ÒÔ 
 Þ ÞÜ ÞÒ Þ Ô Û Ü ÛÐ Ü Þ
ÞÜÚ Ô Ñ ÐÒÝ ÝÒ Þ Þ ÛÖ 
 Ô ÓÖ Ò ÞÐÖ Ñ Ô Þ Ý ÞÜÚ Ô ¸ ÞØÝ ÔØ ÐÖ ÓÖ Ò Ü Ú Û ÛÐ
Û ÛÐ ÐÝ ØÝ ÓÖ Ò Þ Þ ÕÒÒ ¸³³ 
 Þ Ý³³ Þ ÜÛÔ ¸ Ý ºÛ ÛÐ Ð Õ Ð Ø Ý ÐÝ Ô Ò
Ó Û Ý Ü ÜÛÒ º ÝÐ Ù Ò ÐÜ Ô Ð Ô Ó Ð Û ÛÐ ÞØÝ Ó Ð ÚÔ Ø ÝÜØ ÛÖ ÞÜÚ
º ØÝ Þ Ý Û ÒÔ 
 ÐÝ ØÒ Õ ÐÔ Ó ÜÞØ ÞØÐ ÓÞ Ô ¸Û ÛÐ 
ÒÒ ÜÝ Ò Þ ÖÒÝÒ ÓØ
ØÝ ÔÞ ºÑ Ô Ü ¸Ù Ð Ð Ô Þ Ü Ò ¸ ÐÒÝ Ð ÚÔ Ø Ñ Þ Ô Û Ü ÛÐ Ò Ü Þ Ö Ñ ÔÞÝÒ
ºÐ Ô ÐÝ Û ÒÔ 
 Þ Ò Þ Ô Þ ¸Û ÛÐ ÞÜ Ú 
 ÐÖ Ñ Ö ÛÔ Þ Ø ÚØÕ Ö ÔÞÐ Ñ Þ Ñ Ü
 Ò
Ô Ú ÐÒÝ 
Ý ÐÝ ÞÖØÝ Þ Þ Þ ÜÖÒ Þ ÔÞ Þ Þ Ü ÞÒ ÜÝ Þ ÛÐ Þ Ð ÚÔÜØ 
 Þ ÝÒ
Þ Ð ÛÕ ÜÖØ ÑÖ 

 ÒÞ Ð ÜÒ Ô ÜÞ Ø Ð ÐÖ ¸Ó Ò ºÖ 
 ÐÔ Ó ÜÞØ ÐÐ ¸Þ Ü Ô Ð¹ Ð ¸Þ 
Ò ÚÒ Ó
ºÛ ÛÐ 
ÒÒ ÞÒ ÖÐ Þ Þ ÖÒÝÒ Ó Û ØÝ Þ Ý ÖÝ Ò Ú Þ ÜÚ ÔÝ
Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
MSC-2013-12
MSC-2013-12

Contenu connexe

Tendances

Tinyos programming
Tinyos programmingTinyos programming
Tinyos programmingssuserf04f61
 
Basic ForTran Programming - for Beginners - An Introduction by Arun Umrao
Basic ForTran Programming - for Beginners - An Introduction by Arun UmraoBasic ForTran Programming - for Beginners - An Introduction by Arun Umrao
Basic ForTran Programming - for Beginners - An Introduction by Arun Umraossuserd6b1fd
 
Java Programming Notes for Beginners by Arun Umrao
Java Programming Notes for Beginners by Arun UmraoJava Programming Notes for Beginners by Arun Umrao
Java Programming Notes for Beginners by Arun Umraossuserd6b1fd
 
The C Preprocessor
The C PreprocessorThe C Preprocessor
The C Preprocessoriuui
 
Pratical mpi programming
Pratical mpi programmingPratical mpi programming
Pratical mpi programmingunifesptk
 
Coupled thermal fluid analysis with flowpath-cavity interaction in a gas turb...
Coupled thermal fluid analysis with flowpath-cavity interaction in a gas turb...Coupled thermal fluid analysis with flowpath-cavity interaction in a gas turb...
Coupled thermal fluid analysis with flowpath-cavity interaction in a gas turb...Nathan Fitzpatrick
 
Modlica an introduction by Arun Umrao
Modlica an introduction by Arun UmraoModlica an introduction by Arun Umrao
Modlica an introduction by Arun Umraossuserd6b1fd
 
2004 zuckerberg a set theoretic approach to lifting procedures for 0-1 inte...
2004 zuckerberg   a set theoretic approach to lifting procedures for 0-1 inte...2004 zuckerberg   a set theoretic approach to lifting procedures for 0-1 inte...
2004 zuckerberg a set theoretic approach to lifting procedures for 0-1 inte...Alejandro Angulo
 
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...ssuserd6b1fd
 
Introduction to Programming Using Java v. 7 - David J Eck - Inglês
Introduction to Programming Using Java v. 7 - David J Eck - InglêsIntroduction to Programming Using Java v. 7 - David J Eck - Inglês
Introduction to Programming Using Java v. 7 - David J Eck - InglêsMarcelo Negreiros
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...ssuserd6b1fd
 
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zinggFundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zinggRohit Bapat
 
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...ssuserd6b1fd
 

Tendances (18)

10.1.1.652.4894
10.1.1.652.489410.1.1.652.4894
10.1.1.652.4894
 
The maxima book
The maxima bookThe maxima book
The maxima book
 
Tinyos programming
Tinyos programmingTinyos programming
Tinyos programming
 
Basic ForTran Programming - for Beginners - An Introduction by Arun Umrao
Basic ForTran Programming - for Beginners - An Introduction by Arun UmraoBasic ForTran Programming - for Beginners - An Introduction by Arun Umrao
Basic ForTran Programming - for Beginners - An Introduction by Arun Umrao
 
Java Programming Notes for Beginners by Arun Umrao
Java Programming Notes for Beginners by Arun UmraoJava Programming Notes for Beginners by Arun Umrao
Java Programming Notes for Beginners by Arun Umrao
 
The C Preprocessor
The C PreprocessorThe C Preprocessor
The C Preprocessor
 
Pratical mpi programming
Pratical mpi programmingPratical mpi programming
Pratical mpi programming
 
Coupled thermal fluid analysis with flowpath-cavity interaction in a gas turb...
Coupled thermal fluid analysis with flowpath-cavity interaction in a gas turb...Coupled thermal fluid analysis with flowpath-cavity interaction in a gas turb...
Coupled thermal fluid analysis with flowpath-cavity interaction in a gas turb...
 
Matlab ilu
Matlab iluMatlab ilu
Matlab ilu
 
Modlica an introduction by Arun Umrao
Modlica an introduction by Arun UmraoModlica an introduction by Arun Umrao
Modlica an introduction by Arun Umrao
 
2004 zuckerberg a set theoretic approach to lifting procedures for 0-1 inte...
2004 zuckerberg   a set theoretic approach to lifting procedures for 0-1 inte...2004 zuckerberg   a set theoretic approach to lifting procedures for 0-1 inte...
2004 zuckerberg a set theoretic approach to lifting procedures for 0-1 inte...
 
Free high-school-science-texts-physics
Free high-school-science-texts-physicsFree high-school-science-texts-physics
Free high-school-science-texts-physics
 
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
 
Introduction to Programming Using Java v. 7 - David J Eck - Inglês
Introduction to Programming Using Java v. 7 - David J Eck - InglêsIntroduction to Programming Using Java v. 7 - David J Eck - Inglês
Introduction to Programming Using Java v. 7 - David J Eck - Inglês
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
 
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zinggFundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
 
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
Notes for GNU Octave - Numerical Programming - for Students 01 of 02 by Arun ...
 
Manual
ManualManual
Manual
 

En vedette

ақкемер ресурстық орталығының 2011 – 2012 оқу жылына арналған жұмыс жоспары
ақкемер ресурстық орталығының 2011 – 2012 оқу жылына арналған жұмыс жоспарыақкемер ресурстық орталығының 2011 – 2012 оқу жылына арналған жұмыс жоспары
ақкемер ресурстық орталығының 2011 – 2012 оқу жылына арналған жұмыс жоспарыakkemir
 
Бесполезные советы
Бесполезные советыБесполезные советы
Бесполезные советыakkemir
 
Titrimеtrik аnаliz, təsnifаtı. Turşu-əsаs titrləməsi
Titrimеtrik аnаliz, təsnifаtı. Turşu-əsаs titrləməsiTitrimеtrik аnаliz, təsnifаtı. Turşu-əsаs titrləməsi
Titrimеtrik аnаliz, təsnifаtı. Turşu-əsаs titrləməsiJamil V. Aghasi
 
Prueba de informática
Prueba de informáticaPrueba de informática
Prueba de informáticakerlyta_
 
Test n 1 Franquismo
Test n 1 FranquismoTest n 1 Franquismo
Test n 1 Franquismoanga
 
Silabus bahasa madura semester 1
Silabus bahasa madura semester 1Silabus bahasa madura semester 1
Silabus bahasa madura semester 1siti maryam
 
Quote to Cash - Identifying & Driving Value
Quote to Cash - Identifying & Driving ValueQuote to Cash - Identifying & Driving Value
Quote to Cash - Identifying & Driving ValueCapgemini
 
Operational risk management (orm)
Operational risk management (orm)Operational risk management (orm)
Operational risk management (orm)Bushra Angbeen
 
Gamification - the new tool for marketing
Gamification - the new tool for marketingGamification - the new tool for marketing
Gamification - the new tool for marketingMagdalena Kachniewska
 
Turning Insights into Actions
Turning Insights into ActionsTurning Insights into Actions
Turning Insights into ActionsTom De Ruyck
 

En vedette (13)

ақкемер ресурстық орталығының 2011 – 2012 оқу жылына арналған жұмыс жоспары
ақкемер ресурстық орталығының 2011 – 2012 оқу жылына арналған жұмыс жоспарыақкемер ресурстық орталығының 2011 – 2012 оқу жылына арналған жұмыс жоспары
ақкемер ресурстық орталығының 2011 – 2012 оқу жылына арналған жұмыс жоспары
 
Бесполезные советы
Бесполезные советыБесполезные советы
Бесполезные советы
 
Titrimеtrik аnаliz, təsnifаtı. Turşu-əsаs titrləməsi
Titrimеtrik аnаliz, təsnifаtı. Turşu-əsаs titrləməsiTitrimеtrik аnаliz, təsnifаtı. Turşu-əsаs titrləməsi
Titrimеtrik аnаliz, təsnifаtı. Turşu-əsаs titrləməsi
 
Wood
WoodWood
Wood
 
Prueba de informática
Prueba de informáticaPrueba de informática
Prueba de informática
 
Fikih zakat nh jogja
Fikih zakat   nh jogjaFikih zakat   nh jogja
Fikih zakat nh jogja
 
Test n 1 Franquismo
Test n 1 FranquismoTest n 1 Franquismo
Test n 1 Franquismo
 
Silabus bahasa madura semester 1
Silabus bahasa madura semester 1Silabus bahasa madura semester 1
Silabus bahasa madura semester 1
 
Serba serbi zakat
Serba serbi zakatSerba serbi zakat
Serba serbi zakat
 
Quote to Cash - Identifying & Driving Value
Quote to Cash - Identifying & Driving ValueQuote to Cash - Identifying & Driving Value
Quote to Cash - Identifying & Driving Value
 
Operational risk management (orm)
Operational risk management (orm)Operational risk management (orm)
Operational risk management (orm)
 
Gamification - the new tool for marketing
Gamification - the new tool for marketingGamification - the new tool for marketing
Gamification - the new tool for marketing
 
Turning Insights into Actions
Turning Insights into ActionsTurning Insights into Actions
Turning Insights into Actions
 

Similaire à MSC-2013-12

A Study of Traffic Management Detection Methods & Tools
A Study of Traffic Management Detection Methods & ToolsA Study of Traffic Management Detection Methods & Tools
A Study of Traffic Management Detection Methods & ToolsMartin Geddes
 
Seismic Tomograhy for Concrete Investigation
Seismic Tomograhy for Concrete InvestigationSeismic Tomograhy for Concrete Investigation
Seismic Tomograhy for Concrete InvestigationAli Osman Öncel
 
Maxime Javaux - Automated spike analysis
Maxime Javaux - Automated spike analysisMaxime Javaux - Automated spike analysis
Maxime Javaux - Automated spike analysisMaxime Javaux
 
Math for programmers
Math for programmersMath for programmers
Math for programmersmustafa sarac
 
Nonlinear Simulation of Rotor-Bearing System Dynamics
Nonlinear Simulation of Rotor-Bearing System DynamicsNonlinear Simulation of Rotor-Bearing System Dynamics
Nonlinear Simulation of Rotor-Bearing System DynamicsFrederik Budde
 
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingMaster Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingAndrea Tino
 
continuous_time_signals_and_systems-2013-09-11-uvic.pdf
continuous_time_signals_and_systems-2013-09-11-uvic.pdfcontinuous_time_signals_and_systems-2013-09-11-uvic.pdf
continuous_time_signals_and_systems-2013-09-11-uvic.pdfZiaOul
 
Stochastic Processes and Simulations – A Machine Learning Perspective
Stochastic Processes and Simulations – A Machine Learning PerspectiveStochastic Processes and Simulations – A Machine Learning Perspective
Stochastic Processes and Simulations – A Machine Learning Perspectivee2wi67sy4816pahn
 
exfo_book_guide-wdm_en.pdf
exfo_book_guide-wdm_en.pdfexfo_book_guide-wdm_en.pdf
exfo_book_guide-wdm_en.pdfMohamedshabana38
 
I do like cfd vol 1 2ed_v2p2
I do like cfd vol 1 2ed_v2p2I do like cfd vol 1 2ed_v2p2
I do like cfd vol 1 2ed_v2p2NovoConsult S.A.C
 
Design of a bionic hand using non invasive interface
Design of a bionic hand using non invasive interfaceDesign of a bionic hand using non invasive interface
Design of a bionic hand using non invasive interfacemangal das
 
Multidimensional optimal droop control for wind resources in dc m 2
Multidimensional optimal droop control for wind resources in dc m 2Multidimensional optimal droop control for wind resources in dc m 2
Multidimensional optimal droop control for wind resources in dc m 2vikram anand
 
matconvnet-manual.pdf
matconvnet-manual.pdfmatconvnet-manual.pdf
matconvnet-manual.pdfKhamis37
 

Similaire à MSC-2013-12 (20)

A Study of Traffic Management Detection Methods & Tools
A Study of Traffic Management Detection Methods & ToolsA Study of Traffic Management Detection Methods & Tools
A Study of Traffic Management Detection Methods & Tools
 
Seismic Tomograhy for Concrete Investigation
Seismic Tomograhy for Concrete InvestigationSeismic Tomograhy for Concrete Investigation
Seismic Tomograhy for Concrete Investigation
 
Maxime Javaux - Automated spike analysis
Maxime Javaux - Automated spike analysisMaxime Javaux - Automated spike analysis
Maxime Javaux - Automated spike analysis
 
Math for programmers
Math for programmersMath for programmers
Math for programmers
 
Nonlinear Simulation of Rotor-Bearing System Dynamics
Nonlinear Simulation of Rotor-Bearing System DynamicsNonlinear Simulation of Rotor-Bearing System Dynamics
Nonlinear Simulation of Rotor-Bearing System Dynamics
 
master thesis
master thesismaster thesis
master thesis
 
thesis
thesisthesis
thesis
 
Master thesis
Master thesisMaster thesis
Master thesis
 
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingMaster Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
 
continuous_time_signals_and_systems-2013-09-11-uvic.pdf
continuous_time_signals_and_systems-2013-09-11-uvic.pdfcontinuous_time_signals_and_systems-2013-09-11-uvic.pdf
continuous_time_signals_and_systems-2013-09-11-uvic.pdf
 
Stochastic Processes and Simulations – A Machine Learning Perspective
Stochastic Processes and Simulations – A Machine Learning PerspectiveStochastic Processes and Simulations – A Machine Learning Perspective
Stochastic Processes and Simulations – A Machine Learning Perspective
 
exfo_book_guide-wdm_en.pdf
exfo_book_guide-wdm_en.pdfexfo_book_guide-wdm_en.pdf
exfo_book_guide-wdm_en.pdf
 
book.pdf
book.pdfbook.pdf
book.pdf
 
I do like cfd vol 1 2ed_v2p2
I do like cfd vol 1 2ed_v2p2I do like cfd vol 1 2ed_v2p2
I do like cfd vol 1 2ed_v2p2
 
AAPM-2005-TG18.pdf
AAPM-2005-TG18.pdfAAPM-2005-TG18.pdf
AAPM-2005-TG18.pdf
 
phd_unimi_R08725
phd_unimi_R08725phd_unimi_R08725
phd_unimi_R08725
 
Matconvnet manual
Matconvnet manualMatconvnet manual
Matconvnet manual
 
Design of a bionic hand using non invasive interface
Design of a bionic hand using non invasive interfaceDesign of a bionic hand using non invasive interface
Design of a bionic hand using non invasive interface
 
Multidimensional optimal droop control for wind resources in dc m 2
Multidimensional optimal droop control for wind resources in dc m 2Multidimensional optimal droop control for wind resources in dc m 2
Multidimensional optimal droop control for wind resources in dc m 2
 
matconvnet-manual.pdf
matconvnet-manual.pdfmatconvnet-manual.pdf
matconvnet-manual.pdf
 

MSC-2013-12

  • 3. Computational Electrokinetics Research Thesis Submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science Roman Zeyde Submitted to the Senate of the Technion — Israel Institute of Technology Adar 5773 Haifa March 2013 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 5. The research thesis was done under the supervision of Prof. Irad Yavneh in the Computer Science Depart- ment. Acknowledgment I would like to thank my adviser, Prof. Irad Yavneh for his outstanding guidance, helpful discussions and valuable advice. I am deeply grateful to my family, and especially to my wife, Galit, for their love and support. The generous financial support of the Technion is gratefully acknowledged. Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 7. Contents Abstract 1 Abbreviations and Notations 2 1 Introduction 3 1.1 The Physical Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.1 Electrokinetic Phenomena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Governing Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.1 Nondimensionalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2 Boundary conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.3 Separation of scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.4 Bulk-scale effective boundary conditions . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.5 Steady-state velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Summary of achievements in this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Numerical Scheme 10 2.1 Numerical Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 Finite Volume Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 Flux Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.3 Ghost Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.4 Newton’s Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.5 Richardson Extrapolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 i Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 8. 2.2 Algorithm Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.1 Spherical Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 Computational Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.3 Operator Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.4 System Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.5 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3 Solver Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1 Operator Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.2 Steady-state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.3 Continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4 Solver Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.1 Operator Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.2 Handling the Singularity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.3 Iterative Newton solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5 Source code overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5.1 Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.2 Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.3 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.4 Sample source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3 Results and Discussion 29 3.1 Asymptotic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.1 First-Order (linear in β) Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.2 Second-Order (quadratic in β) Solution . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.3 Third-Order (cubic in β) Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.1 Ion-exchanger results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.2 Electrophoresis results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.3 Electrophoresis for large β . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 ii Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 9. 3.4 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 A Effective Boundary Conditions 54 A.1 Debye layer scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 A.2 Ion Fluxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.3 Electric Potential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.4 Radial Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.5 Tangential Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 B Differential operators in spherical coordinates 58 B.1 Scalar Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 B.2 Vector Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Bibliography 62 Abstract in Hebrew iii Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 10. List of Figures 1.1 Schematic structure of the double layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1 Spherical coordinate system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Computational grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Variable class source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4 Grid class source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5 Operator interface source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.6 Constant operator source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.7 Pointwise function source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.8 Linear operator source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.9 Join operator source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.10 Sample problem source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1 Ion exchanger steady-state velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 Ion exchanger streamlines – numerical results . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3 Ion exchanger streamlines – analytical results . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4 Quadratic convergence of steady-state velocity . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.5 Highly-charged surface particle steady-state velocity . . . . . . . . . . . . . . . . . . . . . . 38 3.6 Highly-charged surface particle steady-state velocity . . . . . . . . . . . . . . . . . . . . . . 39 3.7 Large β results for U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.8 Large β results for U – difference from linear regime . . . . . . . . . . . . . . . . . . . . . . 41 3.9 Rate of convergence estimation for U at large β . . . . . . . . . . . . . . . . . . . . . . . . 41 3.10 β = 0.1 results for C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.11 β = 0.8 results for C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 iv Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 11. 3.12 β = 5.0 results for C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.13 β = 0.1 results for Φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.14 β = 0.8 results for Φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.15 β = 5.0 results for Φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.16 Streamfunction results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.17 Streamfunction results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.18 Streamfunction asymmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.19 Electric field boundary layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.20 Ionic concentration boundary layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.21 The product of C(r = 1, θ = 0)Er(r = 1, θ = 0)/β as a function of β. . . . . . . . . . . . . . 52 v Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 13. Abstract In this work we study the electrokinetic migration of particles in an electrolyte solution due to the appli- cation of an external electric field, and propose a numerical framework for the iterative solution of such problems. The electrokinetic transport process can be used for transporting and manipulating micro- and nanoscale objects in many nanotechnology applications, nano-fluidic devices, packed-bed separation, desalination processes and various electrophoresis applications. Due to strong electrostatic forces, a thin boundary layer forms near the particle surface. This results in scale disparity of the boundary layer, which makes a full numerical solution challenging. We employ nonlinear macroscale effective boundary condi- tions that have been derived using the specific chemical properties of the particle (for an ion-exchanger particle by Yariv in [1] and for a surface charged inert particle by Schnitzer and Yariv in [2]). The resulting macroscale nonlinear partial differential system is discretized and an iterative Newton solver is constructed automatically from the discrete equations. Numerical results are obtained for an ion-exchanger and for a surface charged inert particle. An asymptotic analytical solution is used for the validation of the solver. The numerical results are compared to the asymptotic solutions, and good correspondence is achieved. Finally, the new solver is applied in the regime of moderately large values of the external field, where no analytical results are known. The numerical results uncover the strong-field scaling behavior, including a new boundary layer at the front of the particle that scales exponentially with respect to the external field, and also a well-defined dependence of the particle steady-state velocity on this field. 1 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 14. Abbreviations and Notations Φ — Electric potential C — Ionic concentration V — Fluid velocity P — Fluid pressure T — Stress tensor F — Force vector ˆn — Surface normal O — Operator β — Dimensionless electric field magnitude δ — Dimensionless Debye layer width U — Dimensionless steady-state velocity 2 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 15. Chapter 1 Introduction 1.1 The Physical Problem 1.1.1 Electrokinetic Phenomena Electrokinetic theory describes the dynamics of charged particles in ionic fluids [3, 4]. When a particle acquires surface charge, a layer of ions of opposite charge is attracted to the surface via electric forces, creating a double-layer structure around the particle (see Figure 1.1). This structure, called “Debye layer”, electrically screens the surface charge, creating a potential difference between the particle and the outer layer of the fluid bulk. In cases where the layer width is much smaller than the particle size, an analytical asymptotic solution for the Debye layer dynamics can be derived [5]. The variables of the electrokinetic flow equations are the electrostatic potential ϕ, fluid velocity v and its pressure p, and ionic concentration c. The boundary conditions are determined by the specific problem under consideration and defined by the particle’s geometry, chemical characteristics, and the fluid dynamics. The partial differential equations that describe the system dynamics under an external electric field, are coupled and nonlinear, and in general have no analytic solution. Moreover, any numerical solver must handle the scale disparity caused by the Debye layer width being much smaller than the particle size. An effective boundary condition outside the Debye layer has been developed for spherical particles, yielding a macroscale model in [1, 2]. The model is solved for weak electric field in an axisymmetric setting but it is hard to extend this analytic solution to more general systems. Once the electric field becomes stronger, significant nonlinear phenomena emerge. This interesting regime has not yet been explored extensively. 1.1.2 Applications Recently, it has been conceived that such type of phenomena can be very useful in microfluidics devices and methods for controlling and manipulating fluid flows in micro- and nanoscale. Many different components are used in microfluidics such as valves, pumps, sensors, mixers, filters, separators, heaters etc., and are combined into lab-on-a-chip systems. 3 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 16. (1) (2) (3) Figure 1.1: Schematic structure of the double layer: (1) charged particle surface, (2) Debye layer, (3) fluid bulk. If the particle surface has positive (black) surface charge, it attracts negative (white) ions from the fluid making the Debye layer negatively charged (as opposed to the rest of the fluid bulk, which is electrically neutral). The zeta potential is defined as the voltage drop across the Debye layer (2). The manipulation can be achieved by either applying the external field at inlets and outlets, or it can be applied locally in the microchannel by integrated components. A typical microchannel is produced with lithographic techniques. Normally the Reynolds number is very low (on the order of unity or smaller) which means that viscosity dominates and the convective term of the Navier-Stokes equations is insignificant. This also means that microflows most often are laminar. In the last decade there has been an increase in microfluidics research, due to the spread of tools for microfluidic systems fabrication, production of cheap and portable devices for fast medical analysis, and fundamental research of physical, chemical and biological processes. Various applications are [6, 7, 8, 9]: 1. DNA separation and sequencing [10]. 2. Cell analysis and forensic identification [11, 12, 13]. 3. Integrated microchemical systems [14]. 4. Packed-bed separation [15, 16]. 5. Desalination processes [17]. 6. Drug delivery and pathogen detection [18]. Because the nonlinear macroscale model for these electrokinetic phenomena has no closed-form analytic solution, a numerical solver for this system is of importance. 4 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 17. 1.2 Governing Equations 1.2.1 Nondimensionalization We follow the derivation presented by Yariv in [5]. Spatial coordinates r are normalized by a∗ (the characteristic size of the particle). Positive and negative ionic concentrations are denoted by c+ and c−, respectively, and are normalized by the ambient ionic concentration c∗. The ionic valences are ±z. The dimensional ionic fluxes, j±, are given by the Nernst-Plank equation (using the Einstein relation for the electric mobility, µ∗ q = D∗/k∗ BT∗, where D∗ is the ionic diffusivity): j∗ ± = −D∗ ∇c∗ ± + v∗ c∗ ± ∓ ze∗D∗ k∗ BT∗ c∗ ±∇ϕ∗ , (1.1) The electric potential ϕ is normalized by the thermal voltage: ϕ∗ = k∗ BT∗/ze∗ = R∗T∗/zF∗, where R∗ = k∗ BNA, F∗ = e∗NA is the Faraday number and NA is the Avogadro constant. The dimensional Stokes equations with electrostatic forces are given by: ∇ · v = 0, −∇p∗ + µ∗∇2 v∗ + ǫ∗∇2ϕ∗∇ϕ∗ = 0. (1.2) The velocity v is normalized by v∗ = ǫ∗(ϕ∗)2/a∗µ∗, and the pressure p is normalized by p∗ = µ∗v∗/a∗ = ǫ∗(ϕ∗)2/(a∗)2. The fluxes j∗ ± are normalized by j∗ = D∗c∗/a∗. The dimensional Poisson equation can be written as (c∗ + − c∗ −)ze∗ = −ǫ∗ ∇2 ϕ∗ , (1.3) After nondimensionalization, the Nernst-Plank, Stokes and Poisson equations read: j± = −∇c± + αvc± ∓ c±∇ϕ, (1.4) ∇ · v = 0, −∇p + ∇2 v + ∇2ϕ∇ϕ = 0, (1.5) c+ − c− = −2δ2 ∇2 ϕ, (1.6) where δ = δ∗/a∗ is the dimensionless Debye thickness (δ∗ = ǫ∗ϕ∗/2c∗e∗z) and α = v∗a∗/D∗ = ǫ∗(ϕ∗)2/µ∗D∗ is the dimensionless Peclet number. The force on the particle is denoted by F normal- ized by µ∗v∗a∗ = ǫ∗(ϕ∗)2. The stress tensor is denoted by T and normalized by p∗ = µ∗v∗/a∗. The electric field is denoted by E and normalized by E∗ = ϕ∗/a∗. The surface charge is denoted by σ and normalized by σ∗ = ǫ∗ϕ∗/δ∗. The ionic fluxes are given by ion diffusion, electrostatic forces and ion advection by the fluid in (1.4). Due to conservation of ion concentrations, the fluxes are divergence-free: ∇ · j± = 0. 5 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 18. These equations may be re-written by using salt c = (c+ + c−)/2 and charge q = (c+ − c−)/2. Thus, salt and charge fluxes are defined by: j = j++j− 2 = −∇c − q∇ϕ + αvc, i = j+−j− 2 = −∇q − c∇ϕ + αvq, (1.7) and are divergence-free as well: ∇ · j = 0, ∇ · i = 0. (1.8) In addition, the charge concentration is governed by the Poisson equation (1.6) q = −δ2 ∇2 ϕ. (1.9) 1.2.2 Boundary conditions We assume that a constant electric field of nondimensional magnitude β, is applied to the system, in the direction denoted by the unit vector ˆı. As a result, the particle will equilibrate at a non-zero steady-state velocity U ˆı, which is a function of the applied field, and is not known a priori. We employ the reference frame of the particle. Far away from the particle, we have a uniform applied electrostatic field, uniform flow, and ambient ionic concentrations: v → −U ˆı, ∇ϕ → −βˆı, c± → 1. (1.10) We consider a spherical particle. The chemical properties of the particle’s surface S (defined at r = 1 with normal ˆn = ˆr), determine the boundary conditions on S. We consider the following scenarios: Ion-exchanger We follow the microscale model presented at [1] and assume high conductance of the particle (yielding a uniform electric potential), zero slip, anion impermeability, cation selectivity (with fast Butler-Volmer[19] kinetics ˆn · j+ = k(1 − c+/γ), where k → ∞): ϕ = V , v = 0, ˆn · j− = 0, c+ = γ, (1.11) where γ is the ratio between the cationic concentration on the surface and the cationic concentration in the fluid bulk and V is an unknown constant electric potential at the ion-exchanger surface. Inert particle We follow the microscale model presented at [2] and assume constant surface charge zero slip and ion impermeability: ˆn · (∇ϕ − χ∇ϕs) = δ−1σ, v = 0, ˆn · j± = 0, (1.12) where χ is the ratio between the dielectric constants of the particle and the fluid. 6 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 19. 1.2.3 Separation of scales When δ ≪ 1, the fluid remains electroneutral (q ≈ 0, thus c+ ≈ c−), except inside a thin boundary layer of width O(δ) surrounding the particle (the “Debye layer”). This boundary layer makes it very hard to construct a direct numerical solver for the full electrokinetic problem. However, the scale disparity at the Debye layer can be exploited (as shown by Yariv in [5]), which allows the PDE system to be rewritten in the “inner” region as an ODE system using the asymptotic limit of δ → 0. This system can be integrated and solved analytically, yielding “effective” boundary conditions near the particle surface for the “outer” bulk region equations. Bulk-scale equations The Nernst-Planck equations above (1.7) for the fluid bulk outside the boundary layer [5], using bulk variables denoted by uppercase letters, read: Q = 0, C = C+ = C−, J = −∇C + αV C, I = −C∇Φ. (1.13) Because the flow is incompressible (∇ · V = 0), ion conservation results in the following salt and charge conservation equations – the salt and charge fluxes above (1.13) are divergence-free (1.8): ∇2C − αV · ∇C = 0, ∇ · (C∇Φ) = 0. (1.14) The macroscale Stokes flow equations have the same form as before (1.5): ∇ · V = 0, ∇2V − ∇P + ∇Φ∇2Φ = 0. (1.15) 1.2.4 Bulk-scale effective boundary conditions By integrating the equations across the Debye layer, the effective boundary conditions at the particle surface are: Ion-exchanger See [1] for full derivation of the nonlinear effective boundary conditions (and also Appendix A): 0 = Φ + log C, 0 = ∂ ∂n (Φ − log C) , (1.16) V = ζ · ∇SΦ + 2 log 1 − tanh2 ζ 4 · ∇S log C, where ζ = V − Φ = log(C/γ) is the zeta potential. 7 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 20. Highly charged inert particle See [2] for full derivation of the nonlinear effective boundary conditions. Note that due to surface conduc- tion, the resulting boundary conditions are: 0 = ∂C ∂n − Du∇2 s (Φ − log C), 0 = ∂C ∂n + C ∂Φ ∂n , (1.17) V = ζ · ∇S (Φ − log C) + 4 log 2 · ∇S log C, where ζ = ¯ζ − log C is the zeta potential and ¯ζ = 2 log σ. 1.2.5 Steady-state velocity The stress tensor in the fluid is composed of Newtonian and Maxwel stresses: T = ∇V + (∇V )† − PI + ∇Φ∇Φ − 1 2 (∇Φ · ∇Φ). (1.18) In steady state (constant particle drift velocity U ), the total force acting on the particle (computed by the following surface integral) must vanish: F (β, U ) = S T · ˆndA = 0. (1.19) The total force F (β, U ) is a function of the applied electric field β and the velocity U . For any given electric field β, the force-free constraint above can be solved numerically for U to yield the corresponding steady-state velocity. 1.3 Summary of achievements in this work In this work, we develop and implement a novel software framework, that enables the generation of iterative numerical solvers for nonlinear macroscale electrokinetic problems. A novel feature is the combination of a numerical framework with an analytical solution of the thin Debye layer, that is available from the literature and provides effective boundary conditions. Therefore, the Debye layer does not need to be resolved by the computational grid, saving a tremendous amount of numerical resources. We apply this framework to the study of systems that have no closed-form solutions, such as ion-exchanger migration [1] and the electrophoresis problem [2] for a spherical particle in an infinite domain. The numerical results can be used to gain insight into the chemical and physical behavior in far more general regimes than are currently well-understood, and also to possibly lead to further analytical developments, based on new scaling behavior that is discovered numerically. We have also discovered interesting physical phenomena that may be observed experimentally. One such phenomenon is nonlinear electrokinetic vortex flow, which is useful for microfluidic mixing applications [20, 21]. 8 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 21. In addition, we develop and present an asymptotic derivation for the ion-exchanger migration problem up to third order terms. This new analytical result is also used to verify the numerical framework and the numerical results. 9 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 22. Chapter 2 Numerical Scheme 2.1 Numerical Framework We start by presenting the numerical framework that is used for the construction of the nonlinear solver. 2.1.1 Finite Volume Method Finite Volume methods [22] are used to define a discretization of the conservation equations’ integral forms. The simulation domain is divided into a set of discrete non-overlapping control volumes. Each conservation equation is discretized over the control volumes, such that the integral form of the conservation law is satisfied using an approximation of the fluxes over the control volume faces. This method ensures that the discretization is conservative in the discrete sense. 2.1.2 Flux Discretization In order to define the fluxes on the boundaries of each control volume, we employ the conservative for- mulation of the governing equations above. The flux terms are defined using finite differences and linear interpolation of the discrete variables (defined at the centroid of each cell), except for the advection flux which should not be discretized using linear interpolation – due to a numerical instability for large cell Peclet numbers [23]. 2.1.3 Ghost Points In order to discretize boundary condtions for Φ, C and V , “ghost” points are employed. The grid is extended to include points outside the domain interior, and the variables at the “ghost” points are set to satisfy the discretized boundary conditions on the grid boundaries. Note that P has no boundary conditions – so the pressure variable is defined only in the domain interior. 10 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 23. 2.1.4 Newton’s Method Newton’s method is used to solve a nonlinear system of equations of the form O(x) = 0. For small step ∆x, we can linearize the operator by O(x + ∆x) ≈ O(x) + ∇O(x)∆x (2.1) Thus, we use the following iteration, starting from an initial solution x0: ∆xn = − [∇O(xn)]−1 · O(xn) (2.2) xn+1 = xn + ∆xn (2.3) Then, a sparse linear system A∆x = b needs to be solved to yield the update ∆x. When the method converges, xn → x∞, the asymptotic convergence is in general quadratic: xn+1 − x∞ ≤ k xn − x∞ 2 . (2.4) Thus, when the initial guess is close enough to the solution, the solver will typically converge in very few steps. 2.1.5 Richardson Extrapolation In order to achieve higher numerical accuracy, we employ Richardson extrapolation [24] on the resulting steady-state velocity U (h), as a scalar function of the grid spacing h. This method enables us to detect and analyze nonlinear effects for β ≪ 1, where a higher-order discretization is required because otherwise the numerical error becomes comparable to the difference between the linear analytical regime and the numerical results. 2.2 Algorithm Description The numerical solver first requires constructing a discrete approximation for the nonlinear PDE system, for a given electric field β and assumed velocity U . The resulting nonlinear discrete system is solved numerically using Newton’s Method, so the total force on the particle can be computed. We seek the steady-state velocity U , which corresponds to zero total force, F(β, U ) = 0, which we solve by the standard secant method. 2.2.1 Spherical Coordinates Because the system is axisymmetric and the particle is a sphere, we employ spherical coordinates (r, θ, φ), as shown in Figure 2.1. 11 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 24. The scalar gradient and the divergence can be written as: ∇f = ∂f ∂r ˆr + 1 r ∂f ∂θ ˆθ, (2.5) ∇ · F = 1 r2 ∂ ∂r Frr2 + 1 r sin θ ∂ ∂θ (Fθ sin θ) . (2.6) The scalar Laplacian can be written as: ∇2 f = ∇ · (∇f) = 1 r2 ∂ ∂r r2 ∂f ∂r + 1 r2 sin θ ∂ ∂θ sin θ ∂f ∂θ . (2.7) The vector gradient and vector Laplacian can be written as: ∇F = ∂Fr ∂r ˆrˆr + ∂Fθ ∂r ˆrˆθ + 1 r ∂Fr ∂θ − Fθ ˆθˆr + 1 r ∂Fθ ∂θ + Fr ˆθˆθ, ˆr · ∇2 F = ∇2 Fr − 2Fr r2 − 2 r2 sin θ ∂ (Fθ sin θ) ∂θ (2.8) ˆθ · ∇2 F = ∇2 Fθ − Fθ r2 sin2 θ + 2 r2 ∂Fr ∂θ . Note that in the spherical coordinate system, the vector Laplacian operator cannot be computed in a de- coupled manner as in the Cartesian system, because the unit vectors ˆr, ˆθ, ˆφ are functions of the coordinates in a curvilinear coordinate system. See Appendix B for the full derivation of the identities above. 2.2.2 Computational Grid A regular grid of size nr × nθ is defined, with: (ri, θj) ∈ [1, ∞) × [0, π], ri = (1 + ∆r)i , (2.9) θj = ∆θ · j, where a logarithmic grid spacing has been chosen for r and a uniform grid for θ. Note that r0 = 1 and Rmax = (1 + ∆r)nr , where ∆r = (Rmax)1/nr − 1 and ∆θ = π/nθ. Because the grid is finite, the choice of Rmax must be large enough so as to have a negligible effect on the solution. On the other hand, in order to have a high resolution grid near the particle surface, ∆r should be minimized. It should be noted that for a given grid size nr, these requirements cannot be satisfied simultaneously – thus, a compromise is required between large Rmax and small ∆r. This grid induces a disjoint subdivision of the domain Ω = [1, Rmax] × [0, π] = ij Ωij into cells. A specific cell Ωij and its center (¯ri, ¯θj) are defined by (2.9): Ωij = [ri−1, ri] × [θj−1, θj], ¯ri = (ri−1 + ri)/2, (2.10) ¯θj = (θj−1 + θj)/2. 12 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 25. Each discrete variable is located with respect to its cell as shown at Figure 2.2. Φ, C and P are represented by their value at the center of each cell, using an all-centered grid, whereas V is represented by its values at cell boundaries, using a staggered grid: Φh [i,j] = Φ(¯ri, ¯θj), Ch [i,j] = C(¯ri, ¯θj), Ph [i,j] = P(¯ri, ¯θj), (2.11) V h r [i,j] = Vr(ri, ¯θj), V h θ [i,j] = Vθ(¯ri, θj). 2.2.3 Operator Discretization A finite-volume method with linear interpolation is used for flux discretization. Define the following discrete central difference operators: Dr(fh )[i+ 1 2 ,j] = fh [i+1,j] − fh [i,j] r[i+1,j] − r[i,j] , (2.12) Dθ(fh )[i,j+ 1 2 ] = fh [i,j+1] − fh [i,j] θ[i,j+1] − θ[i,j] . (2.13) Define the following linear interpolation operators: Ir(fh )[i+ 1 2 ,j] = r[i+ 1 2 ,j] − r[i,j] r[i+1,j] − r[i,j] fh [i+1,j] + r[i+1,j] − r[i+ 1 2 ,j] r[i+1,j] − r[i,j] fh [i,j], (2.14) Iθ(fh )[i,j+ 1 2 ] = r[i,j+ 1 2 ] − r[i,j] r[i,j+1] − r[i,j] fh [i,j+1] + r[i,j+1] − r[i,j+ 1 2 ] r[i,j+1] − r[i,j] fh [i,j]. (2.15) If the total flux of a cell is equal to zero (∇ · f = 0), then using (2.12), we have 1 r2 Dr fh r r2 + 1 r sin θ Dθ fh θ sin θ = 0. (2.16) 13 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 26. x r θ φ ı Figure 2.1: Spherical coordinate system is employed for computational grid construction. Φ, C, P Φ, C, P Φ, C, P Φ, C, P Φ, C, P Vr Vr Vr Vr Vr Vr Vr Vr Vr Vr Vr Vr VθVθVθ Vθ Vθ Vθ Vθ Vθ Vθ Vθ Vθ Vθ Φ, C, P Φ, C, P Φ, C, P Φ, C, P Figure 2.2: The computational grid is defined using a spherical coordinate system, due to axisymmetry of the physical problem and boundary conditions discretization on the particle surface. 14 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 27. 2.2.4 System Equations Charge and salt fluxes (1.13) are discretized on grid cell boundaries (using an upwind scheme U for numerical stability at large cell Peclet number) using (2.12) and (2.14): Ih r = −Ir(Ch ) · Dr(Φh ), Ih θ = −Iθ(Ch ) · Dθ(Φh) r , Jh r = −Dr(Ch ) + αV h r · UV h r (Ch ), Jh θ = − Dθ(Ch) r + αV h θ · UV h θ (Ch ), (2.17) UV h r (Ch )[i, j] = Ch i − sign(V h r ) 2 , j , UV h θ (Ch )[i, j] = Ch i, j − sign(V h θ ) 2 . Mass flux V is discretized on grid cells boundaries, using the staggered velocity grid. Force components (F = −∇P + ∇2 V + ∇Φ∇2Φ) are discretized on the staggered velocity grid using the finite difference method, where linear interpolation is used for the Coulomb force and for vector Laplacian components. Fh r = −Dr(Ph ) + L(V h r ) − 2 r2 V h r − 2 r2 sin θ Ir(Dθ(V h θ sin θ)) + Dr(Φh ) · Ir(L(Φh )), Fh θ = − Dθ(Ph) r + L(V h θ ) − Fh θ r2 sin2 θ + 2 r2 Iθ(Dθ(Fh r )) + Dθ(Φh) r · Iθ(L(Φh )), L(fh ) = 1 r2 Dr Dr(fh )r2 + 1 r2 sin θ Dθ Dθ(fh ) · sin θ . (2.18) 2.2.5 Boundary Conditions Far away from the particle boundary (1.10), we have: Dr Φh = −β cos ¯θ, Ir Ch = 1 V h r = −U cos θ, V h θ = U sin θ. (2.19) For θ = 0 and θ = π, the “ghost” points are defined by axial symmetry considerations: Dθ Φh = 0, Dθ Ch = 0, Dθ V h r = 0, V h θ = 0 (2.20) The specific boundary conditions at r = 1 depend on the chemical properties of particle surface. 15 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 28. Ion-exchanger The boundary conditions (1.16) are implemented by: 0 = Ir(Φh + log Ch), 0 = Dr(Φh − log Ch), V h r = 0, V h θ = 4 log 1 2 1 + exp Iθ(ζh)/2 · Dθ(ζh), ζh = − log γ − Ir(Φh). (2.21) Highly charged inert particle The boundary conditions (1.17) are implemented by: 0 = Dr(Ch) − Du · Dθ sin θ · DθIr Φh − log C /sin θ, 0 = Dr(Ch) + Ir(Ch)Dr(Φh), V h r = 0, V h θ = Iθ(ζh) · Dθ(IrΦh − log IrCh) + 4 log 2 · Dθ(log IrCh), ζh = ¯ζ − log IrC. (2.22) 2.3 Solver Design Let O : RN → RN be a nonlinear operator. In order to solve the equation O(x) = 0, Newton’s method is applied, given an initial solution x0. Each step requires the computation of the residual vector, r = O(x), the gradient matrix of the operator, G = ∇O(x) (given the current solution x) and the solution of the sparse linear system G∆x = −r. 2.3.1 Operator Representation The system variable x is defined as the concatenation x = [ Φ, C, Vr, Vθ, P ]. Thus, each problem variable can be computed by applying an appropriate projection operator on x. The system can be written as a nonlinear operator O(x) = 0 acting on the system variable x, where O is the system equations operator, derived by concatenation of the system equations (described in Subsection 2.2.4) and the boundary con- ditions operators (described in Subsection 2.2.5). This way, the same numerical solver handles both the nonlinear system equations and nonlinear boundary conditions. 2.3.2 Steady-state Let β be a given nondimensional electric field. Assume that U ˆı is the drift velocity of the particle (given that the fluid is at rest far away from it). After the convergence of the solver, once the residual norm is below a prescribed threshold O(xn) < ǫ, the total force acting on the particle can be computed by integrating T · ˆn over the particle surface. 16 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 29. Due to symmetry considerations, the total force F is aligned with ˆı and it vanishes iff ˆı · F = 0. Fı = ˆı · F = S (ˆı · T · ˆn) dA = π 0 fı(θ)2π sin θdθ, fı = ˆı · T · ˆr = −P + 2Dr(Vr) + 1 2 (Dr(Φ))2 − 1 2r2 (Dθ(Φ))2 cos θ (2.23) − Dr(Vθ) − Vθ r + 1 r Dr(Φ)Dθ(Φ) sin θ. The integral above is approximated by 1D numerical quadrature (using the mid-point rule) Fh ı (β, U h ) = nθ i=1 fh (¯θi) · 2π sin ¯θi · ∆θi, (2.24) to yield the total force Fh ı (β, U h) as a function of the drift velocity U h. Since the goal is to find the steady- state solution, Fh ı is required to be zero – and the appropriate U h is found by a simple 1D root-finding algorithm, applied as an outer loop: Fh ı (β, U h (β)) = 0 (2.25) 2.3.3 Continuation The iterative solver above can in principle be used to compute the steady-state solution for any given β. For β ≪ 1, the linear terms are the dominant ones, so the solution is approximately linear in β (as derived in [1]), and the solver convergence is fast. However, this is no longer true for β 1, because the nonlinear terms become dominant and the iterative solver may not converge at all if we start with an arbitrary initial guess. In order to find a solution for such β, a continuation method is used: the solver is applied to a sequence of {βi}n i=0 such that β0 = 0, βn = β and the solution xi for βi is used as the solver initializer for the problem of βi+1. 2.4 Solver Implementation Object-Oriented Design methodology is used for implementation. The MATLAB programming language is chosen due to strong numerical capabilities and high-level language features. The source code of the solver is provided in [25]. MATLAB direct solver is applied to solve the sparse linear system for each Newton step, using the backslash operator. The library used for solving the linear system is UMFPACK 5.0 [26] (Unsymmetric MultiFrontal Sparse LU Factorization Package), as reported by MATLAB function call, spparms(’spumoni’, 2). 2.4.1 Operator Interface The base Operator interface is defined by supporting the computation of a residual vector Operator.res() and a gradient matrix Operator.grad(), given an input vector x. This interface is implemented by specific 17 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 30. operator classes, which are used to construct the system operator O, so that the Newton solver (that requires computing the residual and the gradient) can be applied automatically. Each such operator may have other operators as its inputs, so the residual and the gradient are computed recursively, using the chain rule (applied to operators). Linear operator If O is linear, it can be represented by a matrix L, such that: O(x) = Lx, ∇O = L. (2.26) Note that finite difference D, interpolation I and upwind selection U operators can be implemented as linear sparse operators, by constructing an appropriate sparse matrix L, having O(dim x) non-zeroes. This way, the computation of the residual is very fast, taking O(dim x) time, and the gradient does not depend on x. Pointwise scalar function Let f : R → R be a differentiable 1D function, whose derivative is denoted by f′ : R → R. The operator F can be defined to represent a pointwise application of f: F(x) = [f(x1); . . . ; f(xn)], ∇F(x) = diag{f′(x1), . . . , f′(xn)}. (2.27) f is defined and differentiated automatically using the MATLAB symbolic toolbox. Constant value A constant operator C is defined by the constant vector c (which does not depend on x): C(x) = c, ∇C = 0. (2.28) Binary operators Let O1 and O2 be two operators, so that their pointwise addition, subtraction, and multiplication, are defined as follows: (O1 ± O2)(x) = O1(x) ± O2(x), (2.29) ∇(O1 ± O2)(x) = ∇O1(x) ± ∇O2(x), (O1 · O2)(x) = O1(x) · O2(x), (2.30) ∇(O1 · O2)(x) = diag(O2(x))∇O1(x) + diag(O1(x))∇O2(x). 18 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 31. N-ary operators Given N operators {Oi}N i=1, their concatenation O is defined as: O(x) = [O1(x); . . . ; ON (x)], (2.31) (∇O)(x) = [(∇O1)(x); . . . ; (∇ON )(x)]. 2.4.2 Handling the Singularity The electric potential Φ (in electrophoresis case) and the pressure P (in both cases) are defined up to an additive constant, since the system equations and the boundary conditions contain only their derivatives. In order to overcome the singularity of the linear system G∆x = −r, we set the variable at a specific grid point to be 0. In order to retain a square system, we remove one conservation equation at this grid point too. In the case of pressure P, we remove one mass conservation equation, ∇ · V = 0, at this grid point. In the case of electric potential, we remove the charge conservation equation, ∇ · (C∇Φ) = 0, at this grid point. For r = O(x) and G = ∇O(x), the new square linear system reads: RGP · δx = −Rr, (2.32) where P matrix is used to remove the columns and R matrix is used to remove the rows of G, where the update step is ∆x = P · δx. 2.4.3 Iterative Newton solver Given an initial solution x0 and prescribed values for β and U , we apply the following algorithm until convergence ( rn < ǫ): 1. Update the system operator: op = System(xn) 2. Compute the gradient: Gn = op.grad() 3. Compute the right-hand side: rn = op.res() 4. Solve sparse linear system: RGnP∆xn = −Rrn 5. Update solution: xn+1 = xn + P∆xn 2.5 Source code overview In the following section we present the source code of the numerical framework and demonstrate its usage for solving a boundary-value problem. 19 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 32. 2.5.1 Variable We define the variable vector x as Variable operator (Figure 2.3). 1 classdef Variable < handle 2 properties 3 value; 4 end 5 methods 6 function self = Variable(varargin) 7 self.value = col(varargin{:}); 8 end 9 function r = res(self) 10 r = self.value(:); 11 end 12 function G = grad(self) 13 G = speye(numel(self.value)); 14 end 15 function update(self, dv) 16 self.value = self.value + dv; 17 end 18 end Figure 2.3: Variable class source code. Then the initial solution for the solver is set using x = Variable(Φ, C, Vr, Vt, P) from the initial conditions of the solver. 2.5.2 Grid Most of the operators are using a Grid object (Figure 2.4), enabling validation of operators compatibility and convenient interpolation between grids. Note that each operator must define its res() and grad() functions, for residual and gradient computation, respectively. An Operator interface is used (Figure 2.5) to support operator overloading MATLAB syntax. Thus, various computations can be applied on simple operators, creating more complex operators, such as op4 = op1 * exp(op2 + tanh(op3)). Since each operator can compute its residual and gradient, we can compute automatically the residual and gradient of op4 from these of op1, op2, op3 using the derivation rules described at 2.4.1. 2.5.3 Operators An operator can be created with n existing operators as input. Const is an operator that corresponds to n = 0, whose residual value is constant and gradient matrix is zero (see Figure 2.6). 20 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 33. 1 % Regular structured grid class 2 classdef Grid < handle 3 properties 4 x, y; 5 X, Y; 6 size; 7 numel; 8 end 9 methods 10 function self = Grid(x, y) 11 self.x = x(:); 12 self.y = y(:); 13 [self.X, self.Y] = ndgrid(self.x, self.y); 14 self.size = [numel(self.x), numel(self.y)]; 15 self.numel = prod(self.size); 16 end 17 end Figure 2.4: Grid class source code. Unary operators Unary operators have one existing operator as input. Func operator implements point-wise analytic func- tion application (whose derivative is computed using the symbolic differentiation toolbox) on the same grid of the input operator (Figure 2.7). Linear operator is implemented using multiplication by a constant sparse matrix L, which is also the gradient of the operator (Figure 2.8). Deriv and Interp operators (implementing discrete differentiation and grid interpolation) derive from Linear base class operator and specify L sparse matrix accordingly. Binary operators Binary operators such as addition, subtraction and point-wise multiplication are implemented as operators whose output grid is the same as the grid of their inputs. The implementation is used by operator overloading in the base class Operator. N-ary operators All equations and boundary condition operators are defined as operators {op1, op2, ... opN}. Then, they are combined using the N-ary operator op = Join(op1, op2, ... opN), creating the system oper- ator op (Figure 2.9). 21 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 34. 2.5.4 Sample source code The following example shows how to define the following boundary-value problem: ∇2 F(x, y) = 1 (x, y) ∈ [0, 1]2 (2.33) F(0, y) = F(1, y) = 0 y ∈ [0, 1] (2.34) ∂F ∂y (x, 0) = ∂F ∂y (x, 1) = 0 x ∈ [0, 1] (2.35) and solve it using one Newton method step. The source code is presented at Figure 2.10. 22 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 35. 1 classdef Operator < handle 2 properties 3 grid; % a grid object for the output 4 end 5 methods 6 function op = Operator(grid) 7 op.grid = grid; 8 end 9 function op = plus(op1, op2) 10 op = Sum(op1, op2); 11 end 12 function op = minus(op1, op2) 13 op = Minus(op1, op2); 14 end 15 function op = uminus(op) 16 op = Product(-1, op); 17 end 18 function op = mtimes(op1, op2) 19 op = Product(op1, op2); 20 end 21 function op = log(op) 22 op = Func(op, ’log(x)’); 23 end 24 function op = exp(op) 25 op = Func(op, ’exp(x)’); 26 end 27 function op = sinh(op) 28 op = Func(op, ’sinh(x)’); 29 end 30 function op = cosh(op) 31 op = Func(op, ’cosh(x)’); 32 end 33 function op = tanh(op) 34 op = Func(op, ’tanh(x)’); 35 end 36 end Figure 2.5: Operator interface source code. 23 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 36. 1 classdef Const < Operator 2 properties 3 val; 4 end 5 methods 6 function self = Const(grid, val) 7 self = self@Operator(grid); 8 if isa(val, ’float’) 9 if numel(val) == 1 10 val = repmat(val, grid.size); 11 end 12 self.val = val; 13 else % function handle evaluated point-wise 14 if isa(val, ’char’) 15 val = str2func([’@(r,t) ’ val]); 16 end 17 self.val = arrayfun(val, grid.R, grid.T); 18 end 19 end 20 function r = res(self) 21 r = self.val(:); 22 end 23 function G = grad(self) 24 G = sparse(0); % [0] 25 end 26 end Figure 2.6: Constant operator source code. 24 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 37. 1 classdef Func < Operator 2 properties 3 op; % Input operator 4 func; % y = f(x) 5 deriv; % dy/dx = f’(x) 6 end 7 methods 8 function self = Func(op, func) 9 grid = op.grid; % Reuse operator’s grid 10 self = self@Operator(grid); 11 self.op = op; 12 if isa(func, ’char’) 13 func = sym(func); 14 end 15 self.func = matlabFunction(func); 16 self.deriv = matlabFunction(diff(func)); 17 end 18 function r = res(self) 19 r = self.func( self.op.res() ); 20 end 21 function G = grad(self) 22 r = self.op.res(); 23 G = spdiag( self.deriv(r) ) * self.op.grad(); 24 end 25 end Figure 2.7: Pointwise function source code. 25 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 38. 1 classdef Linear < Operator 2 properties 3 L; 4 op; 5 end 6 methods 7 function self = Linear(grid, op, L) 8 self = self@Operator(grid); 9 self.op = op; 10 self.L = L; 11 end 12 function r = res(self) 13 r = self.L * self.op.res(); 14 end 15 function G = grad(self) 16 G = self.L * self.op.grad(); 17 end 18 end Figure 2.8: Linear operator source code. 26 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 39. 1 classdef Join < handle 2 properties 3 ops; 4 end 5 methods 6 function self = Join(operators) 7 self.ops = operators; 8 for k = 1:numel(self.ops) 9 op = self.ops{k}; 10 end 11 end 12 function r = res(self) 13 r = cell(numel(self.ops), 1); 14 for k = 1:numel(self.ops) 15 r{k} = self.ops{k}.res(); 16 end 17 r = cat(1, r{:}); 18 end 19 function G = grad(self) 20 G = cell(numel(self.ops), 1); 21 for k = 1:numel(self.ops) 22 G{k} = self.ops{k}.grad(); 23 end 24 G = cat(1, G{:}); 25 end 26 end Figure 2.9: Join operator source code. 27 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 40. 1 x = linspace(0, 1); 2 y = linspace(0, 1); 3 g = Grid(x, y); % Grid definition 4 x_ = (x(1:end-1) + x(2:end)) * 0.5; 5 y_ = (y(1:end-1) + y(2:end)) * 0.5; 6 xi = x(2:end-1); 7 yi = y(2:end-1); 8 v = Variable(zeros(g.size)); 9 F = Linear(g, v, speye(g.numel)); % Variable Definition 10 Fx = Deriv(Grid(x_, y), F, 1); 11 Fy = Deriv(Grid(x, y_), F, 2); 12 Fxx = Deriv(Grid(xi, yi), Fx, 1); 13 Fyy = Deriv(Grid(xi, yi), Fy, 2); 14 eq = {(Fxx + Fyy) - Const(1)}; % Laplacian(F) = 1 15 bnd = {Interp(Grid(0.0, y(2:end-1)), F); ... % F(0, y) = 0 16 Interp(Grid(1.0, y(2:end-1)), F); ... % F(1, y) = 0 17 Interp(Grid(x, 0.0), Fy); ... % dF/dy(x, 0) = 0 18 Interp(Grid(x, 1.0), Fy)} % dF/dy(x, 1) = 0 19 op = Join([eq; bnd]); % System operator 20 r = op.res() 21 G = op.grad() 22 v.update(-(Gr)) % Solve by Newton iteration Figure 2.10: Sample problem source code. 28 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 41. Chapter 3 Results and Discussion 3.1 Asymptotic Analysis In order to validate the numerical results, an asymptotic analysis has been applied to the nonlinear systems of ion-exchanger migration and highly charged particle electrophoresis. We present here the asymptotic analysis for the ion-exchanger case [1], while the asymptotic analysis for the electrophoresis case [2] is derived by Schnitzer and Yariv in [27]. The derivation is performed as follows. The nonlinear system (composed of the governing equations and the boundary conditions) is written as O(x; β) = 0. For small β, the solution to the nonlinear system can be expanded in an asymptotic series in β: x = x(β) ≈ n xnβn . (3.1) The nonlinear terms are expanded around β = 0: 0 = O(x) = i Oi(x0, . . . xi)βi . (3.2) Thus, the O(βk) term xk can be found recursively by solving Ok(x0, x1, . . . , xk) = 0, given the previous solutions for x0, . . . , xk−1. The derivation is validated using the MATLAB symbolic toolbox by the code at symbolic/asymp.m [25]. 3.1.1 First-Order (linear in β) Solution For β = 0 (no electric field is applied), the steady-state solution is U = 0: Φ0(r, θ) = 0, C0(r, θ) = 1, V 0(r, θ) = 0, P0(r, θ) = 0. (3.3) 29 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 42. Assuming β ≪ 1, the linearized equations and boundary conditions are ∇2Φ1 = 0, ∇2C1 = 0, ∇2 V 1 − ∇P1 = 0. (3.4) The first-order terms x1 are given by (see [1] for full derivation) Φ1 = 1 4r2 − r cos θ, C1 = 3 4r2 cos θ, Ψ1 = U1 1 r − r2 sin2 θ 2 , P1 = 0, (3.5) and the linear velocity term is: V 1 = U1 ˆr −1 + 1 r3 cos θ + ˆθ 1 + 1 2r3 sin θ (3.6) U1(γ) = 2 log 1 + γ− 1 2 2 . (3.7) For γ > 1, the Debye layer has a positive charge, corresponding to a negative particle charge – yielding negative drift velocity, U < 0. For γ < 1, we have U > 0. 3.1.2 Second-Order (quadratic in β) Solution The quadratic terms x2 are computed by solving a linear PDE system with a right-hand side determined by the linear terms x1, yielding Φ2 = U1 α 32 − 1 16 3 cos2 θ − 1 r3 − 3 + 3 sin2 θ 4 r3 − 1 32 r4 − 3 U1 α − 6 32 r , (3.8) C2 = 5 U1 α 32 + 1 16 3 cos2 θ − 1 r3 − 3 U1 α − 6 32 r + 3 U1 α 2 r3 sin2 θ + sin2 θ − 1 16 r4 , (3.9) Ψ2 = 9 16( √ γ + 1) − 3 16 U1(U1α + 1) 1 r2 − 1 sin2 θ cos θ. (3.10) Note that the quadratic term does not contribute to the total force and steady-state velocity terms, but it does change the fluid flow, the electric potential and the ionic concentration. 3.1.3 Third-Order (cubic in β) Solution Note that, due to symmetry considerations, U (β) is an anti-symmetric function. Therefore, U2 = 0 and the next velocity term is the cubic one: U (β) ≈ βU1 + β3 U3 + O(β5 ). (3.11) The cubic terms x3 are computed by solving a linear PDE system with a right-hand side determined by the linear terms x1 and the quadratic terms x2. 30 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 43. Φ3 = 15U1α + 6 64 cos θ − 3U1α 32 cos3 θ + 183U1 2 α2 − 839U1α − 470 2560r2 cos θ + 3 cos θ 5U1α − 6cos2 θ − 4U1αcos2 θ + 4 64r3 + (2U1α − 1) cos θ − 3cos3θ 64r5 + cos3 θ 15U1α 64 + 3 32 r−2 − 3 cos θ − 5cos3 θ − 19U1 2 α2 5120 + 97U1α 5120 + 3U2α 320 + 21 1280 r−4 + cos3 θ U1α 64 + 3 64 r−6 , C3 = 3U1 2 α2cos3 θ 32 + cos θ 797U1 2 α2 + 419U1α − 512U2α + 174 2560r2 − 3U1α cos θ (5U1α + 2) 64 − 3 cos θ − 5cos3 θ 59U1 2 α2 5120 + 103U1α 5120 + 69U2α 320 + 3 1280 r−4 + α cos θ − 3cos3 θ 5αU1 2 + 2U1 + 16U2 128r5 − 3α cos θ −8αU1 2 cos2 θ + 7αU1 2 + 2U1 + 32U2cos2 θ − 32U2 128r3 + U1 2 α2cos3 θ 32r6 − 3U1αcos3 θ (5U1α + 2) 64r2 , Ψ3 = r2 sin2 θ W2 15 − W1 3 + 209 3360 − sin2 θ 5W2 3 − W1 3 + 35 264 r−1 + sin4 θ 2W2 + 761 5632 r−1 − sin2 θ 1848r6sin2 θ − 2079r3sin2 θ + 924r3 − 7sin2 θ + 10 19712r5 4sin2 θ − 5sin4 θ r3 + U1α 16 − 1 8 2r3 − 3r2 + 1 4r sin2 θ, W1 = 69 512 √ γ + 1 − 1407α2log √ γ+1 2 √ γ 3 1280 − 123 log √ γ+1 2 √ γ 1280 − 27 512 √ γ + 1 2 − 1899αlog √ γ+1 2 √ γ 2 2560 − α log √ γ+1 2 √ γ 81 16( √ γ+1) − log √ γ+1 2 √ γ 27α log √ γ+1 2 √ γ 4 + 27 8 320 + 21α log √ γ+1 2 √ γ 128 √ γ + 1 , 31 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 44. W2 = 9 log √ γ+1 2 √ γ 256 + 21α2log √ γ+1 2 √ γ 3 + 15αlog √ γ+1 2 √ γ 2 64 − 27 512 √ γ + 1 2 − 297α log √ γ+1 2 √ γ + 54 1024 √ γ + 1 . The cubic solution satisfies the boundary conditions only when αU1 = 0, due to boundary conditions mismatch for C at r → ∞, when the diffusion and the advection terms become of the same order of magnitude. The cubic correction velocity terms (for α = 0) turn out to be: U3(γ) = 31 320( √ γ + 1) − 9 320( √ γ + 1)2 + 1 1680 − 11 160 log 1 + γ− 1 2 2 . (3.12) The cubic term becomes dominant for small β when γ ≈ 1. Note that, for γ = 1, the linear term vanishes and the cubic term of the velocity is U (β) = 1129 26880 β3. Observe that a U = 0 solution may exist for a critical βc > 0 and α = 0, if it satisfies: β2 c = − U1(γ) U3(γ) . (3.13) Specifically, for γ = 1 + ǫ, where 0 < ǫ ≪ 1, βc = O ( √ ǫ): βc ≈ −U ′ 1 (1)ǫ/U3(1) = 13440ǫ/1129 ≈ 3.45 √ ǫ. (3.14) That is, there may be a specific nonzero external field for which the particle remains at rest. The physical viability of this solution has yet to be explored. 3.2 Numerical Results The numerical solver is applied to the nonlinear problem of an ion-exchanger migration driven by an electric field [1] and the electrophoresis of highly charged surface inert particle [2]. The solver is applied to a series of values of the electric field β, ranging from β ≪ 1 to β ∼ 1. For each β value, the Newton solver is initialized with the linear solution and is iterated K times. Secant method iteration is applied M times to find the steady-state velocity by finding U such that Fı(U , β) = 0, thus computing the steady-state velocity U (β). The resulting U (β) is plotted on a log-log scale, so that the asymptotic behaviour of the solution may be examined for a wide range of β values. In order to validate the numerical solver, we employ the results of the asymptotic analysis of the nonlinear system. The numerical results are compared to the asymptotic solutions, and a good correspondence is observed. 32 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 45. 3.2.1 Ion-exchanger results For β ≪ 1, the linear regime [5] is dominant. However, when γ ≈ 1, the cubic regime, where U = O(β3), dominates the linear one, even for weak electric fields. This phenomenon is confirmed both by the numerical results and by asymptotic expansion of the nonlinear system (for α = 0). The switch from the linear regime to the cubic regime occurs at an electric field value of β = O( |γ − 1|). The numerical results U h, as well as the analytical ones (3.11), are given in Figure 3.1. The numerical solver uses Nr × Nθ = (400 × 50), Rmax = 107 (∆r ≈ 0.041), K = 3, M = 5 and β = 10t for t = −2 : 0.1 : 0.5. The linear solution for γ ≈ 1, yields a sign change of the zeta potential ζ = log(C/γ), when | log γ| ≈ 3β/4. This results in a sign change in the slip velocity, which can be approximated for small |ζ| ≪ 1 as Vθ ≈ ζ · ∇SΦ. This sign change creates a vortex at the downstream end of the ion-exchanger, as demonstrated by the numerical solution and the asymptotic analysis results in Figures 3.2 and 3.3. Note that there is a good correspondence between the numerical results and the analytical solution for β < 1, validating the vortex formation. 3.2.2 Electrophoresis results For β ≪ 1, the linear regime [2] is dominant. In order to verify the solver, the numerical steady-state velocity is compared to the analytical solution [27], derived by Schnitzer and Yariv. Since the cubic correction is much smaller than the linear solution for β ≪ 1, the difference between numerical results and the linear solution is compared to the cubic correction term. Because the leading order of the solution U (β) is linear for β ≪ 1, the numerical discretization error is O(β) as well. In order to reduce the discretization error of the numerical solution (2.25) and after verifying that the discretization error converges as O(h2) (Figure 3.4), we employ Richardson extrapolation to U h and U 2h: ˆU = 4 3 U h − 1 3 U 2h . (3.15) The results of the extrapolation ˆU and the analytical results are given at Figures 3.5 and 3.6. The numerical solver uses Rmax = 102, K = 3, M = 5 and β = 0.1 · 2t for t = −2 : 0.5 : 5. The solver is applied to 2 grids of Nr × Nθ = (128 × 128) as the coarse grid (with ∆r ≈ 0.037), and Nr × Nθ = (256 × 256) as the fine grid (with ∆r ≈ 0.018), in order to use Richardson extrapolation for ˆU . 3.2.3 Electrophoresis for large β When the electric field is large, nonlinear effects dominate the solution. In order to investigate the solution for strong electric fields, we have run the solver on the TAMNUN HPC cluster [28]. Large grid sizes are used to verify that the numerical solution converges when the grid becomes finer and that no numerical artifacts are present in the solution. Moreover, several Rmax ∈ {10, 30, 100} values are used, to make sure it has no major impact on the solution. The results are shown in the following figures. The steady-state velocity results are shown for several grid resolutions and several Rmax values in Figure 3.7, and the differences between the numerical results for steady-state velocity and the linear regime are shown in Figure 3.8. The estimated rate of convergence is shown in Figure 3.9. 33 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 46. 10 −2 10 −1 10 0 10 −7 10 −6 10 −5 10 −4 10 −3 10 −2 10 −1 10 0 10 1 Electric field magnitude (β) Steady−statevelocitymagnitude γ = 0.9999 γ = 0.9990 γ = 0.9900 γ = 0.9000 10 −2 10 −1 10 0 10 −9 10 −8 10 −7 10 −6 10 −5 10 −4 10 −3 10 −2 10 −1 10 0 10 1 Electric field magnitude (β) Steady−statevelocitymagnitude γ = 1.0001 γ = 1.0010 γ = 1.0100 γ = 1.1000 Figure 3.1: Steady-state velocity U as a function of the electric field magnitude β, for γ < 1 (top) and γ > 1 (bottom). The analytic cubic solution (3.11) is represented by curves (solid for U > 0, dashed for U < 0), and the numerical results are represented by symbols (circles for U > 0, squares for U < 0). Note that linear and cubic regimes match well the numerical results, including the critical β behaviour (3.13). 34 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 47. Numerical: β = 0.10 Numerical: β = 0.20 Numerical: β = 0.50 Numerical: β = 1.00 Figure 3.2: Streamlines of the flow for various electric field β values: numerical results for γ = 0.9. The steady-state velocity U is positive, so the ion-exchanger drifts to the right. 35 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 48. Analytical: β = 0.10 Analytical: β = 0.20 Analytical: β = 0.50 Analytical: β = 1.00 Figure 3.3: Streamlines of the flow for various electric field β values: analytical approximation for γ = 0.9 (see Section 3.1). The steady-state velocity U is positive, so the ion-exchanger drifts to the right. 36 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 49. 10 −1 10 −5 10 −4 10 −3 10 −2 10 −1 Electric field magnitude (β) Discretizationerror Quadratic convergence of steady−state velocity 32x32 64x64 128x128 256x256 Figure 3.4: The discretization error ˆU h − U1 between the numerical results and the linear asymptotic solutions for α = 0, Du = 0.5, ¯ζ = 6 and Rmax = 100. The symbols represent the discretization errors for various grid sizes, and the dotted lines correspond to linear functions of β, scaled by 4n. The graph shows that, as the number of grid points in each dimension increases by a factor of 2, the discretization error decreases by a factor of 4. 37 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 50. 10 −1 10 0 10 −1 10 0 10 1 α = 0.0, Du = 0.5, ζ = 6.0 Electric field magnitude (β) Steady−statevelocity Analytical Numerical 10 −1 10 0 10 −4 10 −2 10 0 α = 0.0, Du = 0.5, ζ = 6.0 Electric field magnitude (β) Departurefromlinearanalyticsolution Analytical Numerical Figure 3.5: Steady-state velocity U as a function of the electric field magnitude β, for highly-charged surface particle electrophoresis (with α = 0, Du = 0.5, ¯ζ = 6). The analytic solution velocity is represented by solid lines, and the numerical results are represented by symbols. The top figure shows the full numerical solution compared to the analytical one (3.11), and the bottom figure compares the analytic cubic correction [27] to the difference between the numerical results and the linear regime. 38 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 51. 10 −1 10 0 10 −1 10 0 10 1 α = 0.5, Du = 1.0, ζ = 10.0 Electric field magnitude (β) Steady−statevelocity Analytical Numerical 10 −1 10 0 10 −4 10 −2 10 0 α = 0.5, Du = 1.0, ζ = 10.0 Electric field magnitude (β) Departurefromlinearanalyticsolution Analytical Numerical Figure 3.6: Steady-state velocity U as a function of the electric field magnitude β, for highly-charged surface particle electrophoresis (with α = 0.5, Du = 1, ¯ζ = 10). The analytic solution velocity is represented by solid lines, and the numerical results are represented by symbols. The top figure shows the full numerical solution compared to the analytical one (3.11), and the bottom figure compares the analytic cubic correction [27] to the difference between the numerical results and the linear regime. When β is large, the analytical cubic solution loses its validity because higher-order terms become significant. 39 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 52. 0 1 2 3 4 5 6 0 5 10 15 20 25 30 β Steady−statevelocity [128x128] R max =10 [256x256] R max =10 [512x512] R max =10 Linear Solution (small β): 4.258 β Linear Fit (moderate β): 5.193 β −0.850 0 1 2 3 4 5 6 0 5 10 15 20 25 30 β Steady−statevelocity [512x512] R max =100 [512x512] R max =30 [512x512] R max =10 Linear Solution (small β): 4.258 β Linear Fit (moderate β): 5.193 β −0.850 Figure 3.7: Large β results for U (β) (Du = 1, ¯ζ = 10, α = 0.5). The left figure shows the numerical results of U (β) for Rmax = 10 and the following grid sizes: 128 × 128, 256 × 256, 512 × 512. The right figure shows the numerical results of U (β) for 512 × 512 grid for Rmax = 100, 30, 10. For small values of β, the linear regime of U (β) is dominant. For moderate β values, the steady state velocity is very close to an affine function of β. However, for larger values of β, the numerical solution deviates significantly from the linear regime, due to convergence problems at β > 6, and for β ∼ 7, the solver fails to converge. The numerical convergence depends on the grid resolution near the particle surface – as it becomes finer (when Nr increases or Rmax decreases), the solver convergence improves. The numerical solver converges well for β < 5 and the resulting steady-state velocity for moderate β values is very close to being an affine function of β. When β becomes large, the salt concentration C near the front of the particle (at θ ≈ 0) approaches zero, while creating a wake behind the particle (at θ ≈ π) as shown in Figures 3.10, 3.11 and 3.12. This results in high gradients in log C near the front of the particle and, therefore, a strong electric field E forms near the particle surface (Figures 3.13, 3.14 and 3.15) due to effective boundary conditions in (1.17). From Figs. 3.7-3.8 we conclude that even our most accurate numerical solution is valid only up to β = 5 approximately, and therefore we only further examine solutions in this range. The streamline pattern does not change drastically for different electric field magnitudes. The resulting fluid flow is nearly proportional to that of the Stokes creeping flow, as shown in Figure 3.16 and 3.17. The difference between Ψ(r, θ) and Ψ(r, π − θ) is shown in Figure 3.18, demonstrating that the flow is almost symmetric (with relative difference up to approximately 0.5%) for β < 5. The numerical results show that a boundary layer starts to form near the front of the particle for strong electric fields (see Figures 3.19 and 3.20). The width of the boundary layer with respect to the electric field scales, to a good approximation, as: ¯ρ(β) ≈ 0.2e−0.5β. This causes numerical problems for the current solver at large β, due to insufficient grid resolution at the boundary layer of C and E. 40 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 53. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 β Differenceofsteady−statevelocityfromthelinearregime [128x128] R max =10 [256x256] Rmax =10 [512x512] Rmax =10 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 β Differenceofsteady−statevelocityfromthelinearregime [512x512] R max =100 [512x512] Rmax =30 [512x512] Rmax =10 Figure 3.8: Large β results for U (β) − βU1 (Du = 1, ¯ζ = 10, α = 0.5 and U1 ≈ 4.258 is the linear regime coefficient). The left figure shows the numerical results of U (β) for Rmax = 10 and the following grid sizes: 128 × 128, 256 × 256, 512 × 512. The right figure shows the numerical results of U (β) for 512 × 512 grid for Rmax = 100, 30, 10. It is seen that the difference is indeed nearly an affine function of β in the large-β regime, so long as the numerical solution remains sufficiently accurate. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 β (V128x128 −V256x256 )/(V256x256 −V512x512 ) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −1 −0.5 0 0.5 1 1.5 2 2.5 β Convergenceorder Figure 3.9: Rate of convergence estimation for U at large β (Du = 1, ¯ζ = 10, α = 0.5), based on the numerical results of U (β), for the grid sizes of 128 × 128, 256 × 256, 512 × 512. The rate of convergence r(β) is estimated by r(β) U 4h(β) − U 2h(β) / U 2h(β) − U h(β) (left). The order of convergence is estimated by p(β) log2 r(β) (right). For small β, p(β) → 2, showing quadratic convergence for the linear regime. For moderate β, the convergence rate slows down, and it deteriorates for large β values. 41 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 54. −3 −2 −1 0 1 2 3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 Salt concentration (C): β = 0.10 0.95 0.96 0.97 0.98 0.99 1 1.01 1.02 1.03 1.04 Figure 3.10: β = 0.1 results for C: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. Here the linear regime dominates the solution for Cβ(r, θ) ≈ 1 − β cos θ 2r2 . 42 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 55. −3 −2 −1 0 1 2 3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 Salt concentration (C): β = 0.80 0.7 0.8 0.9 1 1.1 1.2 1.3 Figure 3.11: β = 0.8 results for C: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. For moderate β values, the salt concentration starts to form a wake behind the particle (θ ≈ π). 43 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 56. −3 −2 −1 0 1 2 3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 Salt concentration (C): β = 5.00 0.5 1 1.5 2 2.5 3 Figure 3.12: β = 5.0 results for C: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. For large values of β, there is a significant drop in salt concentration at the front of the particle – C approaches zero at θ ≈ 0, such that ∂C ∂r becomes large (since the change in C happens on a small length scale). Due to the boundary conditions of the electrophoresis problem (given by (1.17)), the electric field radial component given by Er = −∂Φ ∂r = − 1 C ∂C ∂r , becomes singular where C → 0. 44 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 57. −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 Electric potential (φ) and field at the surface (E): β = 0.10 Figure 3.13: β = 0.1 results for Φ: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. The electric potential and the electric field results are multiplied by β−1, so the linear regime appears unchanged for different values of β. Here the linear regime dominates the solution for Φβ(r, θ) ≈ −βr cos θ, hence the electric field is constant for weak electric fields: E ≈ βˆı. 45 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 58. −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 Electric potential (φ) and field at the surface (E): β = 0.80 Figure 3.14: β = 0.8 results for Φ: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. The electric potential and the electric field results are multiplied by β−1, so the linear regime appears unchanged for different values of β. For moderate values of β, the symmetry breaks and the electric field becomes stronger near the front of the particle than at the back. 46 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 59. −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 Electric potential (φ) and field at the surface (E): β = 5.00 Figure 3.15: β = 5.0 results for Φ: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. The electric potential and the electric field results are multiplied by β−1, so the linear regime appears unchanged for different values of β. For large values of β, the electric field radial component Er = −∂Φ ∂r at the particle front becomes much larger than the electric field at the particle back. 47 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 60. −3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3 Streamlines (Ψ): β = 0.10 −3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3 Streamlines (Ψ): β = 0.80 −3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3 Streamlines (Ψ): β = 5.00 −3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3 Streamlines (Ψ): β = 0.10 Figure 3.16: β = 0.1, 0.8, 5.0 and Stokes streamlines results: grid size 512 × 512, Rmax = 30, Du = 1, ¯ζ = 10, α = 0.5. The numerical results for Ψ are scaled by β−1, so the linear regime will appear the same for different β values. Note that the numerical results show a flow pattern very similar to that of the analytical Stokes flow. 48 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 61. −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 Streamlines (Ψ): β = 0.10 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 Streamlines (Ψ): β = 0.80 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 Streamlines (Ψ): β = 5.00 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 Streamlines (Ψ): β = 0.10 Figure 3.17: β = 0.1, 0.8, 5.0 and Stokes streamlines results after subtraction of the uniform flow stream- function (U 2 r2 sin2 θ): grid size 512 × 512, Rmax = 30, Du = 1, ¯ζ = 10, α = 0.5. The numerical results for Ψ are scaled by β−1, so the linear regime will appear the same for different β values. Even for the largest beta we could compute, the velocity remains fairly symmetric and “uneventful” also in the framework of the “laboratory” rather than that of the particle. 49 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 62. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 β Relativestreamlinesasymmetry Figure 3.18: Streamline results: grid size 512 × 512, Rmax = 10, Du = 1, ¯ζ = 10, α = 0.5. The relative streamline asymmetry is computed by Ψ(r, θ) − Ψ(r, π − θ) / Ψ(r, θ) as a function of β. The results show that the streamline pattern is almost symmetric, even for moderately large β values. 50 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 63. 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Radial distance from particle surface Normalizedelectricfieldradialcomponent 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Radial distance from particle surface (scaled by e β/2 )Normalizedelectricfieldradialcomponent 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 10 −2 10 −1 β E r boudarylayerwidth Numerical results Points to fit Exponential fit 0.192 e −0.498 β 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 10 0 10 1 β E r (r=1,θ=0)/β Numerical results Points to fit Exponential fit 1.237 e 0.417 β Figure 3.19: Electric field boundary layer formation: grid size 512 × 512, Rmax = 30, Du = 1, ¯ζ = 10, α = 0.5. The upper left graph shows normalized electric field radial component Er near the particle front (θ = 0). The numerical results for e(ρ) = Er(r = 1 + ρ, θ = 0) are normalized by ˆe(ρ) = (e(ρ) − β) / (e(0) − β), where e(ρ = ∞) = β. The normalized electric field satisfies ˆe(ρ) ∈ [0, 1] and is shown as function of ρ = r − 1 at the upper left graph and as function of ρe0.5β at the upper right graph. In order to estimate the width of the boundary layer, for each β, we compute the value of ¯ρ(β) = minρ{ρ : ˆe(ρ) < 0.5}. Each such ¯ρ(β) is plotted at the left graph as a solid dot on the corresponding line. In addition, ¯ρ(β) is plotted as a function of β using logarithmic y axis at the lower left graph to show that ¯ρ(β) ≈ 0.2e−0.5β. Moreover, Er(β; r = 1, θ = 0)/β grows exponentially as a function of β, as shown at the lower right graph. Thus, a boundary layer is indeed forming near the front of the particle. 51 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 64. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Radial distance from particle surface Ionconcentration(C) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 10 −1 10 0 Electric field magnitude (β) C(r=1,θ=0) Numerical results Points to fit Exponential fit 0.937 e−0.445 β Figure 3.20: Ionic concentration boundary layer formation: grid size 512 × 512, Rmax = 30, Du = 1, ¯ζ = 10, α = 0.5. The left graph shows the ionic concentration C near the particle front (θ = 0). In addition, Cβ(r = 1, θ = 0) is plotted as a function of β using logarithmic y axis at the right graph to show that Cβ(r = 1, θ = 0) ≈ 0.94e−0.45β . The ionic concentration becomes very close to zero for β ≈ 7 at r = 1, creating a singularity near the particle front. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0.98 1 1.02 1.04 1.06 1.08 1.1 1.12 1.14 β C⋅E r /βatr=1,θ=0 Figure 3.21: The product of C(r = 1, θ = 0)Er(r = 1, θ = 0)/β as a function of β. 52 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 65. 3.3 Discussion A numerical framework for a nonlinear electrokinetic transport system is developed. The framework is used to construct numerical solvers for two electrokinetic problems: the migration of ion-exchangers and surface-charged inert particle electrophoresis. The numerical results for weak electric field exhibit a good correspondence to the asymptotic models as shown above. Two interesting phenomena (cubic regime and downstream vortex) were predicted for the ion-exchanger using the numerical results, and were verified using an asymptotic expansion of the nonlinear system. The electrophoresis problem was solved on a high-resolution grid to confirm the asymptotic cubic correction of the steady-state velocity, as well as to provide insights into the solution behavior for moderately strong electric fields. For strong electric field, the nonlinear effects become dominant and a boundary-layer structure begins to form. Due to diminishing ion concentration C at the front of the particle, a boundary layer of thickness approximately 0.2e−0.5β is formed with respect to the electric field E at the front of the particle. The value of Er/β at (r = 1, θ = 0) is given approximately by eβ/2, while the value of C(r = 1, θ = 0) is given approximately by e−β/2, and their product remains close to 1 for all β that we could compute (as shown in Figure 3.21). However, the velocity of the particle remains nearly linear with β and the velocity field is very close to being symmetric. Finally, we emphasize the importance of the analytical asymptotic derivation. This approach provides effective boundary conditions for the macroscale problem and thus eliminates the inherent physical scale disparity. This elimination enables the construction of the numerical scheme. Furthermore, the analytical asymptotic solutions for the weak field regime enable important mutual verification of the numerical results. 3.4 Future Work Future work may include using the numerical results described in this work to develop an analytical solution for the strong field regime of the electrophoresis problem, which is of interest. The solver may be used to investigate how the solution (and the evolving boundary layer, in particular) depends on the problem parameters. Optimizing the direct sparse linear solver can be done by using the ordering data from previous calls, or replacing the full Newton step by an iterative linear solver (e.g., using preconditioned Krylov subspace methods [29] or Multigrid), allowing finer grids to be used. In order to achieve high numerical accuracy, the grid discretization should be made finer near the particle surface (at r = 1), while Rmax can be made smaller. Moreover, a different discretization scheme may be used for the r coordinate, to have higher grid resolution near the particles. In addition, the continuation of the solution between different β values should advance in finer steps, to ensure Newton method convergence. The discretization of boundary conditions far away from the particle may be improved by including the linear correction from the asymptotic solution, or reformulation of far-away boundary condition according to the asymptotic behavior of the analytic solution far away from the particle. Moreover, the framework may be used for automatic construction of Newton solvers for other nonlinear PDE systems, for example, for particles with different surface properties, or different particle shape. 53 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 66. Appendix A Effective Boundary Conditions A.1 Debye layer scaling We define the scaled coordinate ρ (normal to ion-exchanger surface), where δ ≪ 1: ρ = r − 1 δ . (A.1) Thus, the electric potential and the ionic concentrations are O(1) at the Debye layer (r ≈ 1): ϕ(ρ, θ) ∼ ϕ, (A.2) c±(ρ, θ) ∼ c±, (A.3) c(ρ, θ) ∼ c, (A.4) q(ρ, θ) ∼ q. (A.5) The radial fluxes at the Debye layer are O(δ−1), due to coordinate rescaling: j±(ρ, θ) ∼ δ−1 j±. (A.6) The pressure is O(δ−2), due to momentum balance equations: p(ρ, θ) ∼ δ−2 p. (A.7) The tangential velocity component is O(1) and the radial component is O(δ). 54 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 67. A.2 Ion Fluxes In order to match bulk O(1) outer radial ionic flux, the O(δ−1) term of the inner ionic radial flux, j±(ρ, θ) must vanish: − ∂c± ∂ρ ∓ c± ∂ϕ ∂ρ = 0, (Φ − ϕ) ± (log C± − log c±) = 0, (A.8) Φ − ϕ ± log C± c± = 0. This relation can be rewritten as a Boltzmann distribution of c±, where limρ→∞ c± = C, c± = C exp [±(Φ − ϕ)] . (A.9) A.3 Electric Potential The leading-order Laplace equation in the Debye layer reads ∂2ϕ ∂ρ2 = −q = − c+ − c− 2 = − C 2 (exp [+(Φ − ϕ)] − exp [−(Φ − ϕ)]) = C sinh(ϕ − Φ). (A.10) Denote ψ = ϕ − Φ, so that ψ(0) = V − Φ = ζ and ψ(ρ → ∞) = 0: ∂2ψ ∂ρ2 = C sinh(ψ) = 2C sinh ψ 2 cosh ψ 2 , 2 ∂ψ ∂ρ ∂2ψ ∂ρ2 = 4C sinh ψ 2 cosh ψ 2 ∂ψ ∂ρ , (A.11) ∂ ∂ρ ∂ψ ∂ρ 2 = ∂ ∂ρ 2 √ C sinh ψ 2 2 . Integrating with respect to boundary condtions yields: ∂ψ ∂ρ = −2 √ C sinh ψ 2 = −4 sinh ψ 4 cosh ψ 4 √ C = −4 tanh ψ 4 cosh2 ψ 4 √ C, 1/tanh ψ 4 4 cosh2 ψ 4 ∂ψ ∂ρ = − √ C, (A.12) ∂ ∂ρ log tanh ψ 4 = ∂ ∂ρ −ρ √ C . 55 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 68. Integrating with respect to boundary condtions yields: log tanh ψ 4 − log tanh ζ 4 = −ρ √ C, ψ = ϕ − Φ = 4 tanh−1 tanh ζ 4 · e−ρ √ C . (A.13) A.4 Radial Momentum Leading-order O(δ−3) radial momentum balance in the Debye layer yields: − ∂p ∂ρ + ∂ϕ ∂ρ ∂2ϕ ∂ρ2 = 0. (A.14) One integration yields: p = 1 2 ∂ϕ ∂ρ 2 = 1 2 ∂ψ ∂ρ 2 . (A.15) A.5 Tangential Momentum Leading-order O(δ−2) tangential momentum balance in the Debye layer yields: 0 = ∂2vθ ∂ρ2 − ∂p ∂θ + ∂ϕ ∂θ ∂2ϕ ∂ρ2 , ∂2vθ ∂ρ2 = 1 2 ∂ ∂θ ∂ψ ∂ρ 2 − ∂(ψ + Φ) ∂θ ∂2ψ ∂ρ2 = ∂ ∂θ 2C sinh2 ψ 2 − ∂ψ ∂θ C sinh ψ − ∂Φ ∂θ ∂2ψ ∂ρ2 = ∂ ∂θ (C (cosh ψ − 1)) − C sinh ψ ∂ψ ∂θ − ∂Φ ∂θ ∂2ψ ∂ρ2 (A.16) = ∂C ∂θ (cosh ψ − 1) − ∂Φ ∂θ ∂2ψ ∂ρ2 = ∂C ∂θ 2 sinh2 ψ 2 − ∂Φ ∂θ ∂2ψ ∂ρ2 = − ∂C ∂θ 2 √ C 1 2 sinh ψ 2 ∂ψ ∂ρ − ∂Φ ∂θ ∂2ψ ∂ρ2 = − ∂C ∂θ 2 √ C ∂ ∂ρ cosh ψ 2 − ∂Φ ∂θ ∂2ψ ∂ρ2 . By integrating from specific ρ to ρ → ∞ (where ψ = 0): ∂vθ ∂ρ = − ∂C ∂θ 2 √ C cosh ψ 2 − 1 − ∂Φ ∂θ ∂ψ ∂ρ = − ∂C ∂θ 4 √ C sinh2 ψ 4 − ∂Φ ∂θ ∂ψ ∂ρ . (A.17) Note that: ∂ψ ∂ρ = −2 √ C sinh ψ 2 = −4 √ C sinh ψ 4 cosh ψ 4 , (A.18) −4 sinh ψ 4 = 1/ cosh ψ 4√ C ∂ψ ∂ρ . (A.19) 56 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 69. Thus: ∂vθ ∂ρ = ∂C ∂θ 1 C · sinh ψ 4 cosh ψ 4 ∂ψ ∂ρ − ∂Φ ∂θ ∂ψ ∂ρ = 4 ∂ ∂ρ log cosh ψ 4 ∂ ∂θ log C − ∂ψ ∂ρ ∂Φ ∂θ , (A.20) ∂vθ ∂ρ = ∂ ∂ρ 4 log cosh ψ 4 ∂ ∂θ log C − ψ ∂Φ ∂θ . (A.21) By integrating from ρ = 0 to ρ → ∞, we have Dukhin-Derjaguin slip formula for tangential velocity component Vθ (where the radial component is Vr = 0) for ζ = V − Φ: Vθ = ζ · ∂Φ ∂θ − 4 log cosh ζ 4 · ∂ ∂θ log C = ζ · ∂Φ ∂θ + 2 log 1 − tanh2 ζ 4 · ∂ ∂θ log C. (A.22) 57 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 70. Appendix B Differential operators in spherical coordinates The following spherical coordinate system is used: x = r sin θ cos φ y = r sin θ sin φ (B.1) z = r cos θ Assume full symmetry around z axis – there is no dependence on φ: ∇f = ∂f ∂r ˆr + 1 r ∂f ∂θ ˆθ + 1 r sin θ ∂f ∂φ ˆφ (B.2) ∇·F = 1 r2 ∂ ∂r r2 · Fr + 1 r sin θ ∂ ∂θ (sin θ · Fθ) + 1 r sin θ ∂Fφ ∂φ (B.3) B.1 Scalar Operators Scalar Laplacian derivation: ∇2 f = ∇·∇f = 1 r2 ∂ ∂r r2 ∂f ∂r + 1 r2 sin θ ∂ ∂θ sin θ · ∂f ∂θ + 1 r2 sin2 θ ∂2f ∂φ2 (B.4) In conservative form: r2 sin θ · ∇2 f = ∂ ∂r r2 sin θ ∂f ∂r + ∂ ∂θ sin θ · ∂f ∂θ + ∂ ∂φ 1 sin θ · ∂f ∂φ (B.5) 58 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 71. The unit vectors in spherical coordinate system are: ˆr = ∂r ∂r =    sin θ cos φ sin θ sin φ cos θ    , ˆθ = 1 r ∂r ∂θ =    cos θ cos φ cos θ sin φ − sin θ    , ˆφ = 1 r sin θ ∂r ∂φ =    − sin φ cos φ 0    (B.6) Note that: ∂ˆr ∂r = 0, ∂ˆθ ∂r = 0, ∂ ˆφ ∂r = 0, ∂ˆr ∂θ = ˆθ, ∂ˆθ ∂θ = −ˆr, ∂ ˆφ ∂θ = 0, (B.7) ∂ˆr ∂φ = sin θ · ˆφ, ∂ˆθ ∂φ = cos θ · ˆφ, ∂ ˆφ ∂φ = − sin θ · ˆr − cos θ · ˆθ. B.2 Vector Operators Vector gradient operator can be written by: ∇V = ˆr ∂ ∂r + ˆθ 1 r ∂ ∂θ + ˆφ 1 r sin θ ∂ ∂φ V = ˆr ∂ ∂r + ˆθ 1 r ∂ ∂θ + ˆφ 1 r sin θ ∂ ∂φ Vrˆr + Vθ ˆθ + Vφ ˆφ ∂V ∂r = ∂Vr ∂r ˆr + ∂Vθ ∂r ˆθ + ∂Vφ ∂r ˆφ ∂V ∂θ = ∂Vr ∂θ ˆr + ∂Vθ ∂θ ˆθ + ∂Vφ ∂θ ˆφ + Vr ˆθ − Vθˆr (B.8) ∂V ∂φ = ∂Vr ∂φ ˆr + ∂Vθ ∂φ ˆθ + ∂Vφ ∂φ ˆφ + Vr sin θˆφ + Vθ cos θˆφ − Vφ ˆr sin θ + ˆθ cos θ ∇V =    1 0 0 0 1 r 0 0 0 1 r sin θ       ∂Vr ∂r ∂Vθ ∂r ∂Vφ ∂r ∂Vr ∂θ − Vθ ∂Vθ ∂θ + Vr ∂Vφ ∂θ ∂Vr ∂φ − Vφ sin θ ∂Vθ ∂φ − Vφ cos θ ∂Vφ ∂φ + Vr sin θ + Vθ cos θ    Vector Laplacian components can be written as: ∇2 V = ∇ · ∇V = 1 r2 ∂ ∂r r2 ∂V ∂r + 1 r2 sin θ ∂ ∂θ sin θ ∂V ∂θ + 1 r2 sin2 θ ∂ ∂φ ∂V ∂φ (B.9) 59 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 72. ˆr component: ∇2 (Vrˆr) = 1 r2 ∂ ∂r r2 ∂Vr ∂r ˆr + 1 r2 sin θ ∂ ∂θ sin θ ∂Vr ∂θ ˆr + Vr ˆθ + 1 r2 sin2 θ ∂ ∂φ ∂Vr ∂φ ˆr + Vr sin θˆφ ∇2 (Vrˆr) = 2 r ∂Vr ∂r + ∂2Vr ∂r2 ˆr (B.10) + 1 r2 sin θ cos θ ∂Vr ∂θ ˆr + Vr ˆθ + sin θ ∂2Vr ∂θ2 ˆr + ∂Vr ∂θ ˆθ + ∂Vr ∂θ ˆθ − Vrˆr + 1 r2 sin2 θ ∂2Vr ∂φ2 ˆr + ∂Vr ∂φ sin θˆφ + ∂Vr ∂φ ˆφ sin θ − Vr sin θ ˆr sin θ + ˆθ cos θ ∇2 (Vrˆr) = 2 r ∂Vr ∂r + ∂2Vr ∂r2 − 2Vr r2 + 1 r2 ∂2Vr ∂θ2 + cot θ r2 ∂Vr ∂θ + 1 r2 sin2 θ ∂2Vr ∂φ2 ˆr + 2 r2 ∂Vr ∂θ ˆθ + 2 r2 sin θ ∂Vr ∂φ ˆφ ˆθ component: ∇2 (Vθ ˆθ) = 1 r2 ∂ ∂r r2 ∂Vθ ∂r ˆθ + 1 r2 sin θ ∂ ∂θ sin θ ∂Vθ ∂θ ˆθ − Vθˆr + 1 r2 sin2 θ ∂ ∂φ ∂Vθ ∂φ ˆθ + Vθ cos θˆφ ∇2 (Vθ ˆθ) = 2 r ∂Vθ ∂r + ∂2Vθ ∂r2 ˆθ (B.11) + 1 r2 sin θ cos θ ∂Vθ ∂θ ˆθ − Vθˆr + sin θ ∂2Vθ ∂θ2 ˆθ − ∂Vθ ∂θ ˆr − ∂Vθ ∂θ ˆr − Vθ ˆθ + 1 r2 sin2 θ ∂2Vθ ∂φ2 ˆθ + ∂Vθ ∂φ cos θˆφ + ∂Vθ ∂φ cos θˆφ − Vθ cos θ ˆr sin θ + ˆθ cos θ ∇2 (Vθ ˆθ) = − 2 cot θ r2 Vθ − 2 ∂Vθ ∂θ ˆr + 2 r ∂Vθ ∂r + ∂2Vθ ∂r2 + cot θ r2 ∂Vθ ∂θ + 1 r2 ∂2Vθ ∂θ2 ˆθ + 1 r2 sin2 θ ∂2Vθ ∂φ2 − Vθ ˆθ + 2 cot θ r2 sin θ ∂Vθ ∂φ ˆφ 60 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 73. ˆφ component: ∇2 (Vφ ˆφ) = 1 r2 ∂ ∂r r2 ∂Vφ ∂r ˆφ + 1 r2 sin θ ∂ ∂θ sin θ ∂Vφ ∂θ ˆφ + 1 r2 sin2 θ ∂ ∂φ ∂Vφ ∂φ ˆφ − Vφ ˆr sin θ + ˆθ cos θ ∇2 (Vφ ˆφ) = 1 r2 ∂ ∂r r2 ∂Vφ ∂r ˆφ + 1 r2 sin θ ∂ ∂θ sin θ ∂Vφ ∂θ ˆφ (B.12) + 1 r2 sin2 θ ∂ ∂φ ∂Vφ ∂φ ˆφ − Vφ ˆr sin θ + ˆθ cos θ ∇2 (Vφ ˆφ) = 2 r ∂Vφ ∂r + ∂2Vφ ∂r2 ˆφ + 1 r2 sin θ cos θ ∂Vφ ∂θ + sin θ ∂2Vφ ∂θ2 ˆφ + 1 r2 sin2 θ ∂2Vφ ∂φ2 ˆφ − 2 ∂Vφ ∂φ ˆr sin θ + ˆθ cos θ − Vφ ˆφ In summary: ∇2 V = ∇2 Vr − 2Vr r2 ˆr + 2 r2 ∂Vr ∂θ ˆθ + 2 r2 sin θ ∂Vr ∂φ ˆφ − 2 r2 sin θ ∂ (Vθ sin θ) ∂θ ˆr + ∇2 Vθ − Vθ r2 sin2 θ ˆθ + 2 cot θ r2 sin θ ∂Vθ ∂φ ˆφ (B.13) − 2 r2 sin θ ∂Vφ ∂φ ˆr − 2 cot θ r2 sin θ ∂Vφ ∂φ ˆθ + ∇2 Vφ − Vφ r2 sin2 θ ˆφ Since Vφ = 0 and ∂ ∂φ (·) = 0, we get: ∇2 V = ∇2 Vr − 2Vr r2 − 2 r2 sin θ ∂ (Vθ sin θ) ∂θ ˆr + ∇2 Vθ − Vθ r2 sin2 θ + 2 r2 ∂Vr ∂θ ˆθ ∇2 V = 1 r2 ∂ ∂r r2 ∂Vr ∂r + 1 r2 sin θ ∂ ∂θ sin θ · ∂Vr ∂θ − 2Vr r2 − 2 r2 sin θ ∂ (Vθ sin θ) ∂θ ˆr (B.14) + 1 r2 ∂ ∂r r2 ∂Vθ ∂r + 1 r2 sin θ ∂ ∂θ sin θ · ∂Vθ ∂θ − Vθ r2 sin2 θ + 2 r2 ∂Vr ∂θ ˆθ 61 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 74. Bibliography [1] E. Yariv. Migration of ion-exchange particles driven by a uniform electric field. Journal of Fluid Mechanics, 655:1–17, 2010. [2] O. Schnitzer and E. Yariv. Macroscale description of electrokinetic flows at large zeta potentials: Nonlinear surface conduction. Phys. Rev. E, 86:021503, Aug 2012. [3] J. H. Masliyah and S. Bhattacharjee. Electrokinetic and Colloid Transport Phenomena. John Wiley & Sons, Inc., 2005. [4] B. Kirby. Micro- and Nanoscale Fluid Mechanics – Transport in Microfluidic Devices. Cambridge Univ Press, 2010. [5] E. Yariv. An asymptotic derivation of the thin-Debye-layer limit for electrokinetic phenomena. Chemical Engineering Communications, 197(1):3–17, 2010. [6] G.M. Whitesides. The origins and the future of microfluidics. Nature, 442(7101):368–373, 2006. [7] D. Erickson and D. Li. Integrated microfluidic devices. Analytica Chimica Acta, 507(1):11–26, 2004. [8] T.M. Squires and S.R. Quake. Microfluidics: Fluid physics at the nanoliter scale. Reviews of modern physics, 77(3):977, 2005. [9] S. Hardt and F. Sch¨onfeld. Microfluidic technologies for miniaturized analysis systems, vol- ume 18. Springer, 2007. [10] A. Wainright, U.T. Nguyen, T.L. Bjornson, and T.D. Boone. Preconcentration and separation of double-stranded dna fragments by electrophoresis in plastic microfluidic devices. Electrophoresis, 24(21):3784–3792, 2003. [11] H. Wu, A. Wheeler, and R.N. Zare. Chemical cytometry on a picoliter-scale integrated microflu- idic chip. Proceedings of the National Academy of Sciences of the United States of America, 101(35):12809–12813, 2004. [12] R. Weinberger. Practical capillary electrophoresis. Academic Press San Diego, CA:, 1993. [13] K.M. Horsman, J.M. Bienvenue, K.R. Blasier, and J.P. Landers. Forensic dna analysis on microfluidic devices: a review. Journal of forensic sciences, 52(4):784–799, 2007. 62 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 75. [14] MV Kothare. Dynamics and control of integrated microchemical systems with application to micro-scale fuel processing. Computers & chemical engineering, 30(10):1725–1734, 2006. [15] F. C. Leinweber and U. Tallarek. Nonequilibrium electrokinetic effects in beds of ion- permselective particles. Langmuir, 20(26):11637–11648, 2004. PMID: 15595793. [16] M.W. Losey, M.A. Schmidt, and K.F. Jensen. Microfabricated multiphase packed-bed reactors: Characterization of mass transfer and reactions. Industrial & engineering chemistry research, 40(12):2555–2562, 2001. [17] S.J. Kim, S.H. Ko, K.H. Kang, and J. Han. Direct seawater desalination by ion concentration polarization. Nature Nanotechnology, 5(4):297–301, 2010. [18] J.T. Santini Jr, A.C. Richards, R. Scheidt, M.J. Cima, and R. Langer. Microchips as controlled drug-delivery devices. Angewandte Chemie International Edition, 39(14):2396–2407, 2000. [19] A. Bard and L Faulkner. Electrochemical Methods - Fundamentals and Applications. Wiley, 2001. [20] Shau-Chun Wang, Yi-Wen Lai, Yuxing Ben, and Hsueh-Chia Chang. Microfluidic mixing by dc and ac nonlinear electrokinetic vortex flows. Industrial & Engineering Chemistry Research, 43(12):2902–2911, 2004. [21] Y. Ben and H.-C. Chang. Nonlinear smoluchowski slip velocity and micro-vortex generation. Journal of Fluid Mechanics, 461:229–238, 2002. [22] J.H. Ferziger and J.H.F.M. Peri´c. Computational Methods for Fluid Dynamics. Springer-Verlag GmbH, 2002. [23] J. Strikwerda. Finite difference schemes and partial differential equations. Society for Industrial Mathematics, 2004. [24] A. Sidi. Practical extrapolation methods: theory and applications, volume 10. Cambridge Uni- versity Press, 2003. [25] R. Zeyde. Electrokinetic Solver Source Code. http://github.com/romanz/thesis. [26] Timothy A. Davis. Algorithm 832: Umfpack v4.3—an unsymmetric-pattern multifrontal method. ACM Trans. Math. Softw., 30(2):196–199, June 2004. [27] O. Schnitzer, R. Zeyde, I. Yavneh, and E. Yariv. Non-linear electrophoresis of a highly charged colloidal particle. Submitted to Phyiscs of fluids, 2013. [28] Technion Taub Computer Center. TAMNUN HPC cluster. http://hpc.technion.ac.il/. [29] Y. Saad. Iterative Methods for Sparse Linear Systems. SIAM, 2003. 63 Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 77. Þ Ý Û Ô Û Ü ÛÐ ÓÒ Ü Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 79. Þ Ý Û Ô Û Ü ÛÐ ÜÛ Ò ÐÖ Ü Ü Þ ÞÐ ÛÐ Þ Ý Ü ÐÝ ÛÐ Ð Ò ÑÝÐ Ý Ò Ö Ò Ñ Ö ÒÐ Ü Õ Ò ÓÒ Ü Ð ÜÝ Ð Ð Ô Ó Ò ¹ Ó Ô ÔÕÐ Ý ¾¼½¿ ÙÜÒ Ø ÖÝÞ³ Ü Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 81. º Ý Ò Ö ÒÐ Ð ÛØ Ô Ü Ö ³Ø ÜØ Þ Ô ÝÖÔ ÜÛ Ò Þ Þ Ü Ü Ö Ñ Ð Ö Ò Ñ Ô ¸ÐÐ ÓÒ Þ Ú Ô ÐÖ ¸ Ô Ü Ö ³Ø ÜØ ¸ ÐÝ ÔÒÐ Þ Ð Ô ÚÜ ºÑ Þ ÒÞÐ Ñ Þ ÐÖ ¸Þ Ð ¸ ÞÝ Ð Ò ¸ Þ ØÝÒÐ Ó ¸ Ü Ð Ò º Þ ÒÐÞÝ Ô Þ ØÕ ÒÞ ÐÖ Ó Ô Ð Ò Ô Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013
  • 83. Ü ÚÛÞ Ò Ý ÐÝ ÖØÝ Þ Þ Ð Ü ÛÐ ÞÕ ÒÞ Ñ Û ÛÐ ÐÝ Þ Ô Û Ü ÛÐ Ö ÔÞ Þ Ñ ÜÛ Ô Ö Ñ Ð Þ Þ ÖÚÒ º ÕÒ Þ Ü Ô Ð¹ Ð Þ ÐÛ Ø Þ Ö ÐÝ Ü Ó ÜÞØÐ Þ ÜÒ Ô Þ ÞÝÞ Ñ ÞØÒ ¸ ÐÒÝ Ò Ü ¸ Ð Ô ¹ ÔÔ Ó ¸Ñ Ô Ý Ñ Ò Þ Ñ Ü Ö Ñ Û ÛÐ Þ ÚÐ Ø ÔÒ ÖÚ Ð Ö Ô Ð ÓÞ Ô Ñ Ô Û Ü ÛÐ ØÝ Þ Ý ÞÜÚ Ô ¸Ñ Û Ñ Õ Ü ÛÐ Þ ÐÝ º Ö Ü Ø Ü ÛÐ ¸Ñ Ò ÞÐØÞ ¸ Û Ô ÜØ ¸ Ü Ö Ó ÜÞØÐ Ö Ð Ý Û ÜÚ Ô ¸ ØÝ Þ Ý ÞÐ ÛÕ Ó Ð Û ÛÐ ÞÐ ÛÕ Ó ÜÖØ ÛÖ ºÛ ÛÐ ÔØÐ ÜÛ Û º ÐÒ Ö ÐÝ ÜÒ Ô Þ Ò Þ Ô Þ ØÝ Þ Ý ÐÝ Þ ØÒ Õ ÐÔ Ò Ñ Ð ÛÞÒ Ñ ÛØ ØÝ ÔÞ Ý Ò Ý Ñ Ý Ö Ô Ñ ÜÔ Ñ Û ÛÐ Ñ Ô Ø Ð Ò Ü Ö ÜÚ ÔÝ Ü Ü ³Ø ÜØ ÐÖ Þ Ø Ð ØÝ ÔÞ ºÛ ÛÐ ÐÝ ºÛ ÛÐ ÞÐ ÛÕ Þ Ü Ô Ð¹ Ð Ö Ó ÜÞØÐ ÜÒ Ô ÜÞ Ø Þ Ô Ü ÚÐ Ñ ÝÒÞÝÒ Ô Ñ ¸ ØÝ ÓÖ Ò ÐÖ Þ ÜÒ Ô Þ ÞÝÞ Ñ ÞØÒ ¸Ñ ÛØ ØÝ ÔÞ ÐÝ Þ Ð ÚÔÜØ Þ ÝÒ ÐÝ Ú ÜÛÕ Ñ ÖÚ Ò Ô ÞÖ ÔÞÐ Þ ÜÒ Ô Þ Ú Þ ÞÐ Û ÜÝØ Ò ÜÞ Ø ºÓ Ô Þ Ý Ü ÜÞ Ø ÐÝ Þ Ò Ô ÞÜÝØ Ò ÜÝ ÐÖ ÞÒ Ñ ÝÐ Þ Ý Ü Ö Þ Ú Þ ºÐÖØ Ò ÐÒÝ Ý ÞÒÚ Ö ÓÞÔ ¸Ð ÖÐÝ Õ Ò Ñ Û ÛÐ Þ Ý Þ Ô ÜÞØ Ô Ý ÜÐ ÜÒ Ô ÜÞ Ø Þ ÖÚÒ ÔÐ Û ¸Ó Ò º Ö ÐÝ Ñ ØÒ Õ Þ Ô ÜÞØÐ Ý ¸Ñ Û Þ Ý Þ ÜÖÒ Ø ÐÖ ÒÐÐ ÓÞ Ô Ð Þ Ô ÜÞØÒ ºÑ ØÒ Õ Ñ Ü Û Ó Ö Ñ Ð Ó ÜÝ ¸Ñ Û ºÛ ÛÐ Þ ÞÜÚ Ô ÜÝ ÞØÕ Ô ØÝ Þ Ý ÐÝ Þ ØÒ Õ Þ ÔÞ ÐÐ Þ ÐÛ Ø Ö ÜÝ ºÑ Ô ÞÕ ÒÞ Þ Þ ÐÒÝ Ñ Ô Ö Ñ Û ÛÐ ÐÝ Û ÒÔ Þ ÞÜ ÞÒ Þ Ô Û Ü ÛÐ Ü Þ ÞÜÚ Ô Ñ ÐÒÝ ÝÒ Þ Þ ÛÖ Ô ÓÖ Ò ÞÐÖ Ñ Ô Þ Ý ÞÜÚ Ô ¸ ÞØÝ ÔØ ÐÖ ÓÖ Ò Ü Ú Û ÛÐ Û ÛÐ ÐÝ ØÝ ÓÖ Ò Þ Þ ÕÒÒ ¸³³ Þ Ý³³ Þ ÜÛÔ ¸ Ý ºÛ ÛÐ Ð Õ Ð Ø Ý ÐÝ Ô Ò Ó Û Ý Ü ÜÛÒ º ÝÐ Ù Ò ÐÜ Ô Ð Ô Ó Ð Û ÛÐ ÞØÝ Ó Ð ÚÔ Ø ÝÜØ ÛÖ ÞÜÚ º ØÝ Þ Ý Û ÒÔ ÐÝ ØÒ Õ ÐÔ Ó ÜÞØ ÞØÐ ÓÞ Ô ¸Û ÛÐ ÒÒ ÜÝ Ò Þ ÖÒÝÒ ÓØ ØÝ ÔÞ ºÑ Ô Ü ¸Ù Ð Ð Ô Þ Ü Ò ¸ ÐÒÝ Ð ÚÔ Ø Ñ Þ Ô Û Ü ÛÐ Ò Ü Þ Ö Ñ ÔÞÝÒ ºÐ Ô ÐÝ Û ÒÔ Þ Ò Þ Ô Þ ¸Û ÛÐ ÞÜ Ú ÐÖ Ñ Ö ÛÔ Þ Ø ÚØÕ Ö ÔÞÐ Ñ Þ Ñ Ü Ò Ô Ú ÐÒÝ Ý ÐÝ ÞÖØÝ Þ Þ Þ ÜÖÒ Þ ÔÞ Þ Þ Ü ÞÒ ÜÝ Þ ÛÐ Þ Ð ÚÔÜØ Þ ÝÒ Þ Ð ÛÕ ÜÖØ ÑÖ ÒÞ Ð ÜÒ Ô ÜÞ Ø Ð ÐÖ ¸Ó Ò ºÖ ÐÔ Ó ÜÞØ ÐÐ ¸Þ Ü Ô Ð¹ Ð ¸Þ Ò ÚÒ Ó ºÛ ÛÐ ÒÒ ÞÒ ÖÐ Þ Þ ÖÒÝÒ Ó Û ØÝ Þ Ý ÖÝ Ò Ú Þ ÜÚ ÔÝ Technion-ComputerScienceDepartment-M.Sc.ThesisMSC-2013-12-2013