ArnoldFalkWintherWeakSymP Class Reference

#include <ArnoldFalkWintherWeakSym.h>

Inheritance diagram for ArnoldFalkWintherWeakSymP:

StandardFE FE List of all members.

Public Member Functions

 ArnoldFalkWintherWeakSymP ()
virtual ~ArnoldFalkWintherWeakSymP ()
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 32 of file ArnoldFalkWintherWeakSym.h.


Constructor & Destructor Documentation

ArnoldFalkWintherWeakSymP::ArnoldFalkWintherWeakSymP  )  [inline]
 

Definition at line 34 of file ArnoldFalkWintherWeakSym.h.

00034 {}

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

Definition at line 35 of file ArnoldFalkWintherWeakSym.h.

00035 {}


Member Function Documentation

void ArnoldFalkWintherWeakSymP::compute_basis_functions  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 129 of file ArnoldFalkWintherWeakSym.cpp.

References VectorDiscontinuousLagrangeFE::compute_basis_functions(), VectorDiscontinuousLagrangeFE::N(), VectorDiscontinuousLagrangeFE::nbf(), StandardFE::Ns, StandardFE::order, StandardFE::p, VectorDiscontinuousLagrangeFE::set(), and VectorDiscontinuousLagrangeFE::set_size().

Referenced by main().

00129                                                          {
00130 
00131   if ( order < 1 ) {
00132     cout <<"Arnold-Falk-Winther elements must be of order 1 or higher."<<endl; 
00133     return; 
00134   }
00135 
00136 
00137   if ( p == NULL ) {
00138     cout <<"You need to set a polygon before the basisfunctions can be computed"<<endl; 
00139     return; 
00140   }
00141 
00142   
00143   VectorDiscontinuousLagrangeFE fe;  
00144   fe.set(order); 
00145   fe.set_size(3); 
00146   fe.set(*p); 
00147   fe.compute_basis_functions(); 
00148 
00149   for (int d=0; d<3; d++) {
00150     for (int i=0; i<fe.nbf(); i++) {
00151       GiNaC::matrix Nmat = GiNaC::matrix(3,3); 
00152       Nmat(1,2) = -fe.N(i).op(0); 
00153       Nmat(2,1) =  fe.N(i).op(0); 
00154 
00155       Nmat(0,2) =  fe.N(i).op(1); 
00156       Nmat(2,0) = -fe.N(i).op(1); 
00157 
00158       Nmat(0,1) = -fe.N(i).op(2); 
00159       Nmat(1,0) =  fe.N(i).op(2); 
00160 
00161       Ns.insert(Ns.end(), Nmat); 
00162     }
00163   }
00164 }

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

Reimplemented from StandardFE.

Definition at line 179 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::dof().

00179                                              {
00180   return StandardFE::dof(i);  
00181 }

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

Reimplemented from StandardFE.

Definition at line 184 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::N().

Referenced by main().

00184                                           {  
00185   return StandardFE::N(i); 
00186 }

int ArnoldFalkWintherWeakSymP::nbf  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 122 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::Ns.

Referenced by main().

00122                                     {
00123   return Ns.size();  
00124 }

void ArnoldFalkWintherWeakSymP::set Polygon p  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 169 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::set().

00169                                                 {
00170   StandardFE::set(p_); 
00171 }

void ArnoldFalkWintherWeakSymP::set int  order  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 174 of file ArnoldFalkWintherWeakSym.cpp.

References StandardFE::set().

Referenced by main().

00174                                                { 
00175   StandardFE::set(order_); 
00176 }


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