`DiscreteDifferentialGeometry.CellKForm`

โ Type`DiscreteCellKForm{N,A}`

A discrete k-form of grade N, represented by an indexible container A ( usually a Vector ) A 0-form (N==0) is a k-form with a value per dual face ( point at circumcentre, on cell boundary ) A 1-form (N==1) is a k-form with a value per dual edge ( boundary of one ring cell ) A 2-form (N==2) is a k-form with a value per dual vertex ( one ring cell around vertex )

`DiscreteDifferentialGeometry.PrimalKForm`

โ Type`DiscreteKForm{N,A}`

A discrete k-form of grade N, represented by an indexible container A ( usually a Vector ) A 0-form (N==0) is a k-form with a value per vertex A 1-form (N==1) is a k-form with a value per edge A 2-form (N==2) is a k-form with a value per face

`DiscreteDifferentialGeometry.apply`

โ Method`apply(๐ฬโ, ฮฑ, P, k)`

Apply discrete differential operator ๐ฬโ to k-form ฮฑ at points P with k-vector k.

`DiscreteDifferentialGeometry.apply`

โ Method`apply(ฮฑ, u, k)`

Apply differential k-form ฮฑ at point u to k-vector k. Point u is a 1-vector.

`DiscreteDifferentialGeometry.apply`

โ Method`apply(ฮฑ, u)`

Apply differential 0-form ฮฑ at point u. Point u is a 1-vector.

`DiscreteDifferentialGeometry.apply`

โ MethodConstant 0-form. Same value at any point

`DiscreteDifferentialGeometry.apply`

โ Method`apply(๐ฬโ, ฯโ)`

Apply discrete differential operator against ฯโ samples taken at k-simplicies.

`DiscreteDifferentialGeometry.apply`

โ Method`apply(ฮฑ, v)`

Apply k-form ฮฑ to v.

`DiscreteDifferentialGeometry.constrain_rhs`

โ Methodadd boundary conditions to rhs of linear system

`DiscreteDifferentialGeometry.constrain_system`

โ Method`constrain( L, pin )`

Add Diriclete boundary conditions to Linear Operator L. return tuple with reduced L and columns of L representing constrained dofs

`DiscreteDifferentialGeometry.interpolate`

โ Method`interpolate( (a,b,c), edgevals, p)`

Interpolate the discrete values on the edges of a triangle with points a,b,c to a vector at location p.

edgevals: values on edges should be ordered so the value at index i corresponds to the edge across from vertex i.

`DiscreteDifferentialGeometry.poisson`

โ Method`poisson(L, b, u_boundary, boundary_index)`

Solve the Poisson problem Lu = b, where L is a Laplace-beltrami operator with Dirichlet boundary specified by u*boundary at locations boundary*index.

`DiscreteDifferentialGeometry.ฮ`

โ Method`ฮ(topo, P)`

Discrete Laplace-Beltrami operator

`DiscreteDifferentialGeometry.ฮ`

โ Methodlocal Laplace matrix for a triangle

`DiscreteDifferentialGeometry.ฮcell`

โ Method`ฮcell(topo, P)`

The symmetric Laplace-Beltrami operator. โฮcell = ฮ. The cell ฮ differs from the (strong) ฮ in that cell version maps to the dual simplex.

i.e. ฮcell(topo, P) -> ฮฉโโ and ฮ(topo, P) -> ฮฉโ

The rhs must also be on dual. You must apply โ to the rhs. Solve: ฮ(topo, P) = b โโ-> Solve: ฮcell(topo, P) = โ(topo,P)*b

Useful for constructing symmetric operators.

`DiscreteDifferentialGeometry.ฮcell`

โ Method`ฮcell(F, P)`

Laplace-Beltrami operator built from list of triangle indices and points. Optimized for performance.

`DiscreteDifferentialGeometry.ฮด`

โ Method`ฮด(topo, P)`

Discrete coderivative

`DiscreteDifferentialGeometry.๐`

โ Method`๐(curve)`

ฮฉโ->๐โ->ฮฉโ map from vertex to edges

`DiscreteDifferentialGeometry.๐`

โ Methodโโโปยน->๐โ->ฮฉโ

`DiscreteDifferentialGeometry.๐`

โ Methodฮฉโ->๐โ->ฮฉโ

`DiscreteDifferentialGeometry.๐`

โ Method๐(topo, ๐โแต) differential of ๐โแต which is a map to dual vertices is zero, since dual simplex of degree 3 doesn't exist on ๐ ยฒ manifold

`DiscreteDifferentialGeometry.๐`

โ Method๐(topo, ๐โ) differential of ๐โ which is a map to faces is zero, since simplex of degree 3 doesn't exist on ๐ ยฒ manifold

