Toggle Light / Dark / Auto color theme
Toggle table of contents sidebar
Source code for Muscat.FE.WeakForms.PythonNumericalWeakFrom
[docs]
class PyWeakMonom ( object ):
def __init__ ( self ):
super () . __init__ ()
self . prefactor = 1
self . prod = []
[docs]
def AddProd ( self , term ):
self . prod . append ( term )
[docs]
def GetNumberOfProds ( self ):
return len ( self . prod )
[docs]
def GetProd ( self , n ):
return self . prod [ n ]
[docs]
def hasVariable ( self , var ):
for m in self :
if m . fieldName == str ( var ):
return True
return False
def __str__ ( self ):
res = str ( self . prefactor )
for i in range ( self . GetNumberOfProds ()):
res += "*"
res += str ( self . GetProd ( i ))
return res
def __iter__ ( self ):
return iter ( self . prod )
[docs]
def copy ( self ):
import copy
return copy . deepcopy ( self )
[docs]
class PyWeakTerm ( object ):
EnumError = - 1
EnumNormal = 0
EnumConstant = 1
EnumUnknownField = 2
EnumTestField = 3
EnumExtraField = 4
EnumExtraIPField = 5
def __init__ ( self ):
super () . __init__ ()
self . fieldName = ""
self . derCoordName = ""
self . derDegree = - 1
self . constant = False
self . normal = False
# internal data repr for integration
self . internalType = PyWeakTerm . EnumError
self . spaceIndex_ = None
self . numberingIndex_ = None
self . valuesIndex_ = None
self . modeIndex_ = None
self . derCoordIndex_ = None
def __str__ ( self ):
res = ""
if self . derDegree > 0 and self . normal == 0 :
# #res += "d" + self.fieldName + "/" + "d" + str(self.derCoordName)
res += (
"Derivative("
+ str ( self . fieldName )
+ ", "
+ str ( self . derCoordName )
+ ","
+ str ( self . derDegree )
+ ")"
)
else :
res += self . fieldName
return res
[docs]
def copy ( self ):
import copy
return copy . deepcopy ( self )
[docs]
def CheckIntegrity ( GUI : bool = False ):
return "ok"
if __name__ == "__main__" :
print ( CheckIntegrity ( GUI = True )) # pragma: no cover