Curl only comes in the explicit version (fvc) because the implicit one couples the components of the vector. The current matrix support cannot handle that but the new version (block matrix) will come in due course). So, there's no fvm::curl at the moment.

As for the calculation of the curl, have a look at fvcCurl.C. There are two implementations

- the one based on the Gauss Theorem is commented out.

- the one with the Hodge dual is active and allows you to use your favourite gradient calculation algorithm