SyFi  0.3
SyFi::Tetrahedron Class Reference

#include <Polygon.h>

Inheritance diagram for SyFi::Tetrahedron:
SyFi::Polygon SyFi::Polygon SyFi::ReferenceTetrahedron SyFi::ReferenceTetrahedron

List of all members.

Public Member Functions

 Tetrahedron (GiNaC::ex x0, GiNaC::ex x1, GiNaC::ex x2, GiNaC::ex x3, const std::string &subscript="")
 Tetrahedron (const Tetrahedron &tetrahedron)
virtual ~Tetrahedron ()
virtual unsigned int no_space_dim () const
virtual Line line (unsigned int i) const
virtual Triangle triangle (unsigned int i) const
virtual GiNaC::ex repr (Repr_format format=SUBS_PERFORMED) const
virtual const std::string str () const
virtual GiNaC::ex integrate (GiNaC::ex f, Repr_format format=SUBS_PERFORMED)
virtual Tetrahedroncopy () const
def __init__
def repr
def integrate
def copy

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
 __swig_destroy__ = _SyFi.delete_Tetrahedron

Detailed Description

Proxy of C++ SyFi::Tetrahedron class

Definition at line 176 of file Polygon.h.


Constructor & Destructor Documentation

SyFi::Tetrahedron::Tetrahedron ( GiNaC::ex  x0,
GiNaC::ex  x1,
GiNaC::ex  x2,
GiNaC::ex  x3,
const std::string &  subscript = "" 
)

Referenced by copy().

SyFi::Tetrahedron::Tetrahedron ( const Tetrahedron tetrahedron)

Definition at line 892 of file Polygon.cpp.

: Polygon(tetrahedron) { }
virtual SyFi::Tetrahedron::~Tetrahedron ( ) [inline, virtual]

Definition at line 181 of file Polygon.h.

{}
def SyFi::Tetrahedron::__init__ (   self,
  args 
)
__init__(SyFi::Tetrahedron self, GiNaC::ex x0, GiNaC::ex x1, GiNaC::ex x2, GiNaC::ex x3, std::string const & subscript) -> Tetrahedron
__init__(SyFi::Tetrahedron self, GiNaC::ex x0, GiNaC::ex x1, GiNaC::ex x2, GiNaC::ex x3) -> Tetrahedron
__init__(SyFi::Tetrahedron self, Tetrahedron tetrahedron) -> Tetrahedron

Reimplemented in SyFi::ReferenceTetrahedron.

Definition at line 2096 of file SyFi.py.

02096 
02097     def __init__(self, *args):
02098         """
02099         __init__(SyFi::Tetrahedron self, GiNaC::ex x0, GiNaC::ex x1, GiNaC::ex x2, GiNaC::ex x3, std::string const & subscript) -> Tetrahedron
02100         __init__(SyFi::Tetrahedron self, GiNaC::ex x0, GiNaC::ex x1, GiNaC::ex x2, GiNaC::ex x3) -> Tetrahedron
02101         __init__(SyFi::Tetrahedron self, Tetrahedron tetrahedron) -> Tetrahedron
02102         """
        _SyFi.Tetrahedron_swiginit(self,_SyFi.new_Tetrahedron(*args))

Member Function Documentation

Tetrahedron * SyFi::Tetrahedron::copy ( ) const [virtual]

Implements SyFi::Polygon.

Reimplemented in SyFi::ReferenceTetrahedron.

Definition at line 1051 of file Polygon.cpp.

References Tetrahedron().

Referenced by copy().

        {
                return new Tetrahedron(*this);
        }
def SyFi::Tetrahedron::copy (   self)
copy(Tetrahedron self) -> Tetrahedron

Reimplemented from SyFi::Polygon.

Reimplemented in SyFi::ReferenceTetrahedron.

Definition at line 2121 of file SyFi.py.

References copy(), and SyFi.new_instancemethod.

02121 
02122     def copy(self):
02123         """copy(Tetrahedron self) -> Tetrahedron"""
02124         return _SyFi.Tetrahedron_copy(self)
02125 
02126 Tetrahedron.repr = new_instancemethod(_SyFi.Tetrahedron_repr, None, Tetrahedron)
02127 Tetrahedron.integrate = new_instancemethod(_SyFi.Tetrahedron_integrate, None, Tetrahedron)
Tetrahedron.copy = new_instancemethod(_SyFi.Tetrahedron_copy, None, Tetrahedron)
def SyFi::Tetrahedron::integrate (   self,
  args 
)
integrate(Tetrahedron self, GiNaC::ex f, SyFi::Repr_format format) -> GiNaC::ex
integrate(Tetrahedron self, GiNaC::ex f) -> GiNaC::ex

Reimplemented from SyFi::Polygon.

Reimplemented in SyFi::ReferenceTetrahedron.

Definition at line 2113 of file SyFi.py.

References integrate().

02113 
02114     def integrate(self, *args):
02115         """
02116         integrate(Tetrahedron self, GiNaC::ex f, SyFi::Repr_format format) -> GiNaC::ex
02117         integrate(Tetrahedron self, GiNaC::ex f) -> GiNaC::ex
02118         """
02119         return _SyFi.Tetrahedron_integrate(self, *args)
02120 

Line SyFi::Tetrahedron::line ( unsigned int  i) const [virtual]

Reimplemented from SyFi::Polygon.

Definition at line 899 of file Polygon.cpp.

