VectorCrouzeixRaviart Class Reference

#include <CrouzeixRaviart.h>

Inheritance diagram for VectorCrouzeixRaviart:

StandardFE FE List of all members.

Public Member Functions

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

Protected Attributes

int size

Detailed Description

Definition at line 21 of file CrouzeixRaviart.h.


Constructor & Destructor Documentation

VectorCrouzeixRaviart::VectorCrouzeixRaviart  ) 
 

Definition at line 115 of file CrouzeixRaviart.cpp.

References StandardFE::order.

00115                                               : StandardFE() {
00116   order = 1; 
00117 }

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

Definition at line 26 of file CrouzeixRaviart.h.

00026 {}


Member Function Documentation

void VectorCrouzeixRaviart::compute_basis_functions  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 123 of file CrouzeixRaviart.cpp.

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

Referenced by main().

00123                                                      {
00124   CrouzeixRaviart fe; 
00125   fe.set(*p); 
00126   fe.compute_basis_functions(); 
00127   GiNaC::lst zero_list; 
00128   for (int s=1; s<= size ; s++) {
00129     zero_list.append(0);  
00130   }
00131 
00132   for (int i=0; i< fe.nbf() ; i++) {
00133     for (int s=0; s< size ; s++) {
00134       GiNaC::lst Nis = zero_list;    
00135       Nis.let_op(s) = fe.N(i); 
00136       GiNaC::ex Nmat = GiNaC::matrix(size,1,Nis); 
00137       Ns.insert(Ns.end(), Nmat);  
00138 
00139       GiNaC::lst dof = GiNaC::lst(fe.dof(i), s) ; 
00140       dofs.insert(dofs.end(), dof);  
00141     }
00142   }
00143 }

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

Reimplemented from StandardFE.

Definition at line 166 of file CrouzeixRaviart.cpp.

References StandardFE::dof().

Referenced by compute_basis_functions().

00166                                          {
00167   return StandardFE::dof(i);  
00168 }

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

Reimplemented from StandardFE.

Definition at line 171 of file CrouzeixRaviart.cpp.

References StandardFE::N().

00171                                       {  
00172   return StandardFE::N(i); 
00173 }

int VectorCrouzeixRaviart::nbf  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 119 of file CrouzeixRaviart.cpp.

References StandardFE::nbf().

00119                                 {
00120   return StandardFE::nbf();       
00121 }

void VectorCrouzeixRaviart::set Polygon p  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 151 of file CrouzeixRaviart.cpp.

References StandardFE::set().

00151                                             {
00152   StandardFE::set(p_); 
00153 }

void VectorCrouzeixRaviart::set int  order  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 157 of file CrouzeixRaviart.cpp.

Referenced by main().

00157                                            { 
00158   if (order_ != 1) {
00159     cout <<"Only Crouziex-Raviart elements of order 1 is possible"<<endl;  
00160   }
00161 }

void VectorCrouzeixRaviart::set_size int  size_  )  [virtual]
 

Definition at line 146 of file CrouzeixRaviart.cpp.

References size.

Referenced by main().

00146                                                {
00147   size = size_; 
00148 }


Member Data Documentation

int VectorCrouzeixRaviart::size [protected]
 

Definition at line 23 of file CrouzeixRaviart.h.

Referenced by compute_basis_functions(), and set_size().


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