SyFi  0.3
SyFi::TensorLagrange Class Reference

#include <Lagrange.h>

Inheritance diagram for SyFi::TensorLagrange:
SyFi::StandardFE SyFi::StandardFE SyFi::FE SyFi::FE SyFi::FE SyFi::FE

List of all members.

Public Member Functions

 TensorLagrange ()
 TensorLagrange (Polygon &p, unsigned int order=1, unsigned int size=0)
 ~TensorLagrange ()
virtual void set_size (unsigned int size_)
virtual void compute_basis_functions ()
def __init__
def set_size

Static Public Attributes

tuple thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')

Protected Attributes

unsigned int size

Static Private Attributes

 __repr__ = _swig_repr
 __swig_destroy__ = _SyFi.delete_TensorLagrange

Detailed Description

Proxy of C++ SyFi::TensorLagrange class

Definition at line 49 of file Lagrange.h.


Constructor & Destructor Documentation

Definition at line 460 of file Lagrange.cpp.

References SyFi::StandardFE::description.

                                       : StandardFE()
        {
                description = "TensorLagrange";
        }
SyFi::TensorLagrange::TensorLagrange ( Polygon p,
unsigned int  order = 1,
unsigned int  size = 0 
)

Definition at line 465 of file Lagrange.cpp.

References compute_basis_functions(), SyFi::nsd, and size.

                                                                                         : StandardFE(p, order)
        {
                size = size_ < 0 ? nsd: size_;
                compute_basis_functions();
        }

Definition at line 56 of file Lagrange.h.

{}
def SyFi::TensorLagrange::__init__ (   self,
  args 
)
__init__(self) -> TensorLagrange
__init__(self, Polygon p, unsigned int order = 1, unsigned int size = 0) -> TensorLagrange
__init__(self, Polygon p, unsigned int order = 1) -> TensorLagrange
__init__(self, Polygon p) -> TensorLagrange

Reimplemented from SyFi::StandardFE.

Definition at line 2139 of file SyFi.py.

02139 
02140     def __init__(self, *args): 
02141         """
02142         __init__(self) -> TensorLagrange
02143         __init__(self, Polygon p, unsigned int order = 1, unsigned int size = 0) -> TensorLagrange
02144         __init__(self, Polygon p, unsigned int order = 1) -> TensorLagrange
02145         __init__(self, Polygon p) -> TensorLagrange
02146         """
        _SyFi.TensorLagrange_swiginit(self,_SyFi.new_TensorLagrange(*args))

Member Function Documentation

Reimplemented from SyFi::StandardFE.

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

        {

                // remove previously computed basis functions and dofs
                Ns.clear();
                dofs.clear();

                if ( order < 1 )
                {
                        throw(std::logic_error("Lagrangian elements must be of order 1 or higher."));
                }

                if ( p == NULL )
                {
                        throw(std::logic_error("You need to set a polygon before the basisfunctions can be computed"));
                }

                if ( size == 0)
                {
                        throw(std::logic_error("You need to set the size of the vector before the basisfunctions can be computed"));
                }

                Lagrange fe;
                fe.set_order(order);
                fe.set_polygon(*p);
                fe.compute_basis_functions();
                GiNaC::lst zero_list;
                for (unsigned int s=1; s<= size*size ; s++)
                {
                        zero_list.append(0);
                }

                for (unsigned int r=0; r< size ; r++)
                {
                        for (unsigned int s=0; s< size ; s++)
                        {
                                for (unsigned int i=0; i< fe.nbf() ; i++)
                                {
                                        GiNaC::lst Nis = zero_list;
                                        Nis.let_op((size)*r + s) = fe.N(i);
                                        GiNaC::ex Nmat = GiNaC::matrix(size,size,Nis);
                                        Ns.insert(Ns.end(), Nmat);

                                        GiNaC::lst dof = GiNaC::lst(fe.dof(i), r, s) ;
                                        dofs.insert(dofs.end(), dof);
                                }
                        }
                }

                description = "Tensor" + fe.str();
        }
void SyFi::TensorLagrange::set_size ( unsigned int  size_) [virtual]

Definition at line 523 of file Lagrange.cpp.

References size.

Referenced by set_size().

        {
                size = size_;
        }
def SyFi::TensorLagrange::set_size (   self,
  args 
)
set_size(self, unsigned int size_)

Definition at line 2148 of file SyFi.py.

References SyFi.new_instancemethod, and set_size().

02148 
02149     def set_size(self, *args):
02150         """set_size(self, unsigned int size_)"""
02151         return _SyFi.TensorLagrange_set_size(self, *args)
02152 
TensorLagrange.set_size = new_instancemethod(_SyFi.TensorLagrange_set_size,None,TensorLagrange)

Member Data Documentation

Reimplemented from SyFi::StandardFE.

Definition at line 2138 of file SyFi.py.

SyFi::TensorLagrange::__swig_destroy__ = _SyFi.delete_TensorLagrange [static, private]

Reimplemented from SyFi::StandardFE.

Definition at line 2147 of file SyFi.py.

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

Definition at line 52 of file Lagrange.h.

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

tuple SyFi::TensorLagrange::thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') [static]

Reimplemented from SyFi::StandardFE.

Definition at line 2137 of file SyFi.py.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines