Beispiel #1
0

for mu in w.active_indices():
    print
    print "=" * 80
    print mu
    print np.array([b0[mu].coeffs.array(), b1[mu].coeffs.array(), b2[mu].coeffs.array(), bl[mu].coeffs.array()]).T


b = b2
B = []
for mu in b.active_indices():
    B += [b[mu].array]
print np.array(B)
print pde.assemble_operator(coeff_field.mean_func, w[Multiindex()].basis)._matrix.array()
print pde.assemble_operator_inner_dofs(coeff_field[0][0], w[Multiindex()].basis)._matrix.array()
# sys.exit(0)


P = PreconditioningOperator(coeff_field.mean_func, pde.assemble_solve_operator)
w, zeta, numit = pcg(A, b, P, w0=w, eps=pcg_eps, maxiter=pcg_maxiter)

# for mu in w.active_indices():
#    pde.set_dirichlet_bc_entries(w[mu], homogeneous=bool(mu.order!=0))
# w, zeta = pcg_solve(A, w, coeff_field, pde, {}, pcg_eps, pcg_maxiter)
# numit = -1

logger.info("PCG finished with zeta=%f after %i iterations", zeta, numit)

if True:
    for mu in w.active_indices():