-
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:: 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
- 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
\[ ε e ∇ 2\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} =ψ o -ψ e \]
- 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 \( Ω \)
\[ ∫ Ω [ ∇ \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 \)
- 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 \)
- 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?