Fields
Having created our initial computational domain, we will now create a
Field object representing the director field \(\mathbf{n}\):
var nn = Field(m, Matrix([1,0,0]))
As with the Mesh object earlier, we declare a variable, nn, to refer
to the Field object. We have to provide two arguments to Field: the
Mesh object on which the Field is defined, and something to
initialize it. Here, we want the initial director to have a spatially
uniform value, so we can just provide Field a constant Matrix
object. By default, morpho stores a copy of this matrix on each vertex
in the mesh; Fields can however store information on elements of any
grade (and store both more than one quantity per grade and information
on multiple grades at the same time).
It's possible to initialize a Field with spatially varying values by
providing an anonymous function to Field like this:
var phi = Field(m, fn (x,y,z) x^2+y^2)
Here, phi is a scalar field that takes on the value \(x^{2}+y^{2}\). The fn keyword is used to define functions.