* a file where the '''abstract problem''' is described: this file has to be written in Unified Form Language (UFL), which is ''a domain specific language for defining discrete variational forms and functionals in a notation close to pen-and-paper formulation.'' UFL is easy to learn, and in any case the User manual provides explanations and examples. [http://fenicsproject.org/documentation/ufl/1.2.0/user/user_manual.html#ufl-user-manual]
* a script file where the abstract problem is imported and a '''specific problem''' is implemented and solved: this is the script file where the fem-fenics functions are needed. Their sintax is as close as possible to the python interface, so that Fenics users are comfortable with that, but it is alos quite intuitive for beginners. The examples below show the equivalence between the different programming languages.
=== Poisson Equation ===