def flax(UL, UR, zl, zr, hdt): dmas = np.zeros(2) dmen = dmas g = 9.8 ul = UL[1] / (UL[0] + 1e-8) * (UL[0] >= 1e-3) + 0.0 # La velocidad de la celda UL ur = UR[1] / (UR[0] + 1e-8) * (UR[0] >= 1e-3) + 0.0 # La velocidad de la celda UR alfa0 = hdt alfa1 = 0 # Hallamos entonces D+ y D- en i+1/2 difz = zr - zl vecdifz = [difz, 0] t = g * (UL[0] + UR[0]) * 0.5 * difz vect = [0, t] dmas = 0.5 * alfa0 * (UR - UL + vecdifz) + 0.5 * (1 + alfa1) * ( F.F(UR) - F.F(UL) + vect) dmen = -0.5 * alfa0 * (UR - UL + vecdifz) + 0.5 * (1 - alfa1) * ( F.F(UR) - F.F(UL) + vect) return dmas, dmen
def HLL(UL,UR,zl,zr) : dmas = np.zeros(2) dmen = dmas g = 9.8 ul = UL[1]/(UL[0]+1e-8)*(UL[0]>=1e-3)+0.0 # La velocidad de la celda UL ur = UR[1]/(UR[0]+1e-8)*(UR[0]>=1e-3)+0.0 # La velocidad de la celda UR c_1 = ul-np.sqrt(9.8*UL[0]) c = ur-np.sqrt(9.8*UR[0]) if c < c_1 : c_1 = c c_2 = ul+np.sqrt(9.8*UL[0]) c = ur+np.sqrt(9.8*UR[0]) if c > c_2 : c_2 = c if (abs(c_2-c_1)>1.e-8): alfa0 = (c_2*abs(c_1)-c_1*abs(c_2))/(c_2-c_1) alfa1 = (abs(c_2)-abs(c_1))/(c_2-c_1) else: alfa0=0.0 alfa1=0.0 # Hallamos entonces D+ y D- en i+1/2 difz = zr - zl vecdifz = [difz,0] t = g*(UL[0]+UR[0])*0.5*difz vect = [0,t] dmas = 0.5*alfa0*(UR-UL+vecdifz) + 0.5*(1+alfa1)*(F.F(UR)-F.F(UL) + vect) dmen = -0.5*alfa0*(UR-UL+vecdifz) + 0.5*(1-alfa1)*(F.F(UR)-F.F(UL) + vect) return dmas,dmen
Entry.objects.all()[:5] #LIMIT5 Entry.objects.all()[5:10] Entry.objects.all()[:10:2] #Every second object of the first 10: Entry.objects.order_by('headline')[0] #The same as the next query Entry.objects.order_by('headline')[0:1].get() }}} *Delete Update {{{ publishers = Publisher.objects.all() publishers.delete() publishers.update(status='inactive') }}} *Filters can reference fields on the mode {{{ from django.db.models import F Entry.objects.filter(n_comments__gt=F('n_pingbacks')) Entry.objects.filter(n_comments__gt=F('n_pingbacks') * 2) Entry.objects.filter(rating__lt=F('n_comments') + F('n_pingbacks')) Entry.objects.filter(authors__name=F('blog__name')) # the author's name is the same as the blog name Proxy.objects.all().update(value= not F('value')) # invert the value }}} *Q Object {{{ Poll.objects.get( Q(question__startswith='Who'), Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6)) ) Poll.objects.get( Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6)), question__startswith='Who' )
# 3. startswith(以开头),endswith(以结尾) # 4. 空查询 isnull # BooksInfo.objects.filter(btitle__isnull=True) # 5. 范围查询 in # BooksInfo.objects.filter(id_in=[1,3,5]) # 6. 比较查询 gt(大于), lt(less than), gte(大于等于), lte(小于等于) # 7.日期查询 year(年), month(月), day(日) # 大于某个日期, from datetime import date # BooksInfo.objects.filter(bpub_date_gt=date(2001)) # exclude: 不满足数据的 # order_by('id') 排序 # F对象: 用于比较 import django.db.models from F BookInfo.objects.filter(bread__gt=F('bcomment') * 2) # Q对象: 用于查询条件之间的逻辑关系not and or # 大于3或阅读大于30 BookInfo.objects.filter(Q(id__gt=3)|(bread__gt=30)) # id不等于3 BookInfo.objects.filter(~Q(id=3)) # 聚合函数 # sum,count, avg, max, min # aggregate调用来聚合 from django.db.models import Sum,Count,Max,Min,Avg BookInfo.objects.aggregate((Count('id'))) """ 查询集 """