`DiscreteDifferentialGeometry.๐`

โ Method๐(topo, โโโปยน) differential of โโโปยน which is a map to faces is zero, since simplex of degree 3 doesn't exist on ๐ ยฒ manifold

`DiscreteDifferentialGeometry.๐`

โ Method๐(topo, โโ) differential of โโ which is a map to dual vertices is zero, since dual simplex of degree 3 doesn't exist on ๐ ยฒ manifold

`DiscreteDifferentialGeometry.๐`

โ Method`๐( topo, s )`

ฮฉโโ->๐โ->ฮฉโโ. A map to dual edges

`DiscreteDifferentialGeometry.๐`

โ Method```
๐( topo, ฮฉโโ )
ฮฉโโ->๐โ->ฮฉโโ
```

๐โ->ฮฉโโ->๐โ->ฮฉโโ โโ->ฮฉโโ->๐โ->ฮฉโโ

`DiscreteDifferentialGeometry.๐`

โ Method```
๐( topo, ฮฉโ )
ฮฉโ->๐โ->ฮฉโ
```

๐โ->ฮฉโ->๐โ->ฮฉโ โโปยน->ฮฉโ->๐โ->ฮฉโ

A map to 2-forms (faces)

`DiscreteDifferentialGeometry.๐`

โ Method๐(topo, Z) differential of zero is zero

`DiscreteDifferentialGeometry.๐`

โ Methoddifferential of simple k-form

`DiscreteDifferentialGeometry.๐`

โ Methoddifferential of simple 1-form

`DiscreteDifferentialGeometry.๐`

โ Method๐( k, ๐ผ )

differential of 0-form. ๐ผ is the psuedovector of the algebra

`DiscreteDifferentialGeometry.๐`

โ Method`๐(k, jacobian)`

Exterior Derivative of KVector of k-forms with current jacobian

`DiscreteDifferentialGeometry.๐`

โ Method`๐(k)`

Exterior derivative operator on KVector wedged with ZForms. Differential of k-form.

`DiscreteDifferentialGeometry.๐`

โ Method๐( k )

differential of 0-form

`Multivectors.:โ`

โ Method```
โ( topo, ฮฉโโ )
ฮฉโโ->โโโปยน->ฮฉโ
```

๐โ->ฮฉโโ->โโโปยน->ฮฉโ โโ->ฮฉโโ->โโโปยน->ฮฉโ

`Multivectors.:โ`

โ Methodโ(topo, P) ฮฉโ->โโ->ฮฉโโ. A map to dual 2-forms (dual vertices)

`Multivectors.:โ`

โ Methodโ(topo, P) ฮฉโ->โโ->ฮฉโโ. A map to dual 2-forms (dual vertices)

`Multivectors.:โ`

โ Method->โโ->โโโปยน->ฮฉโ

`Multivectors.:โ`

โ Methodโ(topo, P) ฮฉโ->โโ->ฮฉโโ. A map to dual 2-forms (dual vertices)

`Multivectors.:โ`

โ Method->โโ->โโโปยน->ฮฉโ

`Multivectors.:โ`

โ Method```
โ( topo, ฮฉโ )
ฮฉโ->โโ->ฮฉโโ
```

๐โ->ฮฉโ->โโ->ฮฉโโ โโปโ->ฮฉโ->โโ->ฮฉโโ

A map to 1-forms (cell edges)

`Multivectors.:โ`

โ Method```
โ( topo, ฮฉโ )
ฮฉโ->โโ->ฮฉโโ
```

๐โ->ฮฉโ->โโ->ฮฉโโ โโปโ->ฮฉโ->โโ->ฮฉโโ

A map to 0-forms (cell centred vertex)

`Multivectors.:โ`

โ Method` ฮฉโ->โโ->ฮฉโโ`

โโโปยน->ฮฉโ->โโ->ฮฉโโ

A map to 2-forms (vertex cell).

`DiscreteDifferentialGeometry.across`

โ Methodacross( topo, P, heh )

the triangle vertex across from the halfedge.

`DiscreteDifferentialGeometry.cotan`

โ Methodthe cotangent of the angle between two vectors

`DiscreteDifferentialGeometry.cotanweight`

โ Methodcotanweight( topo, P, h )

calculate cotangent weight across an edge. 0.5*(cot(ฮฑ) + cot(ฮ)), where ฮฑ,ฮ are the angles of edges opposite our halfedge

`DiscreteDifferentialGeometry.cotanweight`

โ Methodvector cotangent of angle at Pโ, ccw from Pโ to Pโ

`DiscreteDifferentialGeometry.vertexarea`

โ MethodBarycentric dual vertex area. One third of the summed areas of triangles incident to given vertex