                                                              Delft 2008-09-11
FEniCS Plasticity:
------------------

This library implements the Von Mises and Drucker-Prager plasticity models
using FEniCS software. However, the structure of the library should be general
enough to also allow other models to be implemented with little effort. The
aim is to show how FEniCS software can be combined more complex
applications and thereby serve as an additional reference in extension to the
simpler demos found in FFC and DOLFIN.


Contents
--------

  1. Dependencies
  2. Installation
  3. Compiling against the library
  4. Feedback
  5. License


1. Dependencies
------------

* DOLFIN 0.8.1
* FFC 0.5.1
* FIAT 0.3.4
* UFC 1.1

2. Installation:
-------------

See ./INSTALL


3. Compiling against the library:
------------------------------

To compile against the plasticity library it is convenient to create a
SConstruct file that looks as follows:

import commands
import os

# Create environment, use the plasticity library
env = Environment(LIBS = 'plasticity')

# Use system PATH if mpicxx (or DOLFIN compiler) is not in default path
env['ENV']['PATH'] = os.environ['PATH']

# Get compiler from pkg-config
compiler = commands.getoutput('pkg-config --variable=compiler dolfin')

# Update CXX compiler
env.Replace(CXX = compiler)

# Get DOLFIN cflags and libs
env.ParseConfig('pkg-config --cflags --libs dolfin')

# Build program
env.Program('demo', ['main.cpp', 'PlasticityProblem.cpp'])


4. Feed back:
------------

Feed back, patches, and comments should be sent to

    fenics-apps@fenics.org

    or to the maintainers:

    Kristian B. Ølgaard <k.b.oelgaard@tudelft.nl>

    Garth N. Wells <gnw20@cam.ac.uk>
    http://www.eng.cam.ac.uk/~gnw20/


5. License:
--------

This library is licensed under the GNU LGPL Version 3.0, see ./COPYING.LESSER




