ArnoldFalkWintherWeakSymSigma Class Reference

#include <ArnoldFalkWintherWeakSym.h>

Inheritance diagram for ArnoldFalkWintherWeakSymSigma:

StandardFE FE List of all members.

Public Member Functions

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

Detailed Description

Definition at line 6 of file ArnoldFalkWintherWeakSym.h.


Constructor & Destructor Documentation

ArnoldFalkWintherWeakSymSigma::ArnoldFalkWintherWeakSymSigma  )  [inline]
 

Definition at line 8 of file ArnoldFalkWintherWeakSym.h.

00008 {}

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

Definition at line 9 of file ArnoldFalkWintherWeakSym.h.

00009 {}


Member Function Documentation

void ArnoldFalkWintherWeakSymSigma::compute_basis_functions  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 13 of file ArnoldFalkWintherWeakSym.cpp.

References Nedelec2Hdiv::compute_basis_functions(), Nedelec2Hdiv::dof(), StandardFE::dofs, Nedelec2Hdiv::N(), Nedelec2Hdiv::nbf(), StandardFE::Ns, StandardFE::order, StandardFE::p, and Nedelec2Hdiv::set().

Referenced by main().

00013                                                              {
00014 
00015   if ( order < 1 ) {
00016     cout <<"Arnold-Falk-Winther elements must be of order 1 or higher."<<endl; 
00017     return; 
00018   }
00019 
00020 
00021   if ( p == NULL ) {
00022     cout <<"You need to set a polygon before the basisfunctions can be computed"<<endl; 
00023     return; 
00024   }
00025 
00026   Nedelec2Hdiv fe; 
00027   fe.set(order); 
00028   fe.set(*p); 
00029   fe.compute_basis_functions(); 
00030 
00031   for (int d=0; d<3; d++) {
00032     for (int i=0; i<fe.nbf(); i++) {
00033       GiNaC::matrix Nmat = GiNaC::matrix(3,3); 
00034       Nmat(d,0) = fe.N(i).op(0); 
00035       Nmat(d,1) = fe.N(i).op(1); 
00036       Nmat(d,2) = fe.N(i).op(2); 
00037       Ns.insert(Ns.end(), Nmat); 
00038       dofs.insert(dofs.end(),GiNaC::lst(fe.dof(i), d)); 
00039     }
00040   }
00041 }

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

Reimplemented from StandardFE.

Definition at line 54 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::dof().

Referenced by main().

00054                                                  {
00055   return StandardFE::dof(i);  
00056 }

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

Reimplemented from StandardFE.

Definition at line 59 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::N().

Referenced by main().

00059                                               {  
00060   return StandardFE::N(i); 
00061 }

int ArnoldFalkWintherWeakSymSigma::nbf  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 7 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::Ns.

Referenced by main().

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

void ArnoldFalkWintherWeakSymSigma::set Polygon p  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 44 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::set().

00044                                                     {
00045   StandardFE::set(p_); 
00046 }

void ArnoldFalkWintherWeakSymSigma::set int  order  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 49 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::set().

Referenced by main().

00049                                                    { 
00050   StandardFE::set(order_); 
00051 }


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