A bilinear form is defined by

define bilinearform <name> <flaglist> integrator1 integrator2 integrator3 ...Example

define bilinearform a -fespace=v laplace lam robin alpha

A bilinear-form is always defined as sum over integrators. A bilinear-form maintains the stiffness matrix. For multi-level algorithms, a bilinear-form stores all matrices. Bilinear-forms for high order spaces have a bilinear-form for the corresponding lowest order space.

The following flags are defined

-fespace=<name> | bilinear form is defined on fe space <name> |

-symmetric | bilinear form is symmetric (store just lower left triangular matrix) |

-nonassemble | do not allocate matrix (bilinear-form is used, e.g., for post-processing) |

An integrator is defined as

token <coef1> <coef2> ... <flaglist>Example:

elasticity coef_e coef_nu -order=4The <coefi> refers to a coefficient function defined above. It provides the coefficients defined sub-domain by dub-domain for integrators defined on the domain (e.g., laplace), or, the coefficient boundary-patch by boundary-patch for integrators defined on the surface (e.g., robin).

Allowed flags are

-order=num | use integration rule of order num. Default order is computed form element order. |

-comp=num | use scalar integrator as component num for system (e.g., penalty term for y-displacement). num=0 adds integrator to all components. |

-normal | add integrator in normal direction (penalty for normal-displacement) |

The integrator tokens are

laplace lam | |

mass rho | |

robin alpha | |

elasticity e nu | (with ..3D elasticity tensor, or plane stress) |

curlcurledge nu | for spaces |

massedge sigma | for spaces |

robinedge sigma | for spaces |