StandardFE Class Reference

#include <FE.h>

Inheritance diagram for StandardFE:

FE Bubble CrouzeixRaviart HermiteFE LagrangeFE Nedelec P0 RaviartThomas VectorCrouzeixRaviart VectorLagrangeFE List of all members.

Public Member Functions

 StandardFE ()
virtual ~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 27 of file FE.h.


Constructor & Destructor Documentation

StandardFE::StandardFE  ) 
 

Definition at line 3 of file FE.cpp.

References order, and p.

00003                         { 
00004   p = NULL; 
00005   order = -1; 
00006 }

virtual StandardFE::~StandardFE  )  [inline, virtual]
 

Definition at line 37 of file FE.h.

00037 {}


Member Function Documentation

void StandardFE::compute_basis_functions  )  [virtual]
 

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

Definition at line 12 of file FE.cpp.

00012                                           { 
00013   cout <<"StandardFE compute_basis_functions not implemented."<<endl; 
00014   cout <<"Use some derived class like e.g. LagrangeFE."<<endl; 
00015 }

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

Implements FE.

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

Definition at line 37 of file FE.cpp.

References dofs.

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

00037                               {
00038   //NOTE This could be point or dirac on point. 
00039   return dofs[i]; 
00040 }

Polygon & StandardFE::getPolygon  )  [virtual]
 

Implements FE.

Definition at line 17 of file FE.cpp.

References p.

00017                                  {
00018   // FIXME this is not nice. 
00019   // should check that p is ok!!
00020   return *p; 
00021 }

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

Implements FE.

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

Definition at line 43 of file FE.cpp.

References Ns.

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

00043                            {  
00044   return Ns[i]; 
00045 }

int StandardFE::nbf  )  [virtual]
 

Implements FE.

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

Definition at line 8 of file FE.cpp.

References Ns.

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

00008                      {
00009   return Ns.size();  
00010 }

void StandardFE::set Polygon p  )  [virtual]
 

Implements FE.

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

Definition at line 23 of file FE.cpp.

References dofs, Ns, and p.

00023                                  {
00024   Ns.clear(); 
00025   dofs.clear(); 
00026   p = &p_; 
00027 }

void StandardFE::set int  order  )  [virtual]
 

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

Definition at line 30 of file FE.cpp.

References dofs, Ns, and order.

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

00030                                 { 
00031   Ns.clear(); 
00032   dofs.clear(); 
00033   order = order_; 
00034 }


Member Data Documentation

GiNaC::exvector StandardFE::dofs
 

Definition at line 31 of file FE.h.

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

GiNaC::exvector StandardFE::Ns
 

Definition at line 30 of file FE.h.

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

int StandardFE::order
 

Definition at line 33 of file FE.h.

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

Polygon* StandardFE::p
 

Definition at line 32 of file FE.h.

Referenced by RaviartThomas::compute_basis_functions(), P0::compute_basis_functions(), Nedelec::compute_basis_functions(), VectorLagrangeFE::compute_basis_functions(), LagrangeFE::compute_basis_functions(), HermiteFE::compute_basis_functions(), DiscontinuousLagrangeFE::compute_basis_functions(), VectorCrouzeixRaviart::compute_basis_functions(), CrouzeixRaviart::compute_basis_functions(), Bubble::compute_basis_functions(), getPolygon(), set(), and StandardFE().


The documentation for this class was generated from the following files:
Generated on Wed Apr 19 12:38:15 2006 for SyFi by  doxygen 1.4.4