def blade_elt_area(self, leaf_key, Lshape, Lwshape, sr_base, sr_top):
""" surface of a blade element, positioned with two relative curvilinear absisca"""
S=0
sr_base = min([1,max([0,sr_base])])
sr_top = min([1,max([sr_base,sr_top])])
if leaf_key is not None:
s,r = self.get_sr(leaf_key)
sre = [sr for sr in zip(s,r) if (sr_base < sr[0] < sr_top)]
if len(sre) > 0:
se,re = zip(*sre)
snew = [sr_base] + list(se) + [sr_top]
rnew = [numpy.interp(sr_base,s,r)] + list(re) + [numpy.interp(sr_top,s,r)]
else:
snew = [sr_base, sr_top]
rnew = [numpy.interp(sr_base,s,r), numpy.interp(sr_top,s,r)]
S = simps(rnew,snew) * Lshape * Lwshape
return S
评论列表
文章目录