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
def B(x): # get contrived ice hardness for location if x <= exactsolns.xg: _, Bexact = exactsolns.exactBodBueler(x) return Bexact else: return exactsolns.Bg