SyFi  0.3
SyFi::Bubble Class Reference

#include <Bubble.h>

Inheritance diagram for SyFi::Bubble:
SyFi::StandardFE SyFi::StandardFE SyFi::FE SyFi::FE SyFi::FE SyFi::FE

List of all members.

Public Member Functions

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

Static Public Attributes

tuple thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')

Static Private Attributes

 __repr__ = _swig_repr

Detailed Description

Proxy of C++ SyFi::Bubble class

Definition at line 26 of file Bubble.h.


Constructor & Destructor Documentation

Definition at line 29 of file Bubble.cpp.

References SyFi::StandardFE::description.

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

Definition at line 34 of file Bubble.cpp.

References compute_basis_functions().

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

Definition at line 31 of file Bubble.h.

{}
def SyFi::Bubble::__init__ (   self,
  args 
)
__init__(SyFi::Bubble self) -> Bubble
__init__(SyFi::Bubble self, Polygon p, unsigned int order=3) -> Bubble
__init__(SyFi::Bubble self, Polygon p) -> Bubble

Reimplemented from SyFi::StandardFE.

Definition at line 2754 of file SyFi.py.

02754 
02755     def __init__(self, *args):
02756         """
02757         __init__(SyFi::Bubble self) -> Bubble
02758         __init__(SyFi::Bubble self, Polygon p, unsigned int order=3) -> Bubble
02759         __init__(SyFi::Bubble self, Polygon p) -> Bubble
02760         """
        _SyFi.Bubble_swiginit(self,_SyFi.new_Bubble(*args))

Member Function Documentation

Reimplemented from SyFi::StandardFE.

Definition at line 39 of file Bubble.cpp.

References SyFi::barycenter_tetrahedron(), SyFi::barycenter_triangle(), SyFi::StandardFE::description, SyFi::StandardFE::dofs, SyFi::StandardFE::N(), SyFi::Polygon::no_vertices(), SyFi::StandardFE::Ns, SyFi::StandardFE::p, SyFi::Polygon::str(), SyFi::Polygon::vertex(), and SyFi::x.

Referenced by Bubble().

        {

                // 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"));
                }

                if ( p->str().find("ReferenceLine") != string::npos )
                {
                        Ns.insert(Ns.end(), x*(1-x));
                        description = "Bubble_1D";
                }
                else if ( p->str().find("Triangle") != string::npos )
                {

                        GiNaC::ex b = barycenter_triangle(p->vertex(0), p->vertex(1), p->vertex(2));
                        GiNaC::ex N = GiNaC::numeric(1);
                        for (unsigned int d=0; d< b.nops(); d++)
                        {
                                N = N*b.op(d).rhs();
                        }
                        Ns.insert(Ns.end(), N);

                        description = "Bubble_2D";

                }
                else if ( p->str().find("Tetrahedron") != string::npos )
                {
                        GiNaC::ex b = barycenter_tetrahedron(p->vertex(0), p->vertex(1),
                                p->vertex(2), p->vertex(3));
                        GiNaC::ex N = GiNaC::numeric(1);
                        for (unsigned int d=0; d< b.nops(); d++)
                        {
                                N = N*b.op(d).rhs();
                        }
                        Ns.insert(Ns.end(), N);

                        description = "Bubble_3D";
                }

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

                for (unsigned int d=0; d< p->vertex(1).nops(); d++)
                {
                        midpoint.let_op(d)  = midpoint.op(d)/p->no_vertices();
                }

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

Member Data Documentation

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

Reimplemented from SyFi::StandardFE.

Definition at line 2752 of file SyFi.py.

tuple SyFi::Bubble::thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') [static]

Reimplemented from SyFi::StandardFE.

Definition at line 2751 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