SyFi::SpaceTimeElement Class Reference

#include <SpaceTimeElement.h>

Inheritance diagram for SyFi::SpaceTimeElement:

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

 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
def compute_basis_functions

Public Attributes

 this

Private Attributes

int order
Linetime_line
StandardFEfe

Static Private Attributes

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


Detailed Description

Proxy of C++ SyFi::SpaceTimeElement class

Definition at line 35 of file SpaceTimeElement.h.


Constructor & Destructor Documentation

SyFi::SpaceTimeElement::SpaceTimeElement (  ) 

Definition at line 78 of file SpaceTimeElement.cpp.

References SyFi::StandardFE::description.

00078                                             : StandardFE()
00079         {
00080                 description = "SpaceTimeElement";
00081         }

SyFi::SpaceTimeElement::SpaceTimeElement ( Line time_line_,
unsigned int  order_,
StandardFE fe_ 
)

Definition at line 83 of file SpaceTimeElement.cpp.

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

00084         {
00085                 time_line = time_line_;
00086                 order = order_;
00087                 fe = fe_;
00088                 compute_basis_functions();
00089         }

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

Definition at line 44 of file SpaceTimeElement.h.

00044 {}


Member Function Documentation

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

02895                              : 
02896         """
02897         __init__(self) -> SpaceTimeElement
02898         __init__(self, Line time_line_, unsigned int order_, StandardFE fe_) -> SpaceTimeElement
02899         """
02900         this = _SyFi.new_SpaceTimeElement(*args)
02901         try: self.this.append(this)
02902         except: self.this = this

def SyFi::SpaceTimeElement::compute_basis_functions (   self  ) 

compute_basis_functions(self)

Reimplemented from SyFi::StandardFE.

Definition at line 2917 of file SyFi.py.

02917                                      :
02918         """compute_basis_functions(self)"""
02919         return _SyFi.SpaceTimeElement_compute_basis_functions(self)
02920 
SpaceTimeElement_swigregister = _SyFi.SpaceTimeElement_swigregister

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

Reimplemented from SyFi::StandardFE.

Definition at line 106 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().

00107         {
00108 
00109                 // remove previously computed basis functions and dofs
00110                 Ns.clear();
00111                 dofs.clear();
00112 
00113                 if ( order < 1 )
00114                 {
00115                         throw(std::logic_error("The elements must be of order 1 or higher."));
00116                 }
00117 
00118                 if ( time_line == NULL )
00119                 {
00120                         throw(std::logic_error("You need to set a time domain before the basisfunctions can be computed"));
00121                 }
00122 
00123                 if ( fe == NULL )
00124                 {
00125                         throw(std::logic_error("You need to set a spatial element before the basisfunctions can be computed"));
00126                 }
00127 
00128                 StandardFE* time_element;
00129                 if ( order == 0)
00130                 {
00131                         time_element = new P0(*time_line);
00132                 }
00133                 else
00134                 {
00135                         time_element = new Lagrange(*time_line, order);
00136                 }
00137 
00138                 for (unsigned int j = 0; j < fe->nbf(); j++)
00139                 {
00140                         GiNaC::ex Nj = fe->N(j);
00141                         for (unsigned int i = 0; i < (*time_element).nbf(); i++)
00142                         {
00143                                 GiNaC::ex Ni = (*time_element).N(i);
00144                                 Ni = Ni.subs(x == t);
00145                                 GiNaC::ex N = Nj*Ni;
00146                                 Ns.insert(Ns.end(), N);
00147                                 dofs.insert(dofs.end(), GiNaC::lst((*time_element).dof(i), fe->dof(j)));
00148                         }
00149                 }
00150 
00151                 description = time_element->str() + "_" +  fe->str();
00152                 delete time_element;
00153         }

def SyFi::SpaceTimeElement::set_order_in_time (   self,
  args 
)

set_order_in_time(self, unsigned int order)

Definition at line 2909 of file SyFi.py.

02909                                       :
02910         """set_order_in_time(self, unsigned int order)"""
02911         return _SyFi.SpaceTimeElement_set_order_in_time(self, *args)
02912 
    def set_spatial_element(self, *args):

void SyFi::SpaceTimeElement::set_order_in_time ( unsigned int  order  ) 

Definition at line 96 of file SpaceTimeElement.cpp.

References order.

00097         {
00098                 order = order_;
00099         }

def SyFi::SpaceTimeElement::set_spatial_element (   self,
  args 
)

set_spatial_element(self, StandardFE fe)

Definition at line 2913 of file SyFi.py.

02913                                         :
02914         """set_spatial_element(self, StandardFE fe)"""
02915         return _SyFi.SpaceTimeElement_set_spatial_element(self, *args)
02916 
    def compute_basis_functions(self):

void SyFi::SpaceTimeElement::set_spatial_element ( StandardFE fe  ) 

Definition at line 101 of file SpaceTimeElement.cpp.

References fe.

00102         {
00103                 fe = fe_;
00104         }

def SyFi::SpaceTimeElement::set_time_domain (   self,
  args 
)

set_time_domain(self, Line line)

Definition at line 2905 of file SyFi.py.

02905                                     :
02906         """set_time_domain(self, Line line)"""
02907         return _SyFi.SpaceTimeElement_set_time_domain(self, *args)
02908 
    def set_order_in_time(self, *args):

void SyFi::SpaceTimeElement::set_time_domain ( Line line  ) 

Definition at line 91 of file SpaceTimeElement.cpp.

References time_line.

00092         {
00093                 time_line = line_;
00094         }


Member Data Documentation

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

Reimplemented from SyFi::StandardFE.

Definition at line 2904 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Definition at line 2893 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Definition at line 2894 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Definition at line 2890 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Definition at line 2903 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Definition at line 2891 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Definition at line 2888 of file SyFi.py.

Reimplemented from SyFi::StandardFE.

Definition at line 37 of file SpaceTimeElement.h.

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

Reimplemented from SyFi::StandardFE.

Definition at line 2902 of file SyFi.py.

Definition at line 38 of file SpaceTimeElement.h.

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


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