Skip to content
MaxCan-Code edited this page Nov 14, 2021 · 2 revisions

Electrolocation with Active Electric Field

Intro

Electrolocation

\subsecname

\subsecname

  • Some fish can detect object in murky water
  • How do they do it? ‘see’ change in electric field
  • Pick up perturbation on their skin (receptor plane)
  • Same ability, different methods

\subsecname

\subsecname

Weakly electric fish are able to detect and localize prey based on microvolt-level perturbations in the fish’s self-generated electric field [fn:: Chen 2005]

  • We can simulate that
  • with finite elements method (FEM) and FEniCS

Why do it?

  • Electrosensory robots [fn:: Lebastard et al., 2016; Solberg et al., 2008]
  • Develop tool for researchers
  • Test analytical approx for sphere

How it works

\subsecname

  • Conductors/dielectrics perturbs its generated field
  • Electrical properties of different objects: diff perturbations

\subsecname

Model

Idea

\subsecname

  • Compute perturbation in field (diff in electrostatic potential)
  • Variable coefficient Poisson equation in 3D
  • Infinite domain, approximate on finite mesh
  • Natural (Neumann) BC: (\( ∇ ψ \cdotp \vec n = 0 \)) on boundary

Model field as

  • Self-generated field: plane of point charges
  • Flat fish in 3D

Assumptions

\subsecname

  • Linear, homogeneous, isotropic sphere and cube
  • No fish body, just receptor and charge plane
  • If uniform body, change magnitude only not shape

Formulation

\subsecname

\[ ε e2\underbrace{ψ e}\text{Empty field} = \underbrace{∑ qi δ (xi )}\text{point sources} \]

  • sum of \( δ(xi) \)s approximates generated field [fn:: Chen 2005]
  • Field perturbed by dielectric object \( S \) (\( ψ o \)):

\[ ∇ \cdotp (ε ∇ ψ o )=∑ qi δ (xi ), \qquad ε =\begin{cases} ε i & \text{internal to } S
ε e & \text{external to } S \end{cases} \]

\[ \underbrace{δ ψ }\text{Perturbation} =ψ oe \]

Methods

FEniCS

\subsecname

\subsecname

  • Open-source FEM solver for PDEs
  • Components for:
    • C++ backend, Python interface (DOLFIN)
    • Compiler for math expressions (FFC)
    • Generating FE basis functions (FIAT)
    • Language for variational problems (UFL)
    • Mesh generation (mshr)

\subsecname

FEM

Variational Formulation [fn:: The FEniCS Tutorial]

  • Multiply the PDE by a function \( v \)
  • Integrate the resulting equation over the domain \( Ω \)

\[ ∫ Ω [ ∇ \cdotp (ε ∇ ψ o )] v\ \mathrm{d} x = ∫ Ω fv\ \mathrm{d} x = ∑ qiΩ δ (xi )v\ \mathrm{d} x \]

  • Integrate by parts

\[ ∫ Ω ε ∇ ψo \cdotp ∇ v\ \mathrm{d} x = ∑ qi v(xi ) \]

  • Weaker continuity requirement on \( ε\psio \)

FE Basis

\subsecname

  • finite element function \( u \) is expressed as a linear combination of basis functions \( φj \)

\[ u≈ ∑ Uj φ j \]

  • sub \( u \) into variational problem and solve for \( Uj \)

Example basis \( φj \)

Example basis \( φj \) approximates discrete delta: exact accuracy on grid functions

Verification

Refinement

\subsecname

  • error near singularity and object
  • mark then refine

Convergence

  • No analytical solution on finite domain
  • Test problem: single point charge

\begin{equation*} ∇ 2 ψ =qδ ( 0) \end{equation*}

  • Analytical solution on infinite domain:

\begin{equation*} ψ =\frac{q}{ε | \mathbf{r}| } \end{equation*}

  • Choose R to approximate infinite domain
  • Point-wise error where perturbation occurs
  • 3 parameters: R, initial cells, refinements

\subsecname

  • Dir BC: 2 refinements
  • 64: more points on boundary
  • interpolation error
initial cells
/ <
16 32 64
50 3.141E-02 -1.336E-04 -8.438E-04
R 75 3.371E-02 -8.959E-04 -2.021E-03
100 1.043E-02 -9.038E-03 -2.091E-03

Conclusion

\subsecname

  • Works on test problems
  • Perturbations happen

Future Work

  • Viable for test sensitivity to geometry
  • Use HPC
  • Modelling package
  • Time dependent simulations
  • Size & geometry of object in non uniform field?