예제 #1
0
def getsides(x):
    if x <= xg:
       H, u, _ = exactBod(x)
       T, B = exactBodBueler(x)
       dH, du = ddx_exactBod(x)
       LL = np.array([[(2.0/n)*B*H*du**q, 0,     0],
                      [H,                 u,     0],
                      [0,                 -rg*H, 1]])
       RR = np.array([[0,       -2.0*B*du**(1.0/n), 1],
                      [-dH,     -du,                0],
                      [-k*rg*H, -k*rg*u+rg*dH,      0]])
    else:
       H, u = exactVeen(x)
       dH, du = ddx_exactVeen(x)
       LL = np.array([[(2.0/n)*Bg*H*du**q, 0,           0],
                      [H,                  u,           0],
                      [0,                  -omega*rg*H, 1]])
       RR = np.array([[0,   -2.0*Bg*du**(1.0/n), 1],
                      [-dH, -du,                 0],
                      [0,   omega*rg*dH,         0]])
    return LL, RR
예제 #2
0
def B(x):       # get contrived ice hardness for location
  if x <= exactsolns.xg:
      _, Bexact = exactsolns.exactBodBueler(x)
      return Bexact
  else:
      return exactsolns.Bg