Skip to content
forked from FEniCS/ufl

UFL - Unified Form Language

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

mscroggs/ufl-experiment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

===========================
UFL - Unified Form Language
===========================

The Unified Form Language (UFL) is a domain specific language for
declaration of finite element discretizations of variational
forms. More precisely, it defines a flexible interface for choosing
finite element spaces and defining expressions for weak forms in a
notation close to mathematical notation.

Authors:
  | Martin Sandve Alnæs   <[email protected]>
  | Anders Logg           <[email protected]>

Contributors:
  | Kristian B. Ølgaard   <[email protected]>
  | Garth N. Wells        <[email protected]>
  | Marie E. Rognes       <[email protected]>
  | Kent-Andre Mardal     <[email protected]>
  | Johan Hake            <[email protected]>
  | David Ham             <[email protected]>
  | Florian Rathgeber     <[email protected]>
  | Andrew McRae          <[email protected]>
  | Lawrence Mitchell     <[email protected]>
  | Johannes Ring         <[email protected]>

UFL is described in the paper:

Alnæs, M. S., Logg A., Ølgaard, K. B., Rognes, M. E. and Wells,
G. N. (2014).  Unified Form Language: A domain-specific language for
weak formulations of partial differential equations.  *ACM
Transactions on Mathematical Software* 40(2), Article 9, 37 pages.
<http://dx.doi.org/doi:10.1145/2566630>,
<http://arxiv.org/abs/1211.4047>


Documentation
=============

The UFL documentation is hosted at http://fenics-ufl.rtfd.org/.


Installation
============

Linux::

  sudo python setup.py install


Directories
===========

- ufl/

  All source code for the UFL implementation.

- scripts/

  Commandline utilities like "ufl-analyse", "ufl-convert" and "form2ufl".

- demo/

  Several ufl form files which demonstrates the use of the form language.

- doc/

  The UFL documentation resides here. See doc/sphinx/README for how to
  generate the docucmentation.

- test/

  Unit tests for the UFL implementation. Run all tests by typing
  "python test.py" inside the test/ directory.


Utilities
=========

For more information about the utilities, type::

  ufl-analyse -h
  ufl-convert -h
  form2ufl -h

after installation.


About the Python modules
========================

The global namespace of the module ufl contains the entire UFL
language::

  from ufl import *

Form compilers may want to import additional implementation details
like::

  from ufl.classes import *

and::

  from ufl.algorithms import *

Importing a .ufl file can be done easily from Python::

  from ufl.algorithms import load_ufl_file
  filedata = load_ufl_file("filename.ufl")
  forms = filedata.forms
  elements = filedata.elements

to get lists of forms and elements from the .ufl file, or::

  from ufl.algorithms import load_forms
  forms = load_forms("filename.ufl")

to get a list of forms in the .ufl file.


Contact
=======

Send feature requests and questions to

  [email protected]

The Git source repository for UFL is located at

  https://bitbucket.org/fenics-project/ufl

and bugs can be registered at

  https://bitbucket.org/fenics-project/ufl/issues


License
=======

UFL is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

UFL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with UFL. If not, see <http://www.gnu.org/licenses/>.

About

UFL - Unified Form Language

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%