SyFi::VectorLagrange Class Reference

#include <Lagrange.h>

Inheritance diagram for SyFi::VectorLagrange:

SyFi::StandardFE SyFi::StandardFE SyFi::FE SyFi::FE SyFi::FE SyFi::FE SyFi::_object SyFi::_object SyFi::_object SyFi::_object SyFi::VectorDiscontinuousLagrange SyFi::VectorDiscontinuousLagrange

List of all members.

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;


Detailed Description

Proxy of C++ SyFi::VectorLagrange class

Definition at line 22 of file Lagrange.h.


Constructor & Destructor Documentation

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]

Definition at line 29 of file Lagrange.h.

00029 {}


Member Function Documentation

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         }


Member Data Documentation

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

Reimplemented from SyFi::StandardFE.

Reimplemented in SyFi::VectorDiscontinuousLagrange.

Definition at line 2158 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Reimplemented in SyFi::VectorDiscontinuousLagrange.

Definition at line 2145 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Reimplemented in SyFi::VectorDiscontinuousLagrange.

Definition at line 2146 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Reimplemented in SyFi::VectorDiscontinuousLagrange.

Definition at line 2142 of file SyFi.py.

SyFi::VectorLagrange::__swig_destroy__ = _SyFi.delete_VectorLagrange [static, private]

Reimplemented from SyFi::StandardFE.

Reimplemented in SyFi::VectorDiscontinuousLagrange.

Definition at line 2157 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Reimplemented in SyFi::VectorDiscontinuousLagrange.

Definition at line 2143 of file SyFi.py.

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

Reimplemented from SyFi::StandardFE.

Reimplemented in SyFi::VectorDiscontinuousLagrange.

Definition at line 2140 of file SyFi.py.

unsigned int SyFi::VectorLagrange::size [protected]

Definition at line 25 of file Lagrange.h.

Referenced by compute_basis_functions(), set_size(), and VectorLagrange().

Reimplemented from SyFi::StandardFE.

Reimplemented in SyFi::VectorDiscontinuousLagrange.

Definition at line 2156 of file SyFi.py.


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