|
SyFi 0.3
|
#include <P0.h>
Public Member Functions | |
| P0 () | |
| P0 (Polygon &p, unsigned int order=0) | |
| virtual | ~P0 () |
| virtual void | compute_basis_functions () |
| def | __init__ |
| def | compute_basis_functions |
Public Attributes | |
| this | |
Static Private Attributes | |
| dictionary | __swig_setmethods__ = {} |
| tuple | __setattr__ = lambdaself,name,value:_swig_setattr(self, P0, name, value) |
| dictionary | __swig_getmethods__ = {} |
| tuple | __getattr__ = lambdaself,name:_swig_getattr(self, P0, name) |
| __repr__ = _swig_repr | |
| __swig_destroy__ = _SyFi.delete_P0 | |
| __del__ = lambdaself:None; | |
| SyFi::P0::P0 | ( | ) |
Definition at line 13 of file P0.cpp.
References SyFi::StandardFE::description.
: StandardFE() { description = "P0"; }
| SyFi::P0::P0 | ( | Polygon & | p, |
| unsigned int | order = 0 |
||
| ) |
Definition at line 18 of file P0.cpp.
References compute_basis_functions().
: StandardFE (p,order) { compute_basis_functions(); }
| def SyFi::P0::__init__ | ( | self, | |
| args | |||
| ) |
__init__(self) -> P0 __init__(self, Polygon p, unsigned int order = 0) -> P0 __init__(self, Polygon p) -> P0
Reimplemented from SyFi::StandardFE.
| void SyFi::P0::compute_basis_functions | ( | ) | [virtual] |
Reimplemented from SyFi::StandardFE.
Definition at line 23 of file P0.cpp.
References SyFi::StandardFE::description, SyFi::StandardFE::dofs, SyFi::istr(), SyFi::Polygon::no_vertices(), SyFi::StandardFE::Ns, SyFi::StandardFE::p, and SyFi::Polygon::vertex().
Referenced by main(), and P0().
{
// remove previously computed basis functions and dofs
Ns.clear();
dofs.clear();
if ( p == NULL )
{
throw(std::logic_error("You need to set a polygon before the basisfunctions can be computed"));
}
// insert basis function
Ns.insert(Ns.end(), GiNaC::numeric(1));
GiNaC::lst midpoint = GiNaC::lst();
// create and insert dof
// p is a lst
if (GiNaC::is_a<GiNaC::lst>(p->vertex(0)))
{
for (unsigned int d=0; d< p->vertex(1).nops(); d++)
{
midpoint.append(GiNaC::numeric(0));
}
for (unsigned int i=0; i< p->no_vertices(); i++)
{
int nops;
nops = p->vertex(i).nops();
for (int d=0; d< nops; d++)
{
midpoint.let_op(d) += p->vertex(i).op(d);
}
}
for (unsigned int d=0; d< p->vertex(1).nops(); d++)
{
midpoint.let_op(d) = midpoint.op(d)/p->no_vertices();
}
}
else
{
midpoint.append(GiNaC::numeric(0));
for (unsigned int i=0; i< p->no_vertices(); i++)
{
midpoint.let_op(0) += p->vertex(i);
}
midpoint.let_op(0) = midpoint.op(0)/p->no_vertices();
}
dofs.insert(dofs.end(), midpoint);
description = istr("P0_" , midpoint.nops()) + "D";
}
| def SyFi::P0::compute_basis_functions | ( | self | ) |
compute_basis_functions(self)
Reimplemented from SyFi::StandardFE.
SyFi::P0::__del__ = lambdaself:None; [static, private] |
Reimplemented from SyFi::StandardFE.
tuple SyFi::P0::__getattr__ = lambdaself,name:_swig_getattr(self, P0, name) [static, private] |
Reimplemented from SyFi::StandardFE.
SyFi::P0::__repr__ = _swig_repr [static, private] |
Reimplemented from SyFi::StandardFE.
tuple SyFi::P0::__setattr__ = lambdaself,name,value:_swig_setattr(self, P0, name, value) [static, private] |
Reimplemented from SyFi::StandardFE.
SyFi::P0::__swig_destroy__ = _SyFi.delete_P0 [static, private] |
Reimplemented from SyFi::StandardFE.
dictionary SyFi::P0::__swig_getmethods__ = {} [static, private] |
Reimplemented from SyFi::StandardFE.
dictionary SyFi::P0::__swig_setmethods__ = {} [static, private] |
Reimplemented from SyFi::StandardFE.
Reimplemented from SyFi::StandardFE.