本文整理汇总了Python中renderer.Renderer.get_flow方法的典型用法代码示例。如果您正苦于以下问题:Python Renderer.get_flow方法的具体用法?Python Renderer.get_flow怎么用?Python Renderer.get_flow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类renderer.Renderer
的用法示例。
在下文中一共展示了Renderer.get_flow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from renderer import Renderer [as 别名]
# 或者: from renderer.Renderer import get_flow [as 别名]
#.........这里部分代码省略.........
for j, t in enumerate(self.tri):
if (n1 in t) or (n2 in t):
label[j] = E_hessian_idx[k][i]
self.labels_hess[:,k] = label
#Renderer
self.renderer = Renderer(distmesh, self._vel, flow, self.nx, im, cuda, eps_Z, eps_J, eps_M, self.labels, self.labels_hess, self.Q, showtracking = True)
#stats = Statistics()
stats.meshpts = self.N
stats.gridsize = distmesh.h0
stats.nzj = np.sum(self.J)/2+(self.N*4)/2
stats.hessinc[0] = 2+(stats.meshpts*4)*(stats.meshpts*4)
stats.jacinc[0] = 2+stats.meshpts*4*2
stats.hessincsparse[0] = 2+(stats.nzj)*2
try:
stats.jacobianpartitions = len(self.E)
stats.hessianpartitions = len(self.E_hessian)
except AttributeError:
pass
def __del__(self):
self.renderer.__del__()
def update_orientation(self):
ver = self.vertices()
a = ver[self.tri[:,1],:] - ver[self.tri[:,0],:]
b = ver[self.tri[:,2],:] - ver[self.tri[:,0],:]
self.ori = np.sign(np.cross(a,b))
self.sineface = np.zeros(len(a))
for i in range(len(a)):
self.sineface[i] = np.cross(a[i,:],b[i,:])/(np.linalg.norm(a[i,:])*np.linalg.norm(b[i,:]))
def get_flow(self):
return self.renderer.get_flow()
def size(self):
return self.X.shape[0]
def refresh(self, multi_idx = -1, hess = False):
if not hess:
self.renderer.update_vertex_buffer(self.vertices(), self.velocities(), multi_idx)
else:
self.renderer.update_vertex_buffer(self.vertices(), self.velocities(), multi_idx, hess)
@counter(stats.renders, [1])
def render(self):
self.renderer.render()
#@timer_counter(stats.stateupdatecount, stats.stateupdatetime)
@timer_counter(stats.stateupdatetc, [1])
def update(self, y_im, y_flow, y_m):
if self.multi:
(Hz, Hz_components) = self._jacobian_multi(y_im, y_flow, y_m)
else:
(Hz, Hz_components) = self._jacobian(y_im, y_flow, y_m)
if self.sparse:
if self.multi:
HTH = self._hessian_sparse_multi(y_im, y_flow, y_m)
else:
HTH = self._hessian_sparse(y_im, y_flow, y_m)
else:
HTH = self._hessian(y_im, y_flow, y_m)
return (Hz, HTH, Hz_components)
@timer_counter(stats.jacobianrenderstc, stats.jacinc)