Пример #1
0
 def bilin_mortar(u, v, w):
     ju = (-1.)**j * dot(u, w.n)
     jv = (-1.)**i * dot(v, w.n)
     nxn = prod(w.n, w.n)
     mu = .5 * ddot(nxn, C(sym_grad(u)))
     mv = .5 * ddot(nxn, C(sym_grad(v)))
     return ((1. / (alpha * w.h) * ju * jv - mu * jv - mv * ju) *
             (np.abs(w.x[1]) <= limit))
Пример #2
0
def penalty_2(u, v, w):
    return ddot(-dd(v), prod(w.n, w.n)) * dot(grad(u), w.n)
Пример #3
0
 def lin_mortar(v, w):
     jv = (-1.)**i * dot(v, w.n)
     mv = .5 * ddot(prod(w.n, w.n), C(sym_grad(v)))
     return ((1. / (alpha * w.h) * gap(w.x) * jv - gap(w.x) * mv) *
             (np.abs(w.x[1]) <= limit))