Exemplo n.º 1
0
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
Exemplo n.º 2
0
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'
)
Exemplo n.º 4
0
    # 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')))

""" 查询集 """