#include <SpaceTimeElement.h>
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 |
Line * | time_line |
StandardFE * | fe |
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; |
Proxy of C++ SyFi::SpaceTimeElement class
Definition at line 35 of file SpaceTimeElement.h.
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] |
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 | ) |
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 }
SyFi::SpaceTimeElement::__del__ = lambdaself:None; [static, private] |
tuple SyFi::SpaceTimeElement::__getattr__ = lambdaself,name:_swig_getattr(self, SpaceTimeElement, name) [static, private] |
SyFi::SpaceTimeElement::__repr__ = _swig_repr [static, private] |
tuple SyFi::SpaceTimeElement::__setattr__ = lambdaself,name,value:_swig_setattr(self, SpaceTimeElement, name, value) [static, private] |
SyFi::SpaceTimeElement::__swig_destroy__ = _SyFi.delete_SpaceTimeElement [static, private] |
dictionary SyFi::SpaceTimeElement::__swig_getmethods__ = {} [static, private] |
dictionary SyFi::SpaceTimeElement::__swig_setmethods__ = {} [static, private] |
StandardFE* SyFi::SpaceTimeElement::fe [private] |
Definition at line 39 of file SpaceTimeElement.h.
Referenced by compute_basis_functions(), set_spatial_element(), and SpaceTimeElement().
int SyFi::SpaceTimeElement::order [private] |
Reimplemented from SyFi::StandardFE.
Definition at line 37 of file SpaceTimeElement.h.
Referenced by compute_basis_functions(), set_order_in_time(), and SpaceTimeElement().
Line* SyFi::SpaceTimeElement::time_line [private] |
Definition at line 38 of file SpaceTimeElement.h.
Referenced by compute_basis_functions(), set_time_domain(), and SpaceTimeElement().