#include <Lagrange.h>
Public Member Functions | |
VectorLagrange () | |
VectorLagrange (Polygon &p, unsigned int order=1, unsigned int size=0) | |
~VectorLagrange () | |
virtual void | set_size (unsigned int size_) |
virtual void | compute_basis_functions () |
def | __init__ |
def | set_size |
def | compute_basis_functions |
Public Attributes | |
this | |
Protected Attributes | |
unsigned int | size |
Static Private Attributes | |
dictionary | __swig_setmethods__ = {} |
tuple | __setattr__ = lambdaself,name,value:_swig_setattr(self, VectorLagrange, name, value) |
dictionary | __swig_getmethods__ = {} |
tuple | __getattr__ = lambdaself,name:_swig_getattr(self, VectorLagrange, name) |
__repr__ = _swig_repr | |
__swig_destroy__ = _SyFi.delete_VectorLagrange | |
__del__ = lambdaself:None; |
Proxy of C++ SyFi::VectorLagrange class
Definition at line 22 of file Lagrange.h.
SyFi::VectorLagrange::VectorLagrange | ( | ) |
Definition at line 379 of file Lagrange.cpp.
References SyFi::StandardFE::description.
00379 : StandardFE() 00380 { 00381 description = "VectorLagrange"; 00382 }
SyFi::VectorLagrange::VectorLagrange | ( | Polygon & | p, | |
unsigned int | order = 1 , |
|||
unsigned int | size = 0 | |||
) |
Definition at line 384 of file Lagrange.cpp.
References compute_basis_functions(), SyFi::nsd, and size.
00384 : StandardFE(p, order) 00385 { 00386 size = size_ < 0 ? nsd: size_; 00387 compute_basis_functions(); 00388 }
SyFi::VectorLagrange::~VectorLagrange | ( | ) | [inline] |
def SyFi::VectorLagrange::__init__ | ( | self, | ||
args | ||||
) |
__init__(self) -> VectorLagrange __init__(self, Polygon p, unsigned int order = 1, unsigned int size = 0) -> VectorLagrange __init__(self, Polygon p, unsigned int order = 1) -> VectorLagrange __init__(self, Polygon p) -> VectorLagrange
Reimplemented from SyFi::StandardFE.
Reimplemented in SyFi::VectorDiscontinuousLagrange.
Definition at line 2147 of file SyFi.py.
02147 : 02148 """ 02149 __init__(self) -> VectorLagrange 02150 __init__(self, Polygon p, unsigned int order = 1, unsigned int size = 0) -> VectorLagrange 02151 __init__(self, Polygon p, unsigned int order = 1) -> VectorLagrange 02152 __init__(self, Polygon p) -> VectorLagrange 02153 """ 02154 this = _SyFi.new_VectorLagrange(*args) 02155 try: self.this.append(this) 02156 except: self.this = this
def SyFi::VectorLagrange::compute_basis_functions | ( | self | ) |
compute_basis_functions(self)
Reimplemented from SyFi::StandardFE.
Reimplemented in SyFi::VectorDiscontinuousLagrange.
Definition at line 2163 of file SyFi.py.
02163 : 02164 """compute_basis_functions(self)""" 02165 return _SyFi.VectorLagrange_compute_basis_functions(self) 02166 VectorLagrange_swigregister = _SyFi.VectorLagrange_swigregister
void SyFi::VectorLagrange::compute_basis_functions | ( | ) | [virtual] |
Reimplemented from SyFi::StandardFE.
Reimplemented in SyFi::VectorDiscontinuousLagrange.
Definition at line 390 of file Lagrange.cpp.
References SyFi::Lagrange::compute_basis_functions(), SyFi::StandardFE::description, SyFi::StandardFE::dof(), SyFi::StandardFE::dofs, demos::crouzeixraviart::fe, SyFi::StandardFE::N(), SyFi::StandardFE::nbf(), SyFi::StandardFE::Ns, SyFi::StandardFE::order, SyFi::StandardFE::p, run::s, SyFi::StandardFE::set_order(), SyFi::StandardFE::set_polygon(), size, and SyFi::StandardFE::str().
Referenced by main(), and VectorLagrange().
00391 { 00392 00393 // remove previously computed basis functions and dofs 00394 Ns.clear(); 00395 dofs.clear(); 00396 00397 if ( order < 1 ) 00398 { 00399 throw(std::logic_error("Lagrangian elements must be of order 1 or higher.")); 00400 } 00401 00402 if ( p == NULL ) 00403 { 00404 throw(std::logic_error("You need to set a polygon before the basisfunctions can be computed")); 00405 } 00406 00407 if ( size == 0) 00408 { 00409 throw(std::logic_error("You need to set the size of the vector before the basisfunctions can be computed")); 00410 } 00411 00412 Lagrange fe; 00413 fe.set_order(order); 00414 fe.set_polygon(*p); 00415 fe.compute_basis_functions(); 00416 GiNaC::lst zero_list; 00417 for (unsigned int s=1; s<= size ; s++) 00418 { 00419 zero_list.append(0); 00420 } 00421 00422 for (unsigned int s=0; s< size ; s++) 00423 { 00424 for (unsigned int i=0; i< fe.nbf() ; i++) 00425 { 00426 GiNaC::lst Nis = zero_list; 00427 Nis.let_op(s) = fe.N(i); 00428 GiNaC::ex Nmat = GiNaC::matrix(size,1,Nis); 00429 Ns.insert(Ns.end(), Nmat); 00430 00431 GiNaC::lst dof = GiNaC::lst(fe.dof(i), s) ; 00432 dofs.insert(dofs.end(), dof); 00433 } 00434 } 00435 00436 description = "Vector" + fe.str(); 00437 }
def SyFi::VectorLagrange::set_size | ( | self, | ||
args | ||||
) |
set_size(self, unsigned int size_)
Reimplemented in SyFi::VectorDiscontinuousLagrange.
Definition at line 2159 of file SyFi.py.
02159 : 02160 """set_size(self, unsigned int size_)""" 02161 return _SyFi.VectorLagrange_set_size(self, *args) 02162 def compute_basis_functions(self):
void SyFi::VectorLagrange::set_size | ( | unsigned int | size_ | ) | [virtual] |
Reimplemented in SyFi::VectorDiscontinuousLagrange.
Definition at line 439 of file Lagrange.cpp.
References size.
Referenced by main().
00440 { 00441 size = size_; 00442 }
SyFi::VectorLagrange::__del__ = lambdaself:None; [static, private] |
tuple SyFi::VectorLagrange::__getattr__ = lambdaself,name:_swig_getattr(self, VectorLagrange, name) [static, private] |
SyFi::VectorLagrange::__repr__ = _swig_repr [static, private] |
tuple SyFi::VectorLagrange::__setattr__ = lambdaself,name,value:_swig_setattr(self, VectorLagrange, name, value) [static, private] |
SyFi::VectorLagrange::__swig_destroy__ = _SyFi.delete_VectorLagrange [static, private] |
dictionary SyFi::VectorLagrange::__swig_getmethods__ = {} [static, private] |
dictionary SyFi::VectorLagrange::__swig_setmethods__ = {} [static, private] |
unsigned int SyFi::VectorLagrange::size [protected] |
Definition at line 25 of file Lagrange.h.
Referenced by compute_basis_functions(), set_size(), and VectorLagrange().