I would like to redefine the \div and \curl commands to give \mbfnabla\cdot and \mbfnabla\vectimes.
In unicode-math breaks \DeclareMathOperator we get the hint that we need to wrap redefines inside an AtBeginDocument block.
While this seems to work for redefining \div with just giving the text div, using \nabla or \mbfnabla does not render the respective nabla symbol:
The corresponding MVP code is:
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{unicode-math}
\newcommand{\vdot}{\cdot}
\newcommand{\vcross}{\vectimes}
\newcommand{\vb}[1]{\symbfup{#1}}
\newcommand{\vu}[1]{\hat{\vb{#1}}}
\AtBeginDocument{
\let\div\relax
\let\curl\relax
\DeclareMathOperator{\div}{\mbfnabla\vdot}
\DeclareMathOperator{\curl}{\mbfnabla\vectimes}
}
\begin{document}
\begin{align}
\div\vb{E}
&=
j_0
&
\div\vb{B}
&=
0
\\
\curl\vb{E}
&=
-\partial_t\vb{B}
&
\curl\vb{B}
&=
\vb{j}
+
\partial_t\vb{E}
\end{align}
\end{document}
I am using LuaLaTex on MacOS where I recently updated all packages with tlmgr update -all.



\tracinglostchars=3near the top of your document, which tells TeX to treat bugs like this as errors.$\Delta$, but not$\nabla$. I ended up using$\sbox0{$\Delta$}\raisebox{\ht0}{\rotatebox{180}{$\Delta$}}$as a replacement for$\nabla$.