Public Member Functions | |
def | __init__ |
def | compute_basis_functions |
def | N |
def | dof |
def | nbf |
Public Attributes | |
Ns | |
dofs | |
polygon |
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.
def demos::crouzeixraviart::CrouzeixRaviart::__init__ | ( | self, | ||
polygon | ||||
) |
Constructor
Definition at line 18 of file crouzeixraviart.py.
00018 : 00019 """ Constructor """ 00020 self.Ns = [] 00021 self.dofs = [] 00022 self.polygon = polygon 00023 self.compute_basis_functions() 00024
def demos::crouzeixraviart::CrouzeixRaviart::compute_basis_functions | ( | self | ) |
Compute the basis functions and degrees of freedom and put them in Ns and dofs, respectively.
Definition at line 25 of file crouzeixraviart.py.
00025 : 00026 """ 00027 Compute the basis functions and degrees of freedom 00028 and put them in Ns and dofs, respectively. 00029 """ 00030 polspace = bernstein(1,triangle,"a") 00031 N = polspace[0] 00032 variables = polspace[1] 00033 00034 for i in range(0,3): 00035 line = triangle.line(i) 00036 dofi = line.integrate(N) 00037 self.dofs.append(dofi) 00038 00039 for i in range(0,3): 00040 equations = [] 00041 for j in range(0,3): 00042 equations.append(relational(self.dofs[j], dirac(i,j))) 00043 sub = lsolve(equations, variables) 00044 Ni = N.subs(sub) 00045 self.Ns.append(Ni); 00046
def demos::crouzeixraviart::CrouzeixRaviart::dof | ( | self, | ||
i | ||||
) |
def demos::crouzeixraviart::CrouzeixRaviart::N | ( | self, | ||
i | ||||
) |
def demos::crouzeixraviart::CrouzeixRaviart::nbf | ( | self | ) |
Definition at line 21 of file crouzeixraviart.py.
Definition at line 20 of file crouzeixraviart.py.
demos::crouzeixraviart::CrouzeixRaviart::polygon |
Definition at line 22 of file crouzeixraviart.py.