SyFi  0.3
SyFi::SpaceTimeElement Class Reference

#include <SpaceTimeElement.h>

Inheritance diagram for SyFi::SpaceTimeElement:
SyFi::StandardFE SyFi::StandardFE SyFi::FE SyFi::FE SyFi::FE SyFi::FE

List of all members.

Public Member Functions

 SpaceTimeElement ()
 SpaceTimeElement (Line *time_line_, unsigned int order_, StandardFE *fe_)
virtual ~SpaceTimeElement ()
void set_time_domain (Line *line)
void set_order_in_time (unsigned int order)
void set_spatial_element (StandardFE *fe)
virtual void compute_basis_functions ()
def __init__
def set_time_domain
def set_order_in_time
def set_spatial_element

Static Public Attributes

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

Private Attributes

int order
Linetime_line
StandardFEfe

Static Private Attributes

 __repr__ = _swig_repr
 __swig_destroy__ = _SyFi.delete_SpaceTimeElement

Detailed Description

Proxy of C++ SyFi::SpaceTimeElement class

Definition at line 49 of file SpaceTimeElement.h.


Constructor & Destructor Documentation

Definition at line 92 of file SpaceTimeElement.cpp.

References SyFi::StandardFE::description.

                                            : StandardFE()
        {
                description = "SpaceTimeElement";
        }
SyFi::SpaceTimeElement::SpaceTimeElement ( Line time_line_,
unsigned int  order_,
StandardFE fe_ 
)

Definition at line 97 of file SpaceTimeElement.cpp.

References compute_basis_functions(), fe, order, and time_line.

        {
                time_line = time_line_;
                order = order_;
                fe = fe_;
                compute_basis_functions();
        }
virtual SyFi::SpaceTimeElement::~SpaceTimeElement ( ) [inline, virtual]

Definition at line 58 of file SpaceTimeElement.h.

{}
def SyFi::SpaceTimeElement::__init__ (   self,
  args 
)
__init__(self) -> SpaceTimeElement
__init__(self, Line time_line_, unsigned int order_, StandardFE fe_) -> SpaceTimeElement

Reimplemented from SyFi::StandardFE.

Definition at line 2594 of file SyFi.py.

02594 
02595     def __init__(self, *args): 
02596         """
02597         __init__(self) -> SpaceTimeElement
02598         __init__(self, Line time_line_, unsigned int order_, StandardFE fe_) -> SpaceTimeElement
02599         """
        _SyFi.SpaceTimeElement_swiginit(self,_SyFi.new_SpaceTimeElement(*args))

Member Function Documentation

Reimplemented from SyFi::StandardFE.

Definition at line 120 of file SpaceTimeElement.cpp.

References SyFi::StandardFE::description, SyFi::StandardFE::dof(), SyFi::StandardFE::dofs, fe, SyFi::StandardFE::N(), SyFi::StandardFE::nbf(), SyFi::StandardFE::Ns, order, SyFi::StandardFE::str(), SyFi::t, time_line, and SyFi::x.

Referenced by SpaceTimeElement().

        {

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

                if ( order < 1 )
                {
                        throw(std::logic_error("The elements must be of order 1 or higher."));
                }

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

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

                StandardFE* time_element;
                if ( order == 0)
                {
                        time_element = new P0(*time_line);
                }
                else
                {
                        time_element = new Lagrange(*time_line, order);
                }

                for (unsigned int j = 0; j < fe->nbf(); j++)
                {
                        GiNaC::ex Nj = fe->N(j);
                        for (unsigned int i = 0; i < (*time_element).nbf(); i++)
                        {
                                GiNaC::ex Ni = (*time_element).N(i);
                                Ni = Ni.subs(x == t);
                                GiNaC::ex N = Nj*Ni;
                                Ns.insert(Ns.end(), N);
                                dofs.insert(dofs.end(), GiNaC::lst((*time_element).dof(i), fe->dof(j)));
                        }
                }

                description = time_element->str() + "_" +  fe->str();
                delete time_element;
        }
void SyFi::SpaceTimeElement::set_order_in_time ( unsigned int  order)

Definition at line 110 of file SpaceTimeElement.cpp.

References order.

Referenced by set_order_in_time().

        {
                order = order_;
        }
def SyFi::SpaceTimeElement::set_order_in_time (   self,
  args 
)
set_order_in_time(self, unsigned int order)

Definition at line 2605 of file SyFi.py.

References set_order_in_time().

02605 
02606     def set_order_in_time(self, *args):
02607         """set_order_in_time(self, unsigned int order)"""
02608         return _SyFi.SpaceTimeElement_set_order_in_time(self, *args)

Definition at line 115 of file SpaceTimeElement.cpp.

References fe.

Referenced by set_spatial_element().

        {
                fe = fe_;
        }
def SyFi::SpaceTimeElement::set_spatial_element (   self,
  args 
)
set_spatial_element(self, StandardFE fe)

Definition at line 2609 of file SyFi.py.

References SyFi.new_instancemethod, and set_spatial_element().

02609 
02610     def set_spatial_element(self, *args):
02611         """set_spatial_element(self, StandardFE fe)"""
02612         return _SyFi.SpaceTimeElement_set_spatial_element(self, *args)
02613 
02614 SpaceTimeElement.set_time_domain = new_instancemethod(_SyFi.SpaceTimeElement_set_time_domain,None,SpaceTimeElement)
02615 SpaceTimeElement.set_order_in_time = new_instancemethod(_SyFi.SpaceTimeElement_set_order_in_time,None,SpaceTimeElement)
SpaceTimeElement.set_spatial_element = new_instancemethod(_SyFi.SpaceTimeElement_set_spatial_element,None,SpaceTimeElement)

Definition at line 105 of file SpaceTimeElement.cpp.

References time_line.

Referenced by set_time_domain().

        {
                time_line = line_;
        }
def SyFi::SpaceTimeElement::set_time_domain (   self,
  args 
)
set_time_domain(self, Line line)

Definition at line 2601 of file SyFi.py.

References set_time_domain().

02601 
02602     def set_time_domain(self, *args):
02603         """set_time_domain(self, Line line)"""
02604         return _SyFi.SpaceTimeElement_set_time_domain(self, *args)


Member Data Documentation

Reimplemented from SyFi::StandardFE.

Definition at line 2593 of file SyFi.py.

SyFi::SpaceTimeElement::__swig_destroy__ = _SyFi.delete_SpaceTimeElement [static, private]

Reimplemented from SyFi::StandardFE.

Definition at line 2600 of file SyFi.py.

Reimplemented from SyFi::StandardFE.

Definition at line 51 of file SpaceTimeElement.h.

Referenced by compute_basis_functions(), set_order_in_time(), and SpaceTimeElement().

tuple SyFi::SpaceTimeElement::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 2592 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