# How do I draw an angular vector field containing a domain wall?

Intuitively, an angular vector field $$\theta(x)$$ such as the following would describe a domain wall between two vortices/strings of opposite winding number.

I would like to draw this on a computer using Mathematica.

1. How do I do this? What vector field describes a configuration depicted above?
2. If it's not too much to ask, how do I model a time-evolving field which is constant at time $$t=0$$ and then as time evolves, the two vortices (fluxes) get created and separated to give the above configuration?

Edit:

I can draw a single vortex/string with the following code, for example. How do I introduce another vortex with a domain wall in between?

θnew[r0_] := ArcTan[r Sin[θ]/(r Sin[θ] - r0)]

field =
{FullSimplify[Cos[num (θ + α)] Cos[θ] + Sin[num (θ + α)] Sin[θ]],
FullSimplify[-Cos[num (θ + α)] Sin[θ] + Sin[num (θ + α)] Cos[θ]]} /.
num -> 1 /. α -> Pi/2 /. θ -> θnew[0.5]

VectorPlot[
Evaluate @ TransformedField["Polar" -> "Cartesian", field, {r, θ} -> {x, y}],
{x, -1, 1}, {y, -1, 1},
RegionFunction -> Function[{x, y}, x^2 + y^2 > .2]]

• Such fields can be visualized with StreamPlot and VectorPlot. Please look them up and show what you tried so far. Commented Feb 18, 2019 at 14:17
• @Szabolcs I am aware of those. Please see the edit above. Commented Feb 18, 2019 at 14:29
• What you show in the embedded in figure and what the code in your edit produces are very different. I do not see the relationship. Commented Feb 18, 2019 at 14:32
• @Szabolcs A vortex is a region around which a vector field has a winding number or a flux. What I have achieved so far is draw one such flux tube in Mathematica. The embedded figure shows two such fluxes or vortices. Away from the vortices, the field is constant. Commented Feb 18, 2019 at 14:37

Here's one way to produce graphics similar to what you show.

Manipulate[
StreamPlot[
Evaluate[
s/3 ( Grad[1/Sqrt[(x + s)^2 + y^2], {x, y}] -
Grad[1/Sqrt[(x - s)^2 + y^2], {x, y}]) + {0.2, 0}],
{x, -4, 4}, {y, -4, 4}, StreamMarkers -> "Pointer",
StreamPoints -> Fine],
{s, 0, 2}
]


• That's brilliant. Thanks. Commented Feb 18, 2019 at 14:37