|
@@ -155,7 +155,7 @@ class model:
|
|
|
#generate total from self.uTotal
|
|
|
#ignore derivatives; uTotal is just a scaling shorthand
|
|
|
if function.contains(self.uTotal):
|
|
|
- self.du[self.lut['total']]=function.Object(sumArray(self.uTotal),[])
|
|
|
+ self.du[self.lut['total']]=function.Object(function.sumArray(self.uTotal),[])
|
|
|
else:
|
|
|
self.fu[self.lut['total']]=sum(self.uTotal)
|
|
|
#build SE part
|
|
@@ -415,12 +415,14 @@ class model:
|
|
|
return self.fu
|
|
|
|
|
|
def Su(self,t):
|
|
|
+ w=self.getWeights(self.lutSE)
|
|
|
+ w=numpy.sqrt(w)
|
|
|
#add time dependent values
|
|
|
for x in self.du:
|
|
|
D=self.du[x]['derivatives']
|
|
|
for p in D:
|
|
|
k=self.lutSE[p]
|
|
|
- self.fSu[self.lutSE[p],self.lut[x]]=w[k]*D[p](t)
|
|
|
+ self.fSu[k,self.lut[x]]=w[k]*D[p](t)
|
|
|
return self.fSu
|
|
|
|
|
|
def jacobiFull(self,t):
|
|
@@ -428,8 +430,8 @@ class model:
|
|
|
#update jacobi created during build phase with time dependent values
|
|
|
for i in self.dM:
|
|
|
for j in self.dM[i]:
|
|
|
- for k in range(system.m+1):
|
|
|
- self.fJ[k*system.n+i,k*system.n+j]=self.dM[i][j](t)
|
|
|
+ for k in range(self.m+1):
|
|
|
+ self.fJ[k*self.n+i,k*self.n+j]=self.dM[i][j](t)
|
|
|
return self.fJ
|
|
|
|
|
|
|