References SyFi::istr(), SyFi::Polygon::p, and SyFi::Polygon::subscript.

Referenced by SyFi::Nedelec::compute_basis_functions().

        {
                int i0, i1;
                switch(i)
                {
                        case 0:  i0 = 0; i1 = 1;  break;
                        case 1:  i0 = 0; i1 = 2;  break;
                        case 2:  i0 = 0; i1 = 3;  break;
                        case 3:  i0 = 1; i1 = 2;  break;
                        case 4:  i0 = 1; i1 = 3;  break;
                        case 5:  i0 = 2; i1 = 3;  break;
                        default:
                                throw std::out_of_range("Line index is out of range!");
                }
                return Line(p[i0], p[i1], istr(subscript,i));
        }
unsigned int SyFi::Tetrahedron::no_space_dim ( ) const [virtual]

Implements SyFi::Polygon.

Definition at line 894 of file Polygon.cpp.

        {
                return 3;
        }
ex SyFi::Tetrahedron::repr ( Repr_format  format = SUBS_PERFORMED) const [virtual]

Implements SyFi::Polygon.

Definition at line 940 of file Polygon.cpp.

References SyFi::Line::repr(), SyFi::t, SyFi::Polygon::vertex(), and SyFi::x.

Referenced by _wrap_Tetrahedron_repr__SWIG_1(), main(), and repr().

        {
                GiNaC::symbol r("r"), s("s"), t("t");
                ex l1_repr = Line(vertex(0), vertex(1)).repr(r);
                ex l2_repr = Line(vertex(0), vertex(2)).repr(s);
                ex l3_repr = Line(vertex(0), vertex(3)).repr(t);
                lst ret;

                ret = lst(
                        x == l1_repr.op(0).rhs().coeff(r,0)   + l1_repr.op(0).rhs().coeff(r,1)*r
                        +    l2_repr.op(0).rhs().coeff(s,1)*s + l3_repr.op(0).rhs().coeff(t,1)*t,
                        y == l1_repr.op(1).rhs().coeff(r,0)   + l1_repr.op(1).rhs().coeff(r,1)*r
                        +    l2_repr.op(1).rhs().coeff(s,1)*s + l3_repr.op(1).rhs().coeff(t,1)*t,
                        z == l1_repr.op(2).rhs().coeff(r,0)   + l1_repr.op(2).rhs().coeff(r,1)*r
                        +    l2_repr.op(2).rhs().coeff(s,1)*s + l3_repr.op(2).rhs().coeff(t,1)*t);

                ret.append(lst(r, 0, 1));
                ret.append(lst(s, 0, 1 - r));
                ret.append(lst(t, 0, 1 - r - s));

                return ret;
        }
def SyFi::Tetrahedron::repr (   self,
  args 
)
repr(Tetrahedron self, SyFi::Repr_format format) -> GiNaC::ex
repr(Tetrahedron self) -> GiNaC::ex

Reimplemented from SyFi::Polygon.

Definition at line 2105 of file SyFi.py.

References repr().

02105 
02106     def repr(self, *args):
02107         """
02108         repr(Tetrahedron self, SyFi::Repr_format format) -> GiNaC::ex
02109         repr(Tetrahedron self) -> GiNaC::ex
02110         """
02111         return _SyFi.Tetrahedron_repr(self, *args)
02112 

const string SyFi::Tetrahedron::str ( ) const [virtual]

Implements SyFi::Polygon.

Reimplemented in SyFi::ReferenceTetrahedron.

Definition at line 963 of file Polygon.cpp.

Referenced by main().

        {
                std::ostringstream s;
                //    s <<"Tetrahedron("<<p[0]<<","<<p[1]<<","<<p[2]<<","<<p[3]<<")";
                s <<"Tetrahedron";
                return s.str();
        }
Triangle SyFi::Tetrahedron::triangle ( unsigned int  i) const [virtual]

Reimplemented from SyFi::Polygon.

Definition at line 916 of file Polygon.cpp.

References SyFi::istr(), SyFi::Polygon::p, and SyFi::Polygon::subscript.

Referenced by SyFi::CrouzeixRaviart::compute_basis_functions(), SyFi::Nedelec::compute_basis_functions(), SyFi::Nedelec2Hdiv::compute_basis_functions(), SyFi::RaviartThomas::compute_basis_functions(), and SyFi::normal().

        {

                if ( i == 0 )
                {
                        return Triangle(p[1], p[2], p[3], istr(subscript,i));
                }
                else if ( i == 1)
                {
                        return Triangle(p[0], p[2], p[3], istr(subscript,i));
                }
                else if ( i == 2)
                {
                        return Triangle(p[0], p[1], p[3], istr(subscript,i));
                }
                else if ( i == 3)
                {
                        return Triangle(p[0], p[1], p[2], istr(subscript,i));
                }

                throw std::out_of_range("Face index is out of range!");

        }

Member Data Documentation

Reimplemented from SyFi::Polygon.

Reimplemented in SyFi::ReferenceTetrahedron.

Definition at line 2094 of file SyFi.py.

SyFi::Tetrahedron::__swig_destroy__ = _SyFi.delete_Tetrahedron [static, private]

Reimplemented from SyFi::Polygon.

Reimplemented in SyFi::ReferenceTetrahedron.

Definition at line 2103 of file SyFi.py.

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

Reimplemented from SyFi::Polygon.

Reimplemented in SyFi::ReferenceTetrahedron.

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