SyFi  0.3
demos.crouzeixraviart.CrouzeixRaviart Class Reference

List of all members.

Public Member Functions

def __init__
def compute_basis_functions
def N
def dof
def nbf

Public Attributes

 Ns
 dofs
 polygon

Detailed Description

  Python implementation of the Crouzeix-Raviart element. 
  The corresponding C++ implementation is in the 
  file CrouzeixRaviart.cpp.

Definition at line 11 of file crouzeixraviart.py.


Constructor & Destructor Documentation

def demos.crouzeixraviart.CrouzeixRaviart.__init__ (   self,
  polygon 
)
Constructor 

Definition at line 18 of file crouzeixraviart.py.

00018 
00019   def __init__(self, polygon):  
00020     """ Constructor """
00021     self.Ns = []
00022     self.dofs = []
00023     self.polygon = polygon 
00024     self.compute_basis_functions()


Member Function Documentation

Compute the basis functions and degrees of freedom  
and put them in Ns and dofs, respectively. 

Definition at line 25 of file crouzeixraviart.py.

References SyFi.bernstein(), SyFi::CrouzeixRaviart.compute_basis_functions(), SyFi.dirac(), demos.crouzeixraviart.CrouzeixRaviart.dofs, and SyFi::StandardFE.dofs.

00025 
00026   def compute_basis_functions(self): 
00027     """ 
00028     Compute the basis functions and degrees of freedom  
00029     and put them in Ns and dofs, respectively. 
00030     """
00031     polspace = bernstein(1,triangle,"a")
00032     N = polspace[0]
00033     variables = polspace[1]
00034 
00035     for i in range(0,3): 
00036       line = triangle.line(i)
00037       dofi = line.integrate(N) 
00038       self.dofs.append(dofi)
00039 
00040     for i in range(0,3): 
00041       equations = []
00042       for j in range(0,3): 
00043         equations.append(relational(self.dofs[j], dirac(i,j)))
00044       sub = lsolve(equations, variables) 
00045       Ni = N.subs(sub) 
00046       self.Ns.append(Ni); 

Definition at line 48 of file crouzeixraviart.py.

References SyFi::StandardFE.dof().

00048 
  def dof(self,i): return self.dofs[i]
def demos.crouzeixraviart.CrouzeixRaviart.N (   self,
  i 
)

Definition at line 47 of file crouzeixraviart.py.

References SyFi::StandardFE.N().

00047 
  def N(self,i): return self.Ns[i]

Definition at line 49 of file crouzeixraviart.py.

References SyFi::StandardFE.nbf(), demos.crouzeixraviart.CrouzeixRaviart.Ns, and SyFi::StandardFE.Ns.

00049 
00050   def nbf(self): return len(self.Ns)
00051 


Member Data Documentation

demos::crouzeixraviart.CrouzeixRaviart::polygon

Definition at line 18 of file crouzeixraviart.py.


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