Hi all,
I have a weak for the momentum balance equation in linear elasticity and I was just wondering what is the difference between the two solving methods in fenics?
Just using solve and specifying parameters:
res = m(avg(aold, anew, alpha_m), v_) + c(pold, avg(vold, vnew, alpha_f), v_) \
+ k(pold, avg(uold, u, alpha_f), v_)
a_form = lhs(res)
L_form = rhs(res)
solve(a_form == L_form, unew, bc_u, solver_parameters={'linear_solver': 'mumps'})
versus using LUSolver: (snippet of code from Bleyer’s Code
res = m(avg(aold, anew, alpha_m), v_) + c(pold, avg(vold, vnew, alpha_f), v_) \
+ k(pold, avg(uold, u, alpha_f), v_)
a_form = lhs(res)
L_form = rhs(res)
# Define solver for reusing factorization
K, res = assemble_system(a_form, L_form, bc_u)
solver = LUSolver(K, "mumps")
solver.parameters["symmetric"] = True
res = assemble(L_form)
[bc.apply(res) for bc in bc_u] #bc_u.apply(res)
solver.solve(K, unew.vector(), res)
Any help would be appreciated thank you!