StandardFE Class Reference

#include <FE.h>

Inheritance diagram for StandardFE:

FE CrouzeixRaviart LagrangeFE P0 RaviartThomas VectorCrouzeixRaviart VectorLagrangeFE DiscontinuousLagrangeFE VectorDiscontinuousLagrangeFE List of all members.

Public Member Functions

 StandardFE ()
 ~StandardFE ()
virtual void set (int order)
virtual void set (Polygon &p)
virtual PolygongetPolygon ()
virtual void compute_basis_functions ()
virtual int nbf ()
virtual GiNaC::ex N (int i)
virtual GiNaC::ex dof (int i)

Public Attributes

GiNaC::exvector Ns
GiNaC::exvector dofs
Polygonp
int order

Detailed Description

Definition at line 30 of file FE.h.


Constructor & Destructor Documentation

StandardFE::StandardFE  )  [inline]
 

Definition at line 41 of file FE.h.

00041 {}

StandardFE::~StandardFE  )  [inline]
 

Definition at line 42 of file FE.h.

00042 {}


Member Function Documentation

void StandardFE::compute_basis_functions  )  [virtual]
 

Reimplemented in CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, LagrangeFE, VectorLagrangeFE, P0, and RaviartThomas.

Definition at line 7 of file FE.cpp.

00007                                           { 
00008   // FIXME: give some valuable tips, can for instance
00009   // say that "standard Lagrange elements are implemented in LagrangeFE 
00010   cout <<"StandardFE compute_basis_functions not implemented"<<endl; 
00011 }

GiNaC::ex StandardFE::dof int  i  )  [virtual]
 

Implements FE.

Reimplemented in CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, LagrangeFE, VectorLagrangeFE, and RaviartThomas.

Definition at line 33 of file FE.cpp.

References dofs.

Referenced by RaviartThomas::dof(), VectorLagrangeFE::dof(), LagrangeFE::dof(), VectorDiscontinuousLagrangeFE::dof(), DiscontinuousLagrangeFE::dof(), VectorCrouzeixRaviart::dof(), and CrouzeixRaviart::dof().

00033                               {
00034   //FIXME could be point or dirac on point 
00035   return dofs[i-1]; 
00036 }

Polygon & StandardFE::getPolygon  )  [virtual]
 

Implements FE.

Definition at line 13 of file FE.cpp.

References p.

00013                                  {
00014   // FIXME this is not nice. 
00015   // should check that p is ok!!
00016   return *p; 
00017 }

GiNaC::ex StandardFE::N int  i  )  [virtual]
 

Implements FE.

Reimplemented in CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, LagrangeFE, VectorLagrangeFE, and RaviartThomas.

Definition at line 39 of file FE.cpp.

References Ns.

Referenced by RaviartThomas::N(), VectorLagrangeFE::N(), LagrangeFE::N(), VectorDiscontinuousLagrangeFE::N(), DiscontinuousLagrangeFE::N(), VectorCrouzeixRaviart::N(), and CrouzeixRaviart::N().

00039                            {  
00040   return Ns[i-1]; 
00041 }

int StandardFE::nbf  )  [virtual]
 

Implements FE.

Reimplemented in CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, LagrangeFE, VectorLagrangeFE, and RaviartThomas.

Definition at line 3 of file FE.cpp.

References Ns.

Referenced by VectorLagrangeFE::nbf(), LagrangeFE::nbf(), VectorDiscontinuousLagrangeFE::nbf(), DiscontinuousLagrangeFE::nbf(), and VectorCrouzeixRaviart::nbf().

00003                      {
00004   return Ns.size();  
00005 }

void StandardFE::set Polygon p  )  [virtual]
 

Implements FE.

Reimplemented in CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, LagrangeFE, VectorLagrangeFE, and RaviartThomas.

Definition at line 19 of file FE.cpp.

References dofs, Ns, and p.

00019                                  {
00020   Ns.clear(); 
00021   dofs.clear(); 
00022   p = &p_; 
00023 }

void StandardFE::set int  order  )  [virtual]
 

Reimplemented in CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, LagrangeFE, VectorLagrangeFE, and RaviartThomas.

Definition at line 26 of file FE.cpp.

References dofs, Ns, and order.

Referenced by main(), RaviartThomas::set(), VectorLagrangeFE::set(), LagrangeFE::set(), VectorDiscontinuousLagrangeFE::set(), DiscontinuousLagrangeFE::set(), VectorCrouzeixRaviart::set(), and CrouzeixRaviart::set().

00026                                 { 
00027   Ns.clear(); 
00028   dofs.clear(); 
00029   order = order_; 
00030 }


Member Data Documentation

GiNaC::exvector StandardFE::dofs
 

Definition at line 34 of file FE.h.

Referenced by RaviartThomas::compute_basis_functions(), P0::compute_basis_functions(), VectorLagrangeFE::compute_basis_functions(), LagrangeFE::compute_basis_functions(), VectorDiscontinuousLagrangeFE::compute_basis_functions(), DiscontinuousLagrangeFE::compute_basis_functions(), VectorCrouzeixRaviart::compute_basis_functions(), CrouzeixRaviart::compute_basis_functions(), dof(), and set().

GiNaC::exvector StandardFE::Ns
 

Definition at line 33 of file FE.h.

Referenced by RaviartThomas::compute_basis_functions(), P0::compute_basis_functions(), VectorLagrangeFE::compute_basis_functions(), LagrangeFE::compute_basis_functions(), VectorCrouzeixRaviart::compute_basis_functions(), CrouzeixRaviart::compute_basis_functions(), N(), RaviartThomas::nbf(), nbf(), CrouzeixRaviart::nbf(), and set().

int StandardFE::order
 

Definition at line 36 of file FE.h.

Referenced by RaviartThomas::compute_basis_functions(), VectorLagrangeFE::compute_basis_functions(), LagrangeFE::compute_basis_functions(), CrouzeixRaviart::CrouzeixRaviart(), set(), and VectorCrouzeixRaviart::VectorCrouzeixRaviart().

Polygon* StandardFE::p
 

Definition at line 35 of file FE.h.

Referenced by RaviartThomas::compute_basis_functions(), P0::compute_basis_functions(), VectorLagrangeFE::compute_basis_functions(), LagrangeFE::compute_basis_functions(), VectorCrouzeixRaviart::compute_basis_functions(), CrouzeixRaviart::compute_basis_functions(), getPolygon(), and set().


The documentation for this class was generated from the following files:
Generated on Mon Jan 9 18:08:09 2006 for SyFi by  doxygen 1.4.4