In order to write a differential equation in a mathematical natural way we have developed an expression framework, that allowes exacly this. Instead of adding abstract operator-classes to the problem definition we implement the coefficient functions of the operators using mathematical operators. An example is the following bilinearform
Assume that ``\phi`` represents a DOFVector, i.e. a discrete representation of a function in a function-space, that is known in advance, or given by an iterative solution procedure from the last iteration. Here we use a solution component of the problem `prob`:
Assume that φ represents a DOFVector, i.e. a discrete representation of a function in a function-space, that is known in advance, or given by an iterative solution procedure from the last iteration. Here we use a solution component of the problem `prob`:
```c++
DOFVector<double>*phi=prob->getSolution(0);
```
The bilinearform consists of two individual parts, a term of zeroth derivative order (ZOT) and a term that contains two derivatives, of ``c`` and ``\vartheta``, i.e. of the trial and test function. We have to implement the corresponding coefficient functions of these two terms individually and add the term using the functions `addZOT`, respective `addSOT` to the operator. Lets assume the trial and test functions are in the finite element space`feSpace` given as the first space of the problem, then we can define the bilinearform as
The bilinearform consists of two individual parts, a term of zeroth derivative order (ZOT) and a term that contains two derivatives, of c and ϑ, i.e. of the trial and test function. We have to implement the corresponding coefficient functions of these two terms individually and add the term using the functions `addZOT`, respective `addSOT` to the operator. Lets assume the trial and test functions are in the finite element space`feSpace` given as the first space of the problem, then we can define the bilinearform as