SyFi 0.3
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.

               : StandardFE()
        {
                description = "P0";
        }
SyFi::P0::P0 ( Polygon p,
unsigned int  order = 0 
)

Definition at line 18 of file P0.cpp.

References compute_basis_functions().

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

Definition at line 17 of file P0.h.

{}
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

Member Function Documentation

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().

        {

                // remove previously computed basis functions and dofs
                Ns.clear();
                dofs.clear();

                if ( p == NULL )
                {
                        throw(std::logic_error("You need to set a polygon before the basisfunctions can be computed"));
                }

                // insert basis function
                Ns.insert(Ns.end(), GiNaC::numeric(1));

                GiNaC::lst midpoint = GiNaC::lst();
                // create and insert dof
                                                                 // p is a lst
                if (GiNaC::is_a<GiNaC::lst>(p->vertex(0)))
                {
                        for (unsigned int d=0; d< p->vertex(1).nops(); d++)
                        {
                                midpoint.append(GiNaC::numeric(0));
                        }
                        for (unsigned int i=0; i< p->no_vertices(); i++)
                        {
                                int nops;
                                nops = p->vertex(i).nops();
                                for (int d=0; d< nops; d++)
                                {
                                        midpoint.let_op(d)  += p->vertex(i).op(d);
                                }
                        }
                        for (unsigned int d=0; d< p->vertex(1).nops(); d++)
                        {
                                midpoint.let_op(d)  = midpoint.op(d)/p->no_vertices();
                        }
                }
                else
                {
                        midpoint.append(GiNaC::numeric(0));
                        for (unsigned int i=0; i< p->no_vertices(); i++)
                        {
                                midpoint.let_op(0)  += p->vertex(i);
                        }
                        midpoint.let_op(0)  = midpoint.op(0)/p->no_vertices();
                }

                dofs.insert(dofs.end(), midpoint);

                description = istr("P0_"  , midpoint.nops()) + "D";
        }
def SyFi::P0::compute_basis_functions (   self)
compute_basis_functions(self)

Reimplemented from SyFi::StandardFE.

Definition at line 2345 of file SyFi.py.

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


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 2338 of file SyFi.py.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines