-
Notifications
You must be signed in to change notification settings - Fork 0
prez
- 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
Weakly electric fish are able to detect and localize prey based on microvolt-level perturbations in the fish’s self-generated electric field [fn:1]
- We can simulate that
- with finite elements method (FEM) and FEniCS
Why do it?
- Electrosensory robots [fn:2]
- understand & test tech
- understand fish behaviour
- Test analytical approx for sphere
[fn:1] Chen 2005
[fn:2] Lebastard et al., 2016; Solberg et al., 2008
- Conductors/dielectrics perturbs its generated field
- Electrical properties of different objects: diff perturbations
- 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
- Linear, homogeneous, isotropic sphere and cube
- No fish body, just receptor and charge plane
- If uniform body, change magnitude only not shape
\begin{equation*} ε e ∇ 2\underbrace{ψ e}\text{Empty field} =\underbrace{∑ qi δ (xi )}\text{point sources} \end{equation*}
- sum of \(δ(xi)\)s approximates generated field [fn:chens]
- 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} =ψ o -ψ e$$ [fn:chens] Chen 2005
- 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)
- Multiply the PDE by a function
$v$ - Integrate the resulting equation over the domain
$Ω$
\begin{equation*} ∫ Ω [ ∇ \cdotp (ε ∇ ψ o )] v\ \mathrm{d} x=∫ Ω fv\ \mathrm{d} x=∑ qi∫ Ω δ (xi )v\ \mathrm{d} x \end{equation*}
- Integrate by parts
\begin{equation*} ∫ Ω ε ∇ ψ o \cdotp ∇ v\ \mathrm{d} x=∑ qi v(xi ) \end{equation*}
- Weaker continuity requirement on $ε\psi o$
[fn:fen] The FEniCS Tutorial
- finite element function
$u$ is expressed as a linear combination of basis functions $φ j$
\begin{equation*} u≈ ∑ Uj φ j \end{equation*}
- sub
$u$ into variational problem and solve for $Uj$
- error near singularity and object
- mark then refine
- 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
- 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 |
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?