SyFi::P0 Class Reference

#include <P0.h>

Inheritance diagram for SyFi::P0:

SyFi::StandardFE SyFi::StandardFE SyFi::FE SyFi::FE SyFi::FE SyFi::FE SyFi::_object SyFi::_object SyFi::_object SyFi::_object

List of all members.

Public Member Functions

 P0 ()
 P0 (Polygon &p, unsigned int order=0)
virtual ~P0 ()
virtual void compute_basis_functions ()
def __init__
def compute_basis_functions

Public Attributes

 this

Static Private Attributes

dictionary __swig_setmethods__ = {}
tuple __setattr__ = lambdaself,name,value:_swig_setattr(self, P0, name, value)
dictionary __swig_getmethods__ = {}
tuple __getattr__ = lambdaself,name:_swig_getattr(self, P0, name)
 __repr__ = _swig_repr
 __swig_destroy__ = _SyFi.delete_P0
 __del__ = lambdaself:None;


Detailed Description

Proxy of C++ SyFi::P0 class

Definition at line 12 of file P0.h.


Constructor & Destructor Documentation

SyFi::P0::P0 (  ) 

Definition at line 13 of file P0.cpp.

References SyFi::StandardFE::description.

00013                : StandardFE()
00014         {
00015                 description = "P0";
00016         }

SyFi::P0::P0 ( Polygon p,
unsigned int  order = 0 
)

Definition at line 18 of file P0.cpp.

References compute_basis_functions().

00018                                               : StandardFE (p,order)
00019         {
00020                 compute_basis_functions();
00021         }

virtual SyFi::P0::~P0 (  )  [inline, virtual]

Definition at line 17 of file P0.h.

00017 {}


Member Function Documentation

def SyFi::P0::__init__ (   self,
  args 
)

__init__(self) -> P0
__init__(self, Polygon p, unsigned int order = 0) -> P0
__init__(self, Polygon p) -> P0

Reimplemented from SyFi::StandardFE.

Definition at line 2334 of file SyFi.py.

02334                              : 
02335         """
02336         __init__(self) -> P0
02337         __init__(self, Polygon p, unsigned int order = 0) -> P0
02338         __init__(self, Polygon p) -> P0
02339         """
02340         this = _SyFi.new_P0(*args)
02341         try: self.this.append(this)
02342         except: self.this = this

def SyFi::P0::compute_basis_functions (   self  ) 

compute_basis_functions(self)

Reimplemented from SyFi::StandardFE.

Definition at line 2345 of file SyFi.py.

02345                                      :
02346         """compute_basis_functions(self)"""
02347         return _SyFi.P0_compute_basis_functions(self)
02348 
P0_swigregister = _SyFi.P0_swigregister

void SyFi::P0::compute_basis_functions (  )  [virtual]

Reimplemented from SyFi::StandardFE.

Definition at line 23 of file P0.cpp.

References SyFi::StandardFE::description, SyFi::StandardFE::dofs, SyFi::istr(), SyFi::Polygon::no_vertices(), SyFi::StandardFE::Ns, SyFi::StandardFE::p, and SyFi::Polygon::vertex().

Referenced by main(), and P0().

00024         {
00025 
00026                 // remove previously computed basis functions and dofs
00027                 Ns.clear();
00028                 dofs.clear();
00029 
00030                 if ( p == NULL )
00031                 {
00032                         throw(std::logic_error("You need to set a polygon before the basisfunctions can be computed"));
00033                 }
00034 
00035                 // insert basis function
00036                 Ns.insert(Ns.end(), GiNaC::numeric(1));
00037 
00038                 GiNaC::lst midpoint = GiNaC::lst();
00039                 // create and insert dof
00040                                                                  // p is a lst
00041                 if (GiNaC::is_a<GiNaC::lst>(p->vertex(0)))
00042                 {
00043                         for (unsigned int d=0; d< p->vertex(1).nops(); d++)
00044                         {
00045                                 midpoint.append(GiNaC::numeric(0));
00046                         }
00047                         for (unsigned int i=0; i< p->no_vertices(); i++)
00048                         {
00049                                 int nops;
00050                                 nops = p->vertex(i).nops();
00051                                 for (int d=0; d< nops; d++)
00052                                 {
00053                                         midpoint.let_op(d)  += p->vertex(i).op(d);
00054                                 }
00055                         }
00056                         for (unsigned int d=0; d< p->vertex(1).nops(); d++)
00057                         {
00058                                 midpoint.let_op(d)  = midpoint.op(d)/p->no_vertices();
00059                         }
00060                 }
00061                 else
00062                 {
00063                         midpoint.append(GiNaC::numeric(0));
00064                         for (unsigned int i=0; i< p->no_vertices(); i++)
00065                         {
00066                                 midpoint.let_op(0)  += p->vertex(i);
00067                         }
00068                         midpoint.let_op(0)  = midpoint.op(0)/p->no_vertices();
00069                 }
00070 
00071                 dofs.insert(dofs.end(), midpoint);
00072 
00073                 description = istr("P0_"  , midpoint.nops()) + "D";
00074         }


Member Data Documentation

SyFi::P0::__del__ = lambdaself:None; [static, private]

Reimplemented from SyFi::StandardFE.

Definition at line 2344 of file SyFi.py.

tuple SyFi::P0::__getattr__ = lambdaself,name:_swig_getattr(self, P0, name) [static, private]

Reimplemented from SyFi::StandardFE.

Definition at line 2332 of file SyFi.py.

SyFi::P0::__repr__ = _swig_repr [static, private]

Reimplemented from SyFi::StandardFE.

Definition at line 2333 of file SyFi.py.

tuple SyFi::P0::__setattr__ = lambdaself,name,value:_swig_setattr(self, P0, name, value) [static, private]

Reimplemented from SyFi::StandardFE.

Definition at line 2329 of file SyFi.py.

SyFi::P0::__swig_destroy__ = _SyFi.delete_P0 [static, private]

Reimplemented from SyFi::StandardFE.

Definition at line 2343 of file SyFi.py.

dictionary SyFi::P0::__swig_getmethods__ = {} [static, private]

Reimplemented from SyFi::StandardFE.

Definition at line 2330 of file SyFi.py.

dictionary SyFi::P0::__swig_setmethods__ = {} [static, private]

Reimplemented from SyFi::StandardFE.

Definition at line 2327 of file SyFi.py.

Reimplemented from SyFi::StandardFE.

Definition at line 2342 of file SyFi.py.


The documentation for this class was generated from the following files:

Generated on Mon Aug 31 16:17:07 2009 for SyFi by  doxygen 1.5.9