VectorCrouzeixRaviart Class Reference

#include <CrouzeixRaviart.h>

Inheritance diagram for VectorCrouzeixRaviart:

StandardFE FE List of all members.

Public Member Functions

 VectorCrouzeixRaviart ()
 ~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 109 of file CrouzeixRaviart.cpp.

References StandardFE::order.

00109                                               : StandardFE() {
00110   order = 1; 
00111 }

VectorCrouzeixRaviart::~VectorCrouzeixRaviart  )  [inline]
 

Definition at line 26 of file CrouzeixRaviart.h.

00026 {}


Member Function Documentation

void VectorCrouzeixRaviart::compute_basis_functions  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 117 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().

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

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

Reimplemented from StandardFE.

Definition at line 160 of file CrouzeixRaviart.cpp.

References StandardFE::dof().

Referenced by compute_basis_functions().

00160                                          {
00161   return StandardFE::dof(i);  
00162 }

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

Reimplemented from StandardFE.

Definition at line 165 of file CrouzeixRaviart.cpp.

References StandardFE::N().

00165                                       {  
00166   return StandardFE::N(i); 
00167 }

int VectorCrouzeixRaviart::nbf  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 113 of file CrouzeixRaviart.cpp.

References StandardFE::nbf().

00113                                 {
00114   return StandardFE::nbf();       
00115 }

void VectorCrouzeixRaviart::set Polygon p  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 145 of file CrouzeixRaviart.cpp.

References StandardFE::set().

00145                                             {
00146   StandardFE::set(p_); 
00147 }

void VectorCrouzeixRaviart::set int  order  )  [virtual]
 

Reimplemented from StandardFE.

Definition at line 151 of file CrouzeixRaviart.cpp.

Referenced by main().

00151                                            { 
00152   if (order_ != 1) {
00153     cout <<"Only Crouziex-Raviart elements of order 1 is possible"<<endl;  
00154   }
00155 }

void VectorCrouzeixRaviart::set_size int  size_  )  [virtual]
 

Definition at line 140 of file CrouzeixRaviart.cpp.

References size.

Referenced by main().

00140                                                {
00141   size = size_; 
00142 }


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 Mon Jan 9 18:08:09 2006 for SyFi by  doxygen 1.4.4