SyFi
0.3
|
#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 |
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 |
Line * | time_line |
StandardFE * | fe |
Static Private Attributes | |
__repr__ = _swig_repr | |
__swig_destroy__ = _SyFi.delete_SpaceTimeElement |
Proxy of C++ SyFi::SpaceTimeElement class
Definition at line 49 of file SpaceTimeElement.h.
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__(SyFi::SpaceTimeElement self) -> SpaceTimeElement __init__(SyFi::SpaceTimeElement self, Line time_line_, unsigned int order_, StandardFE fe_) -> SpaceTimeElement
Reimplemented from SyFi::StandardFE.
Definition at line 2941 of file SyFi.py.
02941 02942 def __init__(self, *args): 02943 """ 02944 __init__(SyFi::SpaceTimeElement self) -> SpaceTimeElement 02945 __init__(SyFi::SpaceTimeElement self, Line time_line_, unsigned int order_, StandardFE fe_) -> SpaceTimeElement 02946 """ _SyFi.SpaceTimeElement_swiginit(self,_SyFi.new_SpaceTimeElement(*args))
void SyFi::SpaceTimeElement::compute_basis_functions | ( | ) | [virtual] |
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, | |
order | |||
) |
set_order_in_time(SpaceTimeElement self, unsigned int order)
Definition at line 2954 of file SyFi.py.
References set_order_in_time().
02954 02955 def set_order_in_time(self, order): 02956 """set_order_in_time(SpaceTimeElement self, unsigned int order)""" 02957 return _SyFi.SpaceTimeElement_set_order_in_time(self, order) 02958
void SyFi::SpaceTimeElement::set_spatial_element | ( | StandardFE * | fe | ) |
Definition at line 115 of file SpaceTimeElement.cpp.
References fe.
Referenced by set_spatial_element().
{ fe = fe_; }
def SyFi::SpaceTimeElement::set_spatial_element | ( | self, | |
fe | |||
) |
set_spatial_element(SpaceTimeElement self, StandardFE fe)
Definition at line 2959 of file SyFi.py.
References SyFi.new_instancemethod, and set_spatial_element().
02959 02960 def set_spatial_element(self, fe): 02961 """set_spatial_element(SpaceTimeElement self, StandardFE fe)""" 02962 return _SyFi.SpaceTimeElement_set_spatial_element(self, fe) 02963 02964 SpaceTimeElement.set_time_domain = new_instancemethod(_SyFi.SpaceTimeElement_set_time_domain, None, SpaceTimeElement) 02965 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)
void SyFi::SpaceTimeElement::set_time_domain | ( | Line * | line | ) |
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, | |
line | |||
) |
set_time_domain(SpaceTimeElement self, Line line)
Definition at line 2949 of file SyFi.py.
References set_time_domain().
02949 02950 def set_time_domain(self, line): 02951 """set_time_domain(SpaceTimeElement self, Line line)""" 02952 return _SyFi.SpaceTimeElement_set_time_domain(self, line) 02953
SyFi::SpaceTimeElement::__repr__ = _swig_repr [static, private] |
Reimplemented from SyFi::StandardFE.
SyFi::SpaceTimeElement::__swig_destroy__ = _SyFi.delete_SpaceTimeElement [static, private] |
Reimplemented from SyFi::StandardFE.
StandardFE* SyFi::SpaceTimeElement::fe [private] |
Definition at line 53 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 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.
Line* SyFi::SpaceTimeElement::time_line [private] |
Definition at line 52 of file SpaceTimeElement.h.
Referenced by compute_basis_functions(), set_time_domain(), and SpaceTimeElement().