My question is regarding the trial function (solution) that is ‘u’ in most of the tutorials seen in the documentation. When we write solve(a,L,u), does the program automatically convert the u into a vector even if not explicitly stated?
If you solve a linear problem, you use a TrialFunction
to define your bi-linear form a(u, v)
.
When solving, you need to explicitly send in a function uh
(confusingly many people use u=Function(V)
instead of uh= Function(V)
to denote the approximate solution we are getting.
I.e. I would recommend using
u = TrialFunction(V)
v = TestFunction(V)
a = .....
uh = Function(V)
solve(a==L, uh)