---
name: "curl"
section: "3rheolef"
platform: "linux"
package: "librheolef-dev"
version: "6.1-2.1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/curl/3rheolef"
---

# curl(3rheolef)

## NAME

**curl** -- curl operator

## SYNOPSIS

```
      form(const space V, const space& M, "curl");

```

## DESCRIPTION

Assembly the form associated to the curl operator on finite element space. In three dimensions, both V and M are vector-valued:

```
               /
               |
      b(u,q) = |  curl(u).q dx
               |
               / Omega

```

In two dimensions, only V is vector-valued. The V space may be a either **P2** finite element space, while the M space may be **P1d**. See also form(2) and space(2).

## EXAMPLE

The following piece of code build the divergence form associated to the **P2** approximation for a three dimensional geometry:

```
        geo omega("cube");
        space V(omega, "P2",  "vector");
        space M(omega, "P1d", "vector");
        form b(V, M, "curl");

```

while this code becomes in two dimension:

```
        geo omega("square");
        space V(omega, "P2",  "vector");
        space M(omega, "P1d");
        form b(V, M, "curl");

```

## SEE ALSO

form(2), space(2)
