fenics team mailing list archive
-
fenics team
-
Mailing list archive
-
Message #00538
pde.solve() command parameters
Hi.
I am trying to use fenics to solve a 2D elasticity problem. I have written
and compiled a .form file using ffc with no problem. However, when I try to
compile the main.cpp file that I've written, I get this error message:
main.cpp: In function 'int main(int, char**)':
main.cpp:177: error: no matching function for call to
'dolfin::LinearPDE::solve(dolfin::Function&, dolfin::Function&,
dolfin::Function&, dolfin::Function&)'
/home/grad/chabaud/local/include/dolfin/pde/LinearPDE.h:53: note:
candidates are: void dolfin::LinearPDE::solve(dolfin::Function&)
/home/grad/chabaud/local/include/dolfin/pde/LinearPDE.h:56: note: void
dolfin::LinearPDE::solve(dolfin::Function&, dolfin::Function&)
/home/grad/chabaud/local/include/dolfin/pde/LinearPDE.h:59: note: void
dolfin::LinearPDE::solve(dolfin::Function&, dolfin::Function&,
dolfin::Function&)
scons: *** [main.o] Error 1
scons: building terminated because of errors.
The offending line in my cpp file seems to be
pde.solve(sigma,u,p,epsilon);
The lines immediately above it are
// Set up PDE
SolidBilinearForm a(n);
SolidLinearForm L(f1,g,u_prev,eps_prev,u0,F,uD,n);
LinearPDE pde(a,L,mesh);
// Solve PDE
Function u;
Function epsilon;
Function sigma;
Function p;
The solutions u, epsilon, sigma, p to the problem are defined in my .form
file by
Element1 = VectorElement("Discontinuous Lagrange", "triangle", 0, 4)
Element2 = VectorElement("Discontinuous Lagrange", "triangle", 0, 4)
Element3 = VectorElement("Discontinuous Lagrange", "triangle", 0)
Element4 = FiniteElement("Discontinuous Lagrange", "triangle", 0)
combo = MixedElement([Element1, Element3, Element4, Element2])
(z, v, q, w) = TestFunctions(combo)
(sigma, u, p, epsilon) = TrialFunctions(combo)
Do anyone know how to fix this error? Thanks.
Follow ups