Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

dolfin::Element Class Reference

#include <Element.h>

Inheritance diagram for dolfin::Element:

Inheritance graph
[legend]
Collaboration diagram for dolfin::Element:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Type { cg, dg }

Public Member Functions

 Element (unsigned int q, unsigned int index, real t0, real t1)
 Constructor.

virtual ~Element ()
 Destructor.

virtual Type type () const=0
 Return type of element.

unsigned int order () const
 Return order of element.

virtual unsigned int size () const=0
 Return number of degrees of freedom.

virtual real value (real t) const=0
 Return value of element at given time.

virtual real value (unsigned int node, real t) const=0
 Return value of element at given time, perhaps at the given node (optimized version).

real value (unsigned int node) const
 Return value of element at given node within element.

virtual real initval () const=0
 Return initial value of element.

real endval () const
 Return value of element at the end point.

virtual real ddx () const=0
 Return derivative at the end point.

virtual void update (real u0)=0
 Update initial value.

void update (unsigned int node, real value)
 Update given value.

virtual real update (RHS &f)=0
 Update element (iteration).

virtual real update (RHS &f, real *values)=0
 Update element (iteration), non-destructive.

virtual real update (RHS &f, real alpha)=0
 Update element (iteration), damped version.

virtual real update (RHS &f, real alpha, real *values)=0
 Update element (iteration), damped version, non-destructive.

virtual real updateLocalNewton (RHS &f)=0
 Update element (iteration), local Newton version.

virtual real updateLocalNewton (RHS &f, real *values)=0
 Update element (iteration), local Newton version, non-destructive.

virtual void set (real u0)=0
 Set all element values to the given value.

virtual void set (const real *const values)=0
 Set element values to given values (not including initial data).

virtual void get (real *const values) const=0
 Get element values (not including initial data).

bool within (real t) const
 Check if given time is within the element (inline optimized).

unsigned int index () const
 Return component index.

real starttime () const
 Return the left end-point.

real endtime () const
 Return the right end-point.

real timestep () const
 Return the size of the time step (inline optimized).

real computeResidual (RHS &f)
virtual bool accept (real TOL, real r)=0
 Check if element can be accepted for given tolerance.

virtual real computeDiscreteResidual (RHS &f)=0
virtual real computeElementResidual (RHS &f)=0
virtual real computeTimeStep (real TOL, real r, real kmax) const=0

Protected Member Functions

virtual void feval (RHS &f)=0
virtual real integral (unsigned int i) const=0

Protected Attributes

unsigned int q
unsigned int _index
 Component index.

real t0
real t1
realvalues

Static Protected Attributes

Vector f
NewArray< MatrixA
NewArray< Vectorx
NewArray< Vectorb

Detailed Description

An Element is the basic building block of the time slabs used in the multi-adaptive time-stepping and represents the restriction of a component of the solution to a local interval.


Member Enumeration Documentation

enum dolfin::Element::Type
 

Enumeration values:
cg 
dg 


Constructor & Destructor Documentation

Element::Element unsigned int  q,
unsigned int  index,
real  t0,
real  t1
 

Constructor.

Element::~Element  )  [virtual]
 

Destructor.


Member Function Documentation

virtual bool dolfin::Element::accept real  TOL,
real  r
[pure virtual]
 

Check if element can be accepted for given tolerance.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::computeDiscreteResidual RHS f  )  [pure virtual]
 

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::computeElementResidual RHS f  )  [pure virtual]
 

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

real Element::computeResidual RHS f  ) 
 

virtual real dolfin::Element::computeTimeStep real  TOL,
real  r,
real  kmax
const [pure virtual]
 

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::ddx  )  const [pure virtual]
 

Return derivative at the end point.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

real Element::endtime  )  const
 

Return the right end-point.

real Element::endval  )  const
 

Return value of element at the end point.

virtual void dolfin::Element::feval RHS f  )  [protected, pure virtual]
 

virtual void dolfin::Element::get real *const  values  )  const [pure virtual]
 

Get element values (not including initial data).

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

unsigned int Element::index  )  const
 

Return component index.

virtual real dolfin::Element::initval  )  const [pure virtual]
 

Return initial value of element.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::integral unsigned int  i  )  const [protected, pure virtual]
 

unsigned int Element::order  )  const
 

Return order of element.

virtual void dolfin::Element::set const real *const  values  )  [pure virtual]
 

Set element values to given values (not including initial data).

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual void dolfin::Element::set real  u0  )  [pure virtual]
 

Set all element values to the given value.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual unsigned int dolfin::Element::size  )  const [pure virtual]
 

Return number of degrees of freedom.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

real Element::starttime  )  const
 

Return the left end-point.

real dolfin::Element::timestep  )  const [inline]
 

Return the size of the time step (inline optimized).

virtual Type dolfin::Element::type  )  const [pure virtual]
 

Return type of element.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::update RHS f,
real  alpha,
real values
[pure virtual]
 

Update element (iteration), damped version, non-destructive.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::update RHS f,
real  alpha
[pure virtual]
 

Update element (iteration), damped version.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::update RHS f,
real values
[pure virtual]
 

Update element (iteration), non-destructive.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::update RHS f  )  [pure virtual]
 

Update element (iteration).

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

void Element::update unsigned int  node,
real  value
 

Update given value.

virtual void dolfin::Element::update real  u0  )  [pure virtual]
 

Update initial value.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::updateLocalNewton RHS f,
real values
[pure virtual]
 

Update element (iteration), local Newton version, non-destructive.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::updateLocalNewton RHS f  )  [pure virtual]
 

Update element (iteration), local Newton version.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

real Element::value unsigned int  node  )  const
 

Return value of element at given node within element.

virtual real dolfin::Element::value unsigned int  node,
real  t
const [pure virtual]
 

Return value of element at given time, perhaps at the given node (optimized version).

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

virtual real dolfin::Element::value real  t  )  const [pure virtual]
 

Return value of element at given time.

Implemented in dolfin::cGqElement, and dolfin::dGqElement.

bool dolfin::Element::within real  t  )  const [inline]
 

Check if given time is within the element (inline optimized).


Member Data Documentation

unsigned int dolfin::Element::_index [protected]
 

Component index.

NewArray< Matrix > dolfin::Element::A [static, protected]
 

NewArray< Vector > dolfin::Element::b [static, protected]
 

Vector dolfin::Element::f [static, protected]
 

unsigned int dolfin::Element::q [protected]
 

real dolfin::Element::t0 [protected]
 

real dolfin::Element::t1 [protected]
 

real* dolfin::Element::values [protected]
 

NewArray< Vector > dolfin::Element::x [static, protected]
 


The documentation for this class was generated from the following files:


Documentation automatically generated with Doxygen on 10 Sep 2004.