When does $\nabla \times B =0$? In my lab, I use electromagnets to apply a magnetic gradient force to lots of very small (superparamagnetic) nanoparticles embedded in an elastic medium. I believe that these can be treated as magnetic dipoles, with a dipole moment $\mathbf{m}$.
It is well known that the force on a magnetic dipole moment in a magnetic field is given by 
$$\mathbf{F} = \mathbf{\nabla}(\mathbf{m} \cdot \mathbf{B}).$$
I need to prove to myself that this can be reduced to
$$\mathbf{F} = (\mathbf{m} \cdot \mathbf{\nabla})\mathbf{B}.$$
I know that we can rewrite the first equation using one of those vector calculus identities that appears, e.g. on the inside covers of Jackson:
$$\mathbf{F} = \mathbf{\nabla}(\mathbf{m} \cdot \mathbf{B}) = (\mathbf{m} \cdot \mathbf{\nabla})\mathbf{B} + (\mathbf{B} \cdot \mathbf{\nabla})\mathbf{m} + \mathbf{m} \times (\mathbf{\nabla} \times \mathbf{B}) + \mathbf{B} \times (\mathbf{\nabla} \times \mathbf{m}).$$


*

*The first term is good -- it can stay!

*For the second term, can I use the commutative property of the dot product to say that $\mathbf{B} \cdot \mathbf{\nabla} = \mathbf{\nabla} \cdot \mathbf{B} = 0$ because magnetic monopoles don't exist?

*On page 374 of Andrew Zangwill's Modern Electrodynamics (2013), he writes, "When the sources of $\mathbf{B}$ are far away so $\mathbf{\nabla} \times \mathbf{B} = 0$, blah blah blah." This is the thing I'm most confused about. How do we know that $\mathbf{\nabla} \times \mathbf{B} = 0$? Can someone show me a proof and/or help me understand what the "far away" criterion means in real life? (Far away relative to what?)

*I think the fourth term is simple -- since a dipole moment is just 1 vector, the curl is always zero.

 A: Ampere's law says that
$$\nabla \times \boldsymbol{B} = \mu_0 \boldsymbol{J} + \epsilon_0\mu_0 \frac{\partial}{\partial t} \boldsymbol{E}$$
so "far away from sources" means that the current density $\boldsymbol{J}$ can be taken to be zero, and that there are no time-varying electric fields.  The latter is actually a general approximation that can often be made for relatively low frequency (including steady-state) phenomena.

As for the other questions, that identity actually does not apply here, because $\mathbf{m\cdot B}$ is not the dot product of two vector fields.  In particular, the spatial derivatives of $\mathbf{m}$ are not defined.
Instead, we can use index notation to get the actual identity we're looking for.  Note that 
$$[\nabla(\mathbf{m\cdot B})]_i = \partial_i m_j B_j = m_j\partial_i B_j$$
This doesn't have an immediately obvious vector form, but we can do the following sorcery (which, full disclosure, I did backwards):
$$m_j\partial_iB_j = (m_j\partial_iB_j - m_j\partial_jB_i) + m_j\partial_jB_i$$
$$ = (\delta_{il}\delta_{jm} - \delta_{im}\delta_{jl}) m_j \partial _l B_m + m_j\partial_j B_i$$
$$ =\epsilon_{ijk} \epsilon_{klm} m_j\partial_lB_m + m_j\partial_j B_i$$
$$ =\epsilon_{ijk} m_j (\epsilon_{klm}\partial_l B_m) + m_j \partial_j B_i$$
$$ = [ \mathbf{m}\times (\nabla \times \mathbf{B}) + (\mathbf{m}\cdot \nabla)\mathbf{B}]_i$$
and so if $\mathbf{m}$ and $\mathbf{B}$ are a constant vector and a vector field respectively, the applicable vector identity is
$$\nabla(\mathbf{m\cdot B}) = \mathbf{m} \times (\nabla \times \mathbf{B}) + (\mathbf{m} \cdot \nabla)\mathbf{B}$$
This is, of course, what we would get if we treated $\mathbf{m}$ as a spatially constant vector field, so you could wave your hands and say that $\nabla \mathbf{m}$ and $\nabla \times \mathbf{m}$ are equal to zero.  However, you should remember that those expressions are formally not defined.

Lastly, I want to clarify that there is no "commutative property of the dot product" when it comes to the divergence operator, because divergence is not a dot product.  It only looks like one (and only in Cartesian coordinates), so $div(\mathbf{B}) = \nabla \cdot \mathbf B$ is nothing more than a useful mnemonic device.
More specifically, $div(\mathbf{B}) = \nabla \cdot \mathbf{B}$ is a scalar field which happens to be equal to $0$ everywhere.  On the other hand, $$\mathbf{B}\cdot \nabla = B_i\partial_i = B_x\frac{\partial}{\partial x} + B_y \frac{\partial}{\partial y} + B_z \frac{\partial}{\partial z}$$ is itself a differential operator, which you could apply to either scalar or vector fields:
$$(\mathbf{B}\cdot \nabla)f = \mathbf{B}\cdot (\nabla f)$$
or
$$(\mathbf{B}\cdot \nabla)\mathbf{ A} = \big[\mathbf{B}\cdot (\nabla A_x)\big]\hat e_x + \big[\mathbf{B}\cdot (\nabla A_y)\big]\hat e_y+\big[\mathbf{B}\cdot (\nabla A_z)\big]\hat e_z$$
