StandardFE Class Reference

#include <FE.h>

Inheritance diagram for StandardFE:

FE ArnoldFalkWintherWeakSymP ArnoldFalkWintherWeakSymSigma ArnoldFalkWintherWeakSymU Bubble CrouzeixRaviart HermiteFE LagrangeFE Nedelec Nedelec2Hdiv 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 ArnoldFalkWintherWeakSymSigma, ArnoldFalkWintherWeakSymU, ArnoldFalkWintherWeakSymP, Bubble, CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, HermiteFE, LagrangeFE, VectorLagrangeFE, Nedelec, Nedelec2Hdiv, 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 ArnoldFalkWintherWeakSymSigma, ArnoldFalkWintherWeakSymU, ArnoldFalkWintherWeakSymP, CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, HermiteFE, LagrangeFE, VectorLagrangeFE, Nedelec, Nedelec2Hdiv, and RaviartThomas.

Definition at line 37 of file FE.cpp.

References dofs.

Referenced by RaviartThomas::dof(), Nedelec2Hdiv::dof(), Nedelec::dof(), VectorLagrangeFE::dof(), LagrangeFE::dof(), HermiteFE::dof(), VectorDiscontinuousLagrangeFE::dof(), DiscontinuousLagrangeFE::dof(), VectorCrouzeixRaviart::dof(), CrouzeixRaviart::dof(), ArnoldFalkWintherWeakSymP::dof(), ArnoldFalkWintherWeakSymU::dof(), and ArnoldFalkWintherWeakSymSigma::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 ArnoldFalkWintherWeakSymSigma, ArnoldFalkWintherWeakSymU, ArnoldFalkWintherWeakSymP, CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, HermiteFE, LagrangeFE, VectorLagrangeFE, Nedelec, Nedelec2Hdiv, and RaviartThomas.

Definition at line 43 of file FE.cpp.

References Ns.

Referenced by Bubble::compute_basis_functions(), RaviartThomas::N(), Nedelec2Hdiv::N(), Nedelec::N(), VectorLagrangeFE::N(), LagrangeFE::N(), HermiteFE::N(), DiscontinuousLagrangeFE::N(), VectorCrouzeixRaviart::N(), CrouzeixRaviart::N(), ArnoldFalkWintherWeakSymP::N(), ArnoldFalkWintherWeakSymU::N(), and ArnoldFalkWintherWeakSymSigma::N().

00043                            {  
00044   return Ns[i]; 
00045 }

int StandardFE::nbf  )  [virtual]
 

Implements FE.

Reimplemented in ArnoldFalkWintherWeakSymSigma, ArnoldFalkWintherWeakSymU, ArnoldFalkWintherWeakSymP, CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, HermiteFE, LagrangeFE, VectorLagrangeFE, Nedelec, Nedelec2Hdiv, and RaviartThomas.

Definition at line 8 of file FE.cpp.

References Ns.

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

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

void StandardFE::set Polygon p  )  [virtual]
 

Implements FE.

Reimplemented in ArnoldFalkWintherWeakSymSigma, ArnoldFalkWintherWeakSymU, ArnoldFalkWintherWeakSymP, CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, HermiteFE, LagrangeFE, VectorLagrangeFE, Nedelec, Nedelec2Hdiv, 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 ArnoldFalkWintherWeakSymSigma, ArnoldFalkWintherWeakSymU, ArnoldFalkWintherWeakSymP, CrouzeixRaviart, VectorCrouzeixRaviart, DiscontinuousLagrangeFE, VectorDiscontinuousLagrangeFE, LagrangeFE, VectorLagrangeFE, Nedelec, Nedelec2Hdiv, and RaviartThomas.

Definition at line 30 of file FE.cpp.

References dofs, Ns, and order.

Referenced by main(), RaviartThomas::set(), Nedelec2Hdiv::set(), Nedelec::set(), VectorLagrangeFE::set(), LagrangeFE::set(), HermiteFE::set(), VectorDiscontinuousLagrangeFE::set(), DiscontinuousLagrangeFE::set(), VectorCrouzeixRaviart::set(), CrouzeixRaviart::set(), ArnoldFalkWintherWeakSymP::set(), ArnoldFalkWintherWeakSymU::set(), and ArnoldFalkWintherWeakSymSigma::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(), Nedelec2Hdiv::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(), ArnoldFalkWintherWeakSymSigma::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(), Nedelec2Hdiv::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(), ArnoldFalkWintherWeakSymP::compute_basis_functions(), ArnoldFalkWintherWeakSymU::compute_basis_functions(), ArnoldFalkWintherWeakSymSigma::compute_basis_functions(), N(), RaviartThomas::nbf(), Nedelec2Hdiv::nbf(), Nedelec::nbf(), nbf(), CrouzeixRaviart::nbf(), ArnoldFalkWintherWeakSymP::nbf(), ArnoldFalkWintherWeakSymU::nbf(), ArnoldFalkWintherWeakSymSigma::nbf(), and set().

int StandardFE::order
 

Definition at line 33 of file FE.h.

Referenced by RaviartThomas::compute_basis_functions(), Nedelec2Hdiv::compute_basis_functions(), Nedelec::compute_basis_functions(), VectorLagrangeFE::compute_basis_functions(), LagrangeFE::compute_basis_functions(), DiscontinuousLagrangeFE::compute_basis_functions(), ArnoldFalkWintherWeakSymP::compute_basis_functions(), ArnoldFalkWintherWeakSymU::compute_basis_functions(), ArnoldFalkWintherWeakSymSigma::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(), Nedelec2Hdiv::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(), ArnoldFalkWintherWeakSymP::compute_basis_functions(), ArnoldFalkWintherWeakSymU::compute_basis_functions(), ArnoldFalkWintherWeakSymSigma::compute_basis_functions(), getPolygon(), set(), and StandardFE().


The documentation for this class was generated from the following files:
Generated on Tue Jun 13 13:18:43 2006 for SyFi by  doxygen 1.4